EC2-Starttyp im Vergleich zu Fargate
Vergleichen Sie die eigenständige Verwaltung von EC2-Container-Instances mit der serverlosen Containerausführung über Fargate und verstehen Sie die Kostenabwägungen.
EC2-Starttyp im Vergleich zu Fargate ist eine kostenlose Cloud & IT Cert Prep-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cloud & IT Cert Prep-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.
Zwei Möglichkeiten zum Ausführen von ECS-Tasks
ECS bietet zwei launch types, die festlegen, wo Ihre Container ausgeführt werden: Der EC2 launch type führt Container auf EC2-Instanzen aus, die Sie innerhalb des Clusters bereitstellen und verwalten. Der Fargate launch type ist eine serverlose Rechen-Engine, bei der AWS die zugrunde liegenden Server vollständig verwaltet. Task-Definition und Service-Konfiguration sind bei beiden nahezu identisch – der wesentliche Unterschied liegt in der Verantwortung für die Infrastrukturverwaltung und im Kostenmodell.
EC2-Launch-Typ: Vollständige Kontrolle
Beim EC2 launch type registrieren Sie EC2-Instanzen mithilfe des ECS Container Agent als Container-Instanzen im Cluster (dieser ist auf für ECS optimierten AMIs vorinstalliert). Sie wählen Instanztypen aus, steuern Einstellungen auf Betriebssystemebene, wenden individuelle Sicherheitsstandards an und nutzen Spot Instances zur Kostensenkung. ECS verteilt Tasks anhand von Platzierungsstrategien wie Bin-Packing oder Verteilung auf Ihre registrierten Instanzen. Sie sind für das Patchen, Skalieren und Warten der zugrunde liegenden EC2-Flotte verantwortlich.
# 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.configFargate: Serverless-Container
Mit Fargate geben Sie CPU und Arbeitsspeicher pro Task an, und AWS stellt die zugrunde liegenden Rechenressourcen transparent bereit. Es gibt keine EC2-Instances, die registriert, gepatcht oder skaliert werden müssen – AWS verwaltet all dies. Tasks erhalten ihren eigenen isolierten Kernel (über Firecracker-MicroVMs), was eine stärkere Sicherheitsisolierung bietet als EC2-Container-Instances, auf denen sich mehrere Tasks denselben Host teilen. Fargate erfordert den Netzwerkmodus awsvpc. Das bedeutet, dass jeder Task seine eigene ENI und VPC-IP-Adresse erhält.
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"
}
}'Kostenmodell im Vergleich
Die Kostenmodelle unterscheiden sich grundlegend. EC2-Starttyp: Sie zahlen für die zugrunde liegenden EC2-Instances, unabhängig davon, ob Tasks ausgeführt werden, können aber Reserved Instances oder Savings Plans für Rabatte sowie Spot Instances für Einsparungen von bis zu 90 % bei unterbrechbaren Workloads nutzen. Fargate: Sie zahlen nur für die pro Task und Sekunde verbrauchte vCPU- und Arbeitsspeicherkapazität – zwischen Tasks fallen keine Leerlaufkosten an. Bei schwankenden oder Batch-Workloads ist Fargate häufig günstiger; bei dauerhaft hoher Auslastung kann EC2 mit Reserved Instances günstiger sein.
Fargate Spot für Kosteneinsparungen
Fargate Spot stellt Fargate-Rechenkapazität zu deutlich reduzierten Preisen (bis zu 70 % Rabatt) bereit. Im Gegenzug besteht die Möglichkeit einer Unterbrechung, wenn AWS die Kapazität zurück benötigt. Fargate Spot eignet sich ideal für Batchverarbeitung, CI/CD-Pipelines sowie Entwicklungs- und Staging-Umgebungen. Konfigurieren Sie eine Kapazitätsanbieterstrategie, um Fargate (On-Demand) und Fargate Spot zu kombinieren: Verwenden Sie base=1 für Fargate, um mindestens einen garantierten Task sicherzustellen, und weight-Werte, um die verbleibende Kapazität auf beide Anbieter aufzuteilen.
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'Wann Sie den EC2-Starttyp wählen sollten
Wählen Sie den EC2-Starttyp, wenn Sie Folgendes benötigen: GPU-Instances (Fargate bietet nur eingeschränkte GPU-Unterstützung), bestimmte Instance-Typen, die in Fargate nicht verfügbar sind, eine benutzerdefinierte Betriebssystemkonfiguration (Kernel-Tuning, benutzerdefinierte Treiber), Netzwerkleistung, die Placement Groups oder Enhanced Networking erfordert, Windows-Container (EC2 unterstützt Windows-Server-Container; Fargate unterstützt Windows ebenfalls, jedoch mit Einschränkungen) oder einen dauerhaft hohen Auslastungsgrad, bei dem EC2 Reserved Instances gegenüber der sekundengenauen Abrechnung von Fargate einen erheblichen Kostenvorteil bieten.
Wann Sie Fargate wählen sollten
Wählen Sie Fargate, wenn Sie den Verwaltungsaufwand für EC2 beseitigen möchten (keine Betriebssystem-Patches, keine Clusterskalierung), nur die tatsächliche Nutzung sekundengenau bezahlen möchten, schwankende oder Batch-Workloads ausführen, die keine ungenutzte EC2-Kapazität rechtfertigen, eine stärkere Task-Isolierung über Firecracker-MicroVMs erreichen oder die Entwicklung beschleunigen möchten, indem Sie sich vollständig auf den Anwendungscode konzentrieren. Für neue ECS-Workloads ist Fargate in der Prüfung SAA-C03 die Standardempfehlung, sofern keine spezifische EC2-Anforderung genannt wird.
ECS-Kapazitätsanbieter
Kapazitätsanbieter abstrahieren die Rechenschicht von ECS-Services. Bei EC2 ist ein Kapazitätsanbieter mit einer Auto Scaling Group verknüpft – ECS skaliert die ASG automatisch, wenn Tasks aufgrund unzureichender Kapazität nicht platziert werden können. Für Fargate sind FARGATE und FARGATE_SPOT integrierte Kapazitätsanbieter. Mit einer für einen Service definierten Kapazitätsanbieterstrategie können Sie On-Demand- und Spot-/Fargate-Spot-Kapazität kombinieren und so Kosten und Verfügbarkeit für jeden Workload differenziert gegeneinander abwägen.
Vergleich des Betriebsaufwands
Der Betriebsaufwand unterscheidet sich je nach Starttyp erheblich. Der EC2-Starttyp erfordert: Auswahl und Aktualisierung des AMI, Konfiguration der EC2 Auto Scaling, Betriebssystem-Patching über SSM oder benutzerdefinierte Skripte, Verwaltung der Kapazität von Container-Instances und die Absicherung auf Instance-Ebene. Fargate macht all dies überflüssig – AWS übernimmt das Patching der Fargate-Plattform, es müssen keine Instances verwaltet und keine Clusterkapazitäten geplant werden. Fargate bietet jedoch weniger Flexibilität bei der Anpassung auf Betriebssystemebene und bei der Optimierung der Netzwerkleistung.
Dimensionierung von Task-CPU und Arbeitsspeicher für Fargate
Fargate-Task-Definitionen müssen CPU und Arbeitsspeicher aus einer festgelegten Kombinationenmenge angeben. CPU-Werte: 256, 512, 1024, 2048, 4096, 8192, 16384 (in vCPU-Einheiten, wobei 1024 = 1 vCPU entspricht). Der Arbeitsspeicher muss innerhalb der für den jeweiligen CPU-Wert zulässigen Bereiche liegen – beispielsweise erlaubt 256 CPU zwischen 512 und 2048 MB Arbeitsspeicher. Container innerhalb des Tasks teilen sich die CPU- und Arbeitsspeicherobergrenze des Tasks. Die richtige Dimensionierung ist wichtig: Fargate rechnet exakt nach Ihren Angaben ab. Eine Überdimensionierung verursacht daher Kosten, ohne einen tatsächlichen Leistungsvorteil zu bringen, wenn die Workloads CPU-begrenzt sind.
# 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 MBECS Exec zum Debuggen
ECS Exec ermöglicht es Ihnen, direkt in einem laufenden Container (sowohl auf EC2 als auch auf Fargate) eine interaktive Shell-Sitzung zu öffnen – ohne SSH oder Bastion Hosts. Im Hintergrund wird AWS Systems Manager Session Manager verwendet. Aktivieren Sie die Funktion für den Service und verwenden Sie die execute-command-CLI, um eine Bash-Sitzung zu starten. Dies ist für das Debuggen von Problemen in Produktionscontainern äußerst hilfreich. Die Task-Rolle benötigt ssmmessages:CreateControlChannel und zugehörige SSM-Berechtigungen.
aws ecs execute-command \
--cluster 'MyAppCluster' \
--task 'abc123def456' \
--container 'myapp' \
--interactive \
--command '/bin/bash'Kurze Überprüfung
Testen Sie Ihr Verständnis der AWS-Solutions-Architect-Konzepte (SAA-C03) aus dieser Lektion.
Zusammenfassung der Lektion
In dieser Lektion haben Sie gelernt: Der EC2-Starttyp bietet vollständige Kontrolle über Instance-Typen und Betriebssystemkonfiguration, erfordert dafür aber die Verwaltung der zugrunde liegenden Flotte – ideal für GPU-, spezialisierte Hardware- oder dauerhaft stark ausgelastete Workloads. Fargate beseitigt die Infrastrukturverwaltung durch sekundengenaue Abrechnung pro Task und starke Firecracker-Isolierung – ideal für die meisten Web-/API-Workloads und Batch-Jobs. Fargate Spot senkt die Kosten bei unterbrechungstoleranten Workloads um bis zu 70 %. Als Nächstes sehen wir uns Amazon ECR zum Speichern und Abrufen von Container-Images an.
Häufig gestellte Fragen
Ist die Lektion „EC2-Starttyp im Vergleich zu Fargate“ kostenlos?
Ja — der vollständige Text von „EC2-Starttyp im Vergleich zu Fargate“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cloud & IT Cert Prep-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „EC2-Starttyp im Vergleich zu Fargate“?
Vergleichen Sie die eigenständige Verwaltung von EC2-Container-Instances mit der serverlosen Containerausführung über Fargate und verstehen Sie die Kostenabwägungen. Du übst Cloud & IT Cert Prep mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cloud & IT Cert Prep zu starten?
Keine Vorkenntnisse erforderlich. Cloud & IT Cert Prep auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „EC2-Starttyp im Vergleich zu Fargate“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cloud & IT Cert Prep-Lektion Code schreiben und ausführen?
Ja. Jede Cloud & IT Cert Prep-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- ECS-Cluster, Task-Definitionen und Services
- EC2-Starttyp im Vergleich zu Fargate
- ECR: Container-Images speichern und abrufen
- Automatische ECS-Service-Skalierung und Load Balancing