Entwicklung

Docker-Support

Amazon ECS unterstützt Docker und ermöglicht das Ausführen und Verwalten von Docker-Containern. Es ist zudem in die Docker Compose CLI integriert, sodass Sie Multicontainer-Anwendungen definieren und ausführen können. 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.

AWS Copilot

AWS Copilot CLI ist ein Tool, das es Entwicklern ermöglicht, produktionsreife containerisierte Anwendungen auf Amazon ECS und AWS Fargate zu erstellen, freizugeben und zu betreiben. Copilot nimmt bewährte Methoden, von der Infrastruktur zur fortlaufenden Bereitstellung und macht sie für Kunden vom Komfort ihrer Befehlszeile verfügbar. Sie können den Zustand Ihres Services auch überwachen, indem Sie den Status oder die Protokolle Ihres Services anzeigen, Produktions-Services vergrößern oder verkleinern und eine neue Umgebung für automatisierte Tests einrichten. AWS Copilot herunterladen.

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 ECS-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.

Blau/Grün-Bereitstellungen

Blau/Grün-Bereitstellungen mit AWS CodeDeploy machen es Ihnen leichter, Ausfallzeiten während Anwendungs-Updates zu minimieren. Sie können eine neue Version Ihres Amazon-ECS-Service parallel zur alten Version starten und die neue Version vor dem Umleiten des Datenverkehrs testen. Sie können außerdem den Bereitstellungsprozess überwachen und im Fall eines Problems schnell einen Rollback ausführen.

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.

Capacity Providers

Mit Capacity Providers können Sie flexible Regeln dafür definieren, wie containerisierte Workloads auf verschiedenen Arten von Rechenkapazität laufen, und die Skalierung der Kapazität verwalten. Kapazitätsanbieter funktionieren sowohl mit Amazon EC2 als auch mit AWS Fargate. Wenn Sie Aufgaben und Services ausführen, können Sie diese auf mehrere Kapazitätsanbieter aufteilen, was neue Funktionen ermöglicht, wie z. B. die Ausführung eines Service in einem vordefinierten Split-Prozentsatz über Fargate und Fargate Spot.

Speicher

Amazon Elastic File System (Amazon EFS) ist ein einfaches, skalierbares und vollständig verwaltetes elastisches Dateisystem, mit dem Sie moderne Anwendungen erstellen und Daten sowie Statusmeldungen aus Ihren Amazon ECS- und AWS Fargate-Bereitstellungen dauerhaft speichern und freigeben können. Alle Aspekte der Verwendung von Amazon EFS mit Containern, einschließlich der Konnektivität, werden übernommen, es ist keinerlei Verwaltung erforderlich. Sie können sich einfach auf Ihre Anwendungen konzentrieren, nicht auf die Infrastruktur. Erfahren Sie mehr über persistente Dateispeicherung.

Planung und Aufgabenplatzierung

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 Scheduling

Mit Amazon-ECS-Service-Scheduling 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.

Netzwerk

Service-Erkennung

Amazon ECS ist in AWS Cloud Map integriert, damit sich auf Containern ausgeführte Services leichter erkennen und miteinander verbinden können. AWS Cloud Map ist ein Service zur Ermittlung von Cloud-Ressourcen, mit dem Sie benutzerdefinierte Namen für Ihre Anwendungsressourcen definieren können. Es erhöht die Anwendungsverfügbarkeit, da Ihr Web-Service immer die aktuellsten Standorte dieser sich dynamisch verändernden Ressourcen findet.

Service-Mesh

Ein Service-Mesh erleichtert die Entwicklung und Ausführung komplexer Microservice-Anwendungen, indem es einen Standard für die Kommunikationsart eines jeden Microservice in der Anwendung festlegt. AWS App Mesh ist ein Service, der es Ihnen erleichtert, Teile Ihrer Anwendung für End-to-End-Sichtbarkeit und hohe Verfügbarkeit zu konfigurieren. Um App Mesh zu verwenden, fügen Sie der ECS-Aufgabendefinition das Envoy-Proxy-Image hinzu. App Mesh verwaltet die Envoy-Konfiguration, um Service-Mesh-Funktionen bereitzustellen. App Mesh exportiert Metriken, Protokolle und Ablaufverfolgungen an die in der bereitgestellten Envoy-Bootstrap-Konfiguration angegebenen Endpunkte. App Mesh stellt Ihnen eine API zum Konfigurieren von Datenverkehrsrouten, Schutzschaltern, erneuten Versuchen und weiteren Steuerelementen zwischen Mesh-fähigen Microservices bereit.

Aufgabennetzwerk

Amazon ECS unterstützt den Netzwerkbetrieb mit Docker-Containern und kann mit 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 EC2-Instance eingeplant wird. Außerdem können Sie eine Weiterleitung auf Pfadbasis verwenden, um einen Load Balancer mit mehreren Services freizugeben.

Ü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 von Amazon ECS 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.

AWS Config

AWS Config ist mit Amazon ECS integriert, um Ihnen Einblick in die Konfiguration Ihrer AWS-Ressourcen in Ihrem AWS-Konto zu geben. Mit AWS Config können Sie überwachen und verfolgen, wie Ressourcen konfiguriert wurden, wie sie sich zueinander verhalten und wie sich die Konfigurationen und Beziehungen im Laufe der Zeit ändern. Mit AWS Config können Sie Compliance und Sicherheit, betriebliche Fehlersuche und Ressourcenverwaltung vereinfachen.

Hybride Bereitstellungen

AWS Outposts

Sie können Amazon ECS on AWS Outposts verwenden, um containerisierte Anwendungen auszuführen, die besonders geringe Latenzen für On-Premises-Systeme erfordern. Outposts ist ein vollständig verwalteter Service, der die AWS-Infrastruktur, AWS-Services, APIs und Tools an praktisch jeder verbundenen Seite bereitstellt. Mit Amazon ECS on Outposts können Sie On-Premise-Container genauso einfach verwalten wie Ihre Container in der Cloud.

Weitere Informationen zur Amazon-ECS-Preisgestaltung

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