Mit Amazon Elastic Container Service (Amazon ECS) können Sie auf einfache Weise Docker-Container-Anwendungen in AWS ausführen, skalieren und sichern. Lokal als Container gepackte Anwendungen lassen sich auf dieselbe Weise bereitstellen und ausführen wie Container, die durch Amazon ECS verwaltet werden. Mit Amazon ECS entfällt das Erfordernis, Ihre eigene Container-Orchestrierungs- und Cluster-Management-Infrastruktur zu installieren, zu betreiben und zu skalieren, und wird Ihnen ermöglicht, sich auf die Ressourcen- und Verfügbarkeitsanforderungen Ihrer auf Containern ausgeführten Anwendung zu konzentrieren.

Mit Amazon ECS können Sie von einem einzigen Container zu Tausenden von Containern in Hunderten von Instances wachsen, ohne dass sich dabei für Sie die Komplexität bei der Ausführung der Anwendung erhöht. Sie können alles ausführen: von Anwendungen oder Batch-Aufgaben bis hin zu Mikrodiensten. Amazon ECS nimmt die Komplexität aus Ihrer Infrastruktur. Sie können sich ganz auf den Entwurf, das Erstellen und die auf Containern ausgeführten Anwendungen konzentrieren.

Mit Amazon ECS können Sie AWS Fargate zur vollständigen Verwaltung Ihrer Infrastruktur verwenden und sich ganz auf die Bereitstellung von Containern konzentrieren. Sie können sich auch für vollständige Transparenz und Kontrolle über das zugrunde liegenden Server-Cluster vom Erstellen und Beenden von Docker-Containern bis zum Anzeigen detaillierter Cluster-Statusinformationen entscheiden. Sie können problemlos Ihren eigenen Containerplaner integrieren und verwenden, sowie Amazon ECS mit Ihrem bestehenden Softwarebereitstellungsprozess (z. B. Continuous Integration- und Continuous Delivery-Systeme) verbinden.

AWS Fargate-Support

Mit Amazon ECS ist die AWS Fargate-Technologie verfügbar. Mit AWS Fargate müssen Sie nicht mehr Amazon EC2-Instance-Typen, Provisioning- und Scale-Cluster auswählen oder jeden Server patchen und aktualisieren. Sie brauchen sich keine Sorgen um Lastverteilungsstrategien wie Containerzuweisung oder Hostverteilung zu machen, und Ihre Tasks werden automatisch über mehrere Availability Zones verteilt. Fargate verwaltet die Verfügbarkeit von Containern für Sie. Sie definieren lediglich die Anforderungen Ihrer Anwendung und wählen Fargate als Starttyp in der Konsole oder CLI aus. Fargate kümmert sich dann um das gesamte Skalierungs- und Infrastrukturmanagement, das für die Ausführung Ihrer Container erforderlich ist.

Für Entwickler, die eine detailliertere Steuerung der Infrastruktur auf Serverebene benötigen, können Sie mit dem Amazon ECS EC2-Starttyp ein Cluster von Servern verwalten und die Platzierung von Containern auf den Servern planen.

Entwicklung

Docker-Support

Amazon ECS unterstützt Docker und ermöglicht das Ausführen und Verwalten von Docker-Containern. Anwendungen, die Sie lokal als Container verpacken, werden auf Amazon ECS bereitgestellt und ausgeführt, ohne dass Konfigurationsänderungen erforderlich sind.

Kompatibilität von Windows-Containern

Amazon ECS unterstützt die Verwaltung von Windows-Containern. Ein Amazon ECS-optimiertes Windows Amazon Machine Image (AMI) bietet eine verbesserte Startzeit für Instances und Container sowie Einblicke in CPU-, Speicherauslastungs- und Reservierungsmetriken.

Lokale Entwicklung

Mit der Amazon ECS-CLI können Sie Ihre lokale Entwicklungserfahrung vereinfachen sowie Ihre Container auf Amazon ECS einfach einrichten und ausführen. Amazon ECS CLI unterstützt Docker Compose, bei dem es sich um ein Open-Source-Tool zum Definieren und Ausführen von Multi-Container-Anwendungen handelt. Sie können die gleiche Compose-Definition, die zum Definieren einer Multi-Container-Anwendung auf Ihrem Entwicklungscomputer verwendet wurde, auch in der Produkt einsetzen. Die Amazon ECS-CLI ist Open-Source-Software. Laden Sie die Amazon ECS-CLI herunter.

Repository-Support

Amazon ECS kann mit jedem von Drittanbietern gehosteten Docker-Image-Repository oder einer zugänglichen privaten Docker-Registrierung wie Docker Hub und Amazon Elastic Container Registry (Amazon ECR) verwendet werden. Sie müssen lediglich in Ihrer Aufgabendefinition das Repository festlegen, und Amazon ECS holt sich die entsprechenden Images für Ihre Anwendungen.

Verwaltung

Aufgabendefinitionen

Mit Amazon ECS können Sie Aufgaben mit einer deklarativen JSON-Vorlage definieren, einer sogenannten Aufgabendefinition. Sie können in einer Aufgabendefinition einen oder mehrere für die Aufgabe erforderliche Container – einschließlich Docker-Repository und -Image –, die Arbeitsspeicher- und CPU-Anforderungen, gemeinsame Datenvolumen und die Art der Verknüpfung der Container untereinander festlegen. Sie können von einer einzigen Aufgabendefinitionsdatei aus, die Sie beim Service registrieren können, beliebig viele Aufgaben starten. Mit Aufgabendefinitionsdateien erhalten Sie die Versionskontrolle über Ihre Anwendungsspezifikationen.

Programmgesteuerte Kontrolle

Amazon ECS bietet eine Reihe einfacher API-Aktionen für die Integration und Erweiterung des Services. Mit den API-Aktionen können Sie Cluster erstellen und löschen, Aufgaben registrieren bzw. Registrierungen aufheben, Docker-Container starten und beenden und detaillierte Informationen über den Zustand Ihres Clusters bereitstellen. Sie können auch AWS CloudFormation verwenden, um Amazon ESC-Cluster bereitzustellen. Registrieren Sie "Task Definitions" und planen Sie Container.

Container-Bereitstellung

Mit Amazon ECS können Sie Ihre Container ganz einfach auf neue Versionen aktualisieren. Sie können eine neue Version der Aufgabendefinition Ihrer Anwendung hochladen und der Amazon ECS-Planer startet automatisch neue Container, wobei die aktualisierten Image- und Stop-Container mit der früheren Version verwendet werden. Amazon ECS registriert Ihre Container automatisch im zugeordneten Application Load Balancer bzw. hebt deren Registrierung auf.

Automatische Wiederherstellung von Containern

Amazon ECS stellt fehlerhafte Container automatisch wieder her, um sicherzustellen, dass Ihre Anwendung von der gewünschten Container-Anzahl unterstützt wird.

Planen

Amazon ECS enthält mehrere Planungsstrategien, mit denen Container basierend auf Ihren Ressourcenanforderungen (z. B. CPU oder RAM) und Verfügbarkeitsanforderungen über Ihre Cluster verteilt werden. Mit den verfügbaren Planungsstrategien können Sie Batch-Jobs, lang laufende Anwendungen und Services sowie Daemon-Prozesse planen.

Aufgabenplanung
Mit der Amazon ECS-Aufgabenplanung können Sie Prozesse ausführen, die Arbeit ausführen und dann stoppen, z. B. Stapelverarbeitungsjobs. Die Aufgabenplanung kann Aufgaben manuell, automatisch aus einer Warteschlange von Jobs oder basierend auf einem von Ihnen definierten Zeitintervall starten.

Service-Scheduler
Mit dem Amazon ECS Service-Scheduler können Sie zustandslose Services und Anwendungen ausführen. Mit dieser Planungsstrategie wird sichergestellt, dass eine bestimmte Anzahl an Aufgaben ständig ausgeführt wird und Aufgaben neu gestartet werden, wenn sie fehlschlagen. Sie können sicherstellen, dass Aufgaben für einen Load Balancer für Elastic Load Balancing registriert sind, und Sie können Zustandsprüfungen durchführen, die Sie für Ihre laufenden Aufgaben definieren.

Daemon-Scheduler
Der Amazon ECS Daemon-Scheduler führt automatisch die gleiche Aufgabe für jede ausgewählte Instance in Ihrem ECS-Cluster aus. Dies erleichtert die Ausführung von Aufgaben, die allgemeine Verwaltungsfunktionen für einen Service wie Protokollierung, Überwachung und Sicherungen bereitstellen.

Aufgabenplatzierung

Mit Amazon ECS können Sie anpassen, wie Aufgaben auf einem Cluster von EC2-Instances basierend auf integrierten Attributen wie Instance-Typ, Availability Zone und von Ihnen definierten benutzerdefinierten Attributen platziert werden. Sie können Attribute wie environment=production verwenden, um Ressourcen zu kennzeichnen. Verwenden Sie die Listen-API-Aktionen, um diese Ressourcen zu finden, und verwenden Sie die RunTask- und CreateService-API-Aktionen, um Aufgaben für diese Ressourcen zu planen.

Mit Amazon ECS können Sie auch Platzierungsstrategien wie Bin Pack und Spread verwenden, um weiter zu definieren, wo Aufgaben platziert werden. Richtlinien können miteinander verkettet werden, um anspruchsvolle Platzierungsfunktionen zu erreichen, ohne Code zu schreiben.

Richtlinien für die Aufgabenplatzierung werden für den Starttyp AWS Fargate nicht verwendet.

Netzwerk und Sicherheit

Aufgabennetzwerk

Amazon Elastic Container Service unterstützt den Netzwerkbetrieb mit Docker-Containern und kann in Amazon VPC integriert werden, um Container zu isolieren. So können Sie steuern, wie Container eine Verbindung zu anderen Services oder externem Datenverkehr aufbauen. Mit Amazon ECS können Sie zwischen vier Netzwerkmodi für Ihre Container wählen, die auf unterschiedliche Anwendungsfälle abgestimmt sind:

Task Networking/awsvpc
Dieser Modus weist jede ausgeführte ECS-Task einer dedizierten, elastischen Netzwerkschnittstelle zu. Container verfügen wie EC2-Instances über umfassende Netzwerkfunktionen in einer VPC.

Bridge
Dieser Modus erstellt eine Linux-Bridge, die alle in einem lokalen virtuellen Netzwerk auf einem Host ausgeführten Container miteinander verbindet. Auf die Container kann anschließend über die Standardnetzwerkverbindung des Hosts zugegriffen werden.

Host
Dieser Modus fügt dem Netzwerkstapel des Hosts Container direkt hinzu, sodass diese dem Netzwerk des Hosts ohne Isolation ausgesetzt sind.

Keine
Dieser Modus deaktiviert den externen Netzwerkbetrieb für Container.

Lastausgleich

Amazon ECS ist in Elastic Load Balancing integriert, sodass Sie den Datenverkehr mithilfe von Application Load Balancers oder Network Load Balancers auf Ihre Container verteilen können. Sie geben die Aufgabendefinition und den zu verwendenden Load Balancer an und Amazon ECS fügt Container automatisch aus dem Load Balancer hinzu und entfernt sie. Sie können in der Aufgabendefinition einen dynamischen Port angeben, der Ihrem Container einen unbenutzten Port zuweist, wenn er auf einer Amazon EC2-Instance eingeplant wird. Außerdem können Sie eine Weiterleitung auf Pfadbasis verwenden, um einen Load Balancer mit mehreren Services freizugeben.

Service-Erkennung

Amazon ECS beinhaltet eine Service-Erkennung, die Ihren voneinander abgegrenzten Services die Erkennung und Verbindung untereinander ermöglicht.

Amazon ECS erstellt und verwaltet mit der Route53 Auto Naming-API ein Registry mit Servicenamen. Sie können einen Service in Ihrem Code also mittels seines Namens referenzieren und DNS-Abfragen schreiben, die den Servicenamen während der Laufzeit auf den Endpunkt des Service auflösen.

Zudem können Sie in einer Taskdefinition des Service Zustandsprüfbedingungen festlegen, durch die Amazon ECS sicherstellt, dass eine Service-Suche nur intakte Service-Endpunkte zurückgibt.

Sicherheit

Mit Amazon ECS können Sie eine IAM-Rolle für jede ECS-Aufgabe festlegen. So können die Amazon ECS-Container-Instances eine Mindestrolle haben, die die Zugriffsrichtlinie "Geringstes Recht" respektieren. Sie können die Instance-Rolle und die Aufgabenrolle so separat verwalten. Sie können auch Amazon CloudWatch Logs verwenden, um Einblick in die IAM-Rolle zu erhalten, der eine Aufgabe zugewiesen ist.

Überwachung und Protokollierung

Überwachung

Amazon ECS stellt über Amazon CloudWatch Überwachungsfunktionen für Ihre Container und Cluster bereit. Sie können durchschnittliche und aggregierte CPU- und Speicherauslastung durch aktive Aufgaben, gruppiert nach Aufgabendefinition, Service oder Cluster, überwachen. Sie können auch CloudWatch-Alarme einrichten, die Sie warnen, wenn Container oder Cluster herauf- oder herunterskaliert werden müssen.

Protokollierung

Mit Amazon ECS können Sie alle Ihre Amazon ECS-API-Aufrufe protokollieren. Die Protokolldateien werden Ihnen über AWS CloudTrail zugestellt. Zu den aufgezeichneten Informationen gehören u. a der API-Aufrufer, der Zeitpunkt des API-Aufrufs, die IP-Quelladresse des API-Aufrufers, die Anforderungsparameter und die Antwortelemente, die vom AWS-Service zurückgegeben werden. CloudTrail bietet Ihnen eine Historie von API-Aufrufen, die über die AWS-Managementkonsole, AWS SDKs und die AWS-Befehlszeilenschnittstelle (CLI) vorgenommen werden. Es ermöglicht Sicherheitsanalysen, die Verfolgung von Ressourcenänderungen und die Überprüfung der Einhaltung von Richtlinien.

Weitere Informationen zur Amazon ECS-Preisgestaltung

Zur Seite mit den Preisen
Sind Sie startbereit?
Registrieren
Haben Sie Fragen?
Kontakt