0Pricing
AWS Solutions Architect · Ders

EC2 Başlatma Türü ve Fargate Karşılaştırması

EC2 konteyner bulut sunucularını kendiniz yönetmekle sunucusuz konteyner çalıştırma için Fargate kullanmayı karşılaştırın ve maliyet farklarını anlayın.

EC2 Başlatma Türü ve Fargate Karşılaştırması, CoddyKit'te ücretsiz bir AWS Solutions Architect dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AWS Solutions Architect öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AWS Solutions Architect kursu toplamda 4 dersten oluşur.

ECS Görevlerini Çalıştırmanın İki Yolu

ECS, kapsayıcılarınızın nerede çalışacağını belirleyen iki başlatma türü sunar: EC2 başlatma türü, küme içinde hazırlayıp yönettiğiniz EC2 bulut sunucularında kapsayıcıları çalıştırır; Fargate başlatma türü ise temel sunucuları tamamen AWS'nin yönettiği sunucusuz bir işlem altyapısıdır. Görev tanımı ve hizmet yapılandırması ikisinde de neredeyse aynıdır—temel fark, altyapı yönetimi sorumluluğu ve maliyet modelidir.

EC2 Başlatma Türü: Tam Denetim

EC2 başlatma türünde, ECS Kapsayıcı Aracısı (ECS için optimize edilmiş AMI'lerde önceden yüklüdür) aracılığıyla EC2 bulut sunucularını kümede kapsayıcı bulut sunucuları olarak kaydedersiniz. Bulut sunucusu türlerini seçer, işletim sistemi düzeyindeki ayarları denetler, özel güvenlik temelleri uygular ve maliyetleri azaltmak için Spot Bulut Sunucularını kullanırsınız. ECS, görevleri kayıtlı bulut sunucularınıza kutu paketleme veya yayma yerleştirme stratejilerine göre yerleştirir. Temel EC2 filosuna yama uygulama, ölçeklendirme ve bakım yapma sorumluluğu size aittir.

# Launch an ECS-optimised EC2 instance that joins the cluster
# User data for ECS container agent
#!/bin/bash
echo ECS_CLUSTER=MyAppCluster >> /etc/ecs/ecs.config
echo ECS_ENABLE_CONTAINER_METADATA=true >> /etc/ecs/ecs.config

Fargate: Sunucusuz Konteynerler

Fargate ile görev başına CPU ve bellek belirtirsiniz; AWS ise altta yatan işlem kaynaklarını sizin fark etmenize gerek kalmadan sağlar. Kaydedilecek, güncellenecek veya ölçeklendirilecek EC2 bulut sunucuları yoktur; bunların tamamını AWS yönetir. Görevler, kendi yalıtılmış çekirdeğine (Firecracker microVMs aracılığıyla) sahip olur. Bu sayede birden çok görevin aynı ana bilgisayarı paylaştığı EC2 konteyner bulut sunucularına kıyasla daha güçlü güvenlik yalıtımı sağlanır. Fargate, awsvpc ağ modunu gerektirir; bu da her görevin kendine ait bir ENI ve VPC IP adresi aldığı anlamına gelir.

aws ecs run-task \
  --cluster 'MyAppCluster' \
  --task-definition 'myapp-task:5' \
  --launch-type FARGATE \
  --network-configuration '{
    "awsvpcConfiguration": {
      "subnets": ["subnet-aaa111"],
      "securityGroups": ["sg-xyz"],
      "assignPublicIp": "ENABLED"
    }
  }'

Maliyet Modeli Karşılaştırması

Maliyet modelleri temelde birbirinden farklıdır. EC2 başlatma türü: Görevler çalışıyor olsun veya olmasın, altta yatan EC2 bulut sunucuları için ödeme yaparsınız; ancak indirim için Rezerve Edilmiş Bulut Sunucuları veya Savings Plans, kesintiye toleranslı iş yüklerinde ise %90'a varan tasarruf için Spot Bulut Sunucuları kullanabilirsiniz. Fargate: Yalnızca her görev için kullanılan vCPU ve bellek kadar, saniye başına ödeme yaparsınız; görevler arasındaki boşta kalma süresi için ücret alınmaz. Dalgalı veya toplu iş yüklerinde Fargate çoğu zaman daha ucuzdur; sürekli yüksek kullanım gerektiren iş yüklerinde ise Rezerve Edilmiş Bulut Sunucularına sahip EC2 daha ucuz olabilir.

Maliyet Tasarrufu için Fargate Spot

Fargate Spot, AWS'nin kapasiteye yeniden ihtiyaç duyması durumunda kesintiye uğrama olasılığı karşılığında Fargate işlem kaynaklarını önemli ölçüde indirimli fiyatlarla (%70'e varan indirimle) sunar. Fargate Spot; toplu işleme, CI/CD işlem hatları ve geliştirme hazırlık ortamları için idealdir. Fargate (isteğe bağlı) ile Fargate Spot'u birlikte kullanmak için bir capacity provider strategy yapılandırın: En az bir garantili görev sağlamak üzere Fargate üzerinde base=1 kullanın ve kalan kapasiteyi ikisi arasında bölüştürmek için weight değerlerini belirleyin.

aws ecs create-service \
  --cluster 'MyAppCluster' \
  --service-name 'BatchService' \
  --task-definition 'batch-task:1' \
  --desired-count 10 \
  --capacity-provider-strategy \
    'capacityProvider=FARGATE,weight=1,base=1' \
    'capacityProvider=FARGATE_SPOT,weight=4'

EC2 Başlatma Türü Ne Zaman Seçilmeli

Şunlara ihtiyaç duyduğunuzda EC2 başlatma türünü seçin: GPU bulut sunucuları (Fargate'in GPU desteği sınırlıdır), Fargate'te bulunmayan belirli bulut sunucusu türleri, özel OS yapılandırması (çekirdek ayarlama, özel sürücüler), yerleştirme grupları veya gelişmiş ağ kullanımı gerektiren ağ performansı, Windows konteynerleri (EC2, Windows Server konteynerlerini destekler; Fargate de Windows'u destekler ancak bazı sınırlamalarla) ya da sürekli yüksek kullanım söz konusu olduğunda, EC2 Rezerve Edilmiş Bulut Sunucularının saniye bazlı Fargate ücretlendirmesine kıyasla önemli bir maliyet avantajı sağladığı durumlar.

Fargate Ne Zaman Seçilmeli

Şunları istediğinizde Fargate'i seçin: EC2 yönetim yükünü ortadan kaldırmak (OS güncellemesi veya küme ölçeklendirmesiyle uğraşmamak), yalnızca kullandığınız kadar saniye başına ödeme yapmak, boşta EC2 kapasitesini haklı çıkarmayan dalgalı veya toplu iş yüklerini çalıştırmak, Firecracker microVMs aracılığıyla daha güçlü görev yalıtımı elde etmek veya yalnızca uygulama koduna odaklanarak geliştirmeyi hızlandırmak. SAA-C03 sınavında, belirli bir EC2 gereksinimi belirtilmediği sürece yeni ECS iş yükleri için varsayılan öneri Fargate'tir.

ECS Kapasite Sağlayıcıları

Kapasite sağlayıcıları, işlem katmanını ECS hizmetlerinden soyutlar. EC2 için bir kapasite sağlayıcısı, bir Otomatik Ölçeklendirme Grubuna bağlanır; görevler yetersiz kapasite nedeniyle yerleştirilemediğinde ECS, ASG'yi otomatik olarak ölçeklendirir. Fargate için FARGATE ve FARGATE_SPOT yerleşik kapasite sağlayıcılarıdır. Bir hizmette capacity provider strategy tanımlamak, isteğe bağlı kapasite ile Spot/Fargate Spot kapasitesinin birlikte kullanılmasını sağlar ve her iş yükü için maliyet ile kullanılabilirlik arasındaki ödünleşimler üzerinde ayrıntılı denetim sunar.

İşletim Yükünün Karşılaştırılması

İşletim yükü, başlatma türleri arasında önemli ölçüde farklılık gösterir. EC2 başlatma türü şunları gerektirir: AMI seçimi ve güncellemeleri, EC2 Otomatik Ölçeklendirme yapılandırması, SSM veya özel betikler aracılığıyla OS güncellemesi, konteyner bulut sunucusu kapasitesi yönetimi ve bulut sunucusu düzeyinde güvenlik sıkılaştırması. Fargate bunların tamamını ortadan kaldırır; Fargate platformunun güncellenmesini AWS gerçekleştirir, yönetilecek bulut sunucuları ve planlanacak küme kapasitesi olmaz. Ancak Fargate, OS düzeyinde özelleştirme ve ağ performansını ayarlama konusunda daha az esneklik sunar.

Fargate için Görev CPU ve Bellek Boyutlandırması

Fargate görev tanımları, sabit bir kombinasyon kümesinden CPU ve bellek belirtmelidir. CPU değerleri: 256, 512, 1024, 2048, 4096, 8192, 16384 (vCPU birimleri cinsinden; 1024 = 1 vCPU). Bellek, her CPU değeri için izin verilen aralıkta olmalıdır; örneğin 256 CPU, 512-2048 MB bellek kullanımına izin verir. Görev içindeki konteynerler, görevin CPU ve bellek üst sınırını paylaşır. Doğru boyutlandırma önemlidir: Fargate tam olarak belirttiğiniz kaynaklar için ücretlendirme yaptığından, iş yükleri CPU ile sınırlıysa gereğinden fazla kaynak sağlamak gerçek bir performans avantajı olmadan para israfına yol açar.

# Valid Fargate combinations
# 256 CPU (.25 vCPU): 512, 1024, or 2048 MB
# 512 CPU (.5 vCPU): 1024 to 4096 MB
# 1024 CPU (1 vCPU): 2048 to 8192 MB
# 2048 CPU (2 vCPU): 4096 to 16384 MB
# 4096 CPU (4 vCPU): 8192 to 30720 MB

Hata Ayıklama için ECS Exec

ECS Exec, SSH veya aracı bulut sunucuları kullanmadan, çalışan bir konteynerin içinde doğrudan etkileşimli bir kabuk oturumu açmanızı sağlar (hem EC2 hem de Fargate üzerinde). Arka planda AWS Systems Manager Session Manager'ı kullanır. Hizmet üzerinde etkinleştirin ve bir bash oturumu başlatmak için execute-command CLI komutunu kullanın. Bu özellik, konteynerlerdeki üretim sorunlarında hata ayıklamak için son derece değerlidir. Görev rolünün ssmmessages:CreateControlChannel ve ilgili SSM izinlerine sahip olması gerekir.

aws ecs execute-command \
  --cluster 'MyAppCluster' \
  --task 'abc123def456' \
  --container 'myapp' \
  --interactive \
  --command '/bin/bash'

Hızlı Kontrol

Bu derste ele alınan AWS Solutions Architect (SAA-C03) kavramlarını anlayıp anlamadığınızı test edin.

Ders Özeti

Bu derste şunları öğrendiniz: EC2 başlatma türü, altta yatan bulut sunucusu filosunu yönetme karşılığında bulut sunucusu türleri ve OS yapılandırması üzerinde tam denetim sağlar; bu nedenle GPU, özel donanım veya sürekli yüksek kullanım gerektiren iş yükleri için idealdir. Fargate, saniye bazında görev ücretlendirmesi ve güçlü Firecracker yalıtımıyla altyapı yönetimini ortadan kaldırır; çoğu web/API iş yükü ve toplu iş için idealdir. Fargate Spot ise kesintiye toleranslı iş yüklerinde maliyetleri %70'e kadar azaltır. Sırada, konteyner görüntülerini depolamak ve çekmek için Amazon ECR'yi inceleyeceğiz.

Sıkça Sorulan Sorular

“EC2 Başlatma Türü ve Fargate Karşılaştırması” dersi ücretsiz mi?

Evet — “EC2 Başlatma Türü ve Fargate Karşılaştırması” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AWS Solutions Architect kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AWS Solutions Architect kursu toplamda 4 dersten oluşur.

“EC2 Başlatma Türü ve Fargate Karşılaştırması” dersinde ne öğreneceğim?

EC2 konteyner bulut sunucularını kendiniz yönetmekle sunucusuz konteyner çalıştırma için Fargate kullanmayı karşılaştırın ve maliyet farklarını anlayın. AWS Solutions Architect ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

AWS Solutions Architect öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te AWS Solutions Architect, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“EC2 Başlatma Türü ve Fargate Karşılaştırması” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu AWS Solutions Architect dersinde kod yazıp çalıştırabilir miyim?

Evet. Her AWS Solutions Architect dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. ECS Kümeleri, Görev Tanımları ve Hizmetler
  2. EC2 Başlatma Türü ve Fargate Karşılaştırması
  3. ECR: Konteyner İmajlarını Depolama ve Çekme
  4. ECS Hizmeti Otomatik Ölçeklendirme ve Yük Dengeleme
← AWS Solutions Architect Sayfasına Dön