Bereitstellen einer Container-Webanwendung auf Amazon ECS

HANDBUCH „ERSTE SCHRITTE“

Modul 1: Verständnis von Amazon ECS

In diesem Modul lernen wir Amazon Elastic Container Service (ECS) und Servicekomponenten kennen

Einführung

Der Schwerpunkt dieses Moduls liegt darin, Sie in die Konzepte von Amazon ECS einzuführen. Wir werden die Komponenten von ECS (Cluster, Aufgabendefinition, Service) behandeln, was Orchestrierung ist und wie Sie auswählen, welcher Rechentyp zum Ausführen Ihrer Container verwendet wird. Wenn Sie mit ECS bereits vertraut sind, können Sie mit Modul 2 fortfahren.

Lerninhalte

  • Was ist Amazon ECS?
  • Welche Komponenten umfasst ECS?
  • Was sind die Unterschiede zwischen der Verwendung von Amazon-EC2-Instances oder Amazon Fargate zum Ausführen Ihrer Container?

 Veranschlagte Zeit

5 Minuten

 Voraussetzungen für das Modul

  • AWS-Konto mit Administratorzugriff**
  • Empfohlener Browser: aktuelle Version von Chrome oder Firefox

[**] Innerhalb der letzten 24 Stunden erstellte Konten haben möglicherweise noch keinen Zugriff auf alle für dieses Tutorial erforderlichen Services.

Implementierung

Was ist Amazon ECS?

Amazon Elastic Container Service (oder kurz ECS) ist ein vollständig verwalteter Container-Orchestrierungsdienst, mit dem Sie containerisierte Anwendungen einfach bereitstellen, verwalten und skalieren können. ECS ist tief in die übrige AWS-Plattform integriert und bietet eine sichere und benutzerfreundliche Lösung für die Ausführung von Container-Workloads in der Cloud und jetzt auch in Ihrer Infrastruktur mit Amazon ECS Anywhere. Ein Orchestrator verwaltet den Lebenszyklus Ihres Containers, von der Bereitstellung über die Sicherstellung der Fehlerfreiheit, das Ersetzen fehlerhafter Knoten bis hin zur Abwicklung neuer Bereitstellungen.

Welche Komponenten umfasst ECS?

Ein ECS-Cluster ist ein logisches Konstrukt, das alle bereitgestellten Container in einem Cluster gruppiert. Für einen Cluster fallen keine Kosten an, nur für die Rechen- und andere Infrastruktur, die Sie zum Ausführen Ihrer Container verwenden. Um einen Container zu starten, geben Sie eine Aufgabendefinition an, die Eigenschaften wie den Speicherort des Container-Images, die CPU- und Arbeitsspeichermenge, die Protokollierungskonfiguration und vieles mehr enthält. Dadurch wird kein Container gestartet, sondern nur die gesamte Konfiguration bereitgestellt, die für die Ausführung erforderlich ist. Um ihn zu starten, definieren Sie einen Service. Im Service legen Sie fest, wie viele Kopien des Containers Sie haben möchten (oder, wenn Sie ihn auf jeder Instance ausführen möchten, einen Daemon, der auf jedem Host ausgeführt werden muss) und ECS übernimmt die Orchestrierung. Um Ihre Services dem Internet zugänglich zu machen, müssen Sie einen Application Load Balancer einrichten, um Anfragen an Ihren Service weiterzuleiten. Schließlich kann ECS so konfiguriert werden, dass es über mehrere Availability Zones (AZs) hinweg eingesetzt werden kann. Dabei wird der Einsatz automatisch auf die Anzahl der verfügbaren AZs verteilt und der Load Balancer mit den Details der einzelnen Einsätze aktualisiert, damit der Datenverkehr dorthin geleitet werden kann. 

Unten sehen Sie ein Diagramm, wie die Infrastruktur aussehen würde:

gsg-build-ecs-1

Rechenkapazitätsplanung und Optionen

ECS ist in der Lage, Services für die Ausführung auf einem EC2-Host (virtuelle Maschine) oder mit Amazon Fargate, einer Serverless Compute Engine für Container, zu planen. Beim Betrieb von Containern müssen Sie die Kapazitätsplanung berücksichtigen. Wenn in Ihrem Cluster beispielsweise 2 Hosts mit jeweils 512 MB Arbeitsspeicher verfügbar sind, zeigt der Cluster insgesamt 1024 MB Arbeitsspeicher an. Sie aber können keinen neuen Container starten, der mehr als 512 MB Arbeitsspeicher benötigt, da es keinen einzelnen Host mit genügend Arbeitsspeicher gibt. Dies kann durch den Einsatz von Kapazitätsanbietern zur automatischen Skalierung des Clusters abgemildert werden. 

Alternativ können Sie Fargate verwenden, mit dem Sie die CPU- und Speicheranforderungen für jeden Container angeben und dann die erforderliche Rechenleistung starten können, um den Container für Sie auszuführen. Der Hauptunterschied zwischen Fargate und EC2-Hosts besteht darin, dass Sie bei der Nutzung von Fargate das Betriebssystem auf dem Host nicht einrichten, verwalten oder pflegen müssen und auch keine Kapazitätsplanung vornehmen müssen, da genau die von Ihnen benötigte Kapazität bereitgestellt wird..

Zusammenfassung

In diesem Modul haben wir behandelt, was Amazon ECS ist, welche Komponenten verwendet werden und was die Unterschiede bei der Verwendung von Amazon EC2 oder Amazon Fargate sind, um Kapazität für die Ausführung Ihrer Container bereitzustellen. Im nächsten Modul erstellen wir unseren ersten ECS-Cluster.

Nächstes Thema: Erstellen einer Infrastruktur

Lassen Sie uns wissen, wie wir abgeschnitten haben.

Vielen Dank für Ihr Feedback
Wir freuen uns, dass diese Seite Ihnen geholfen hat. Würden Sie uns weitere Details mitteilen, damit wir uns weiter verbessern können?
Schließen
Vielen Dank für Ihr Feedback
Es tut uns leid, dass diese Seite Ihnen nicht weiterhelfen konnte. Würden Sie uns weitere Details mitteilen, damit wir uns weiter verbessern können?
Schließen