Amazon EC2 Container Service
Der Amazon EC2 Container Service (ECS) ist ein Cloud-Dienst der Amazon Web Services (AWS), mit dem sich Container verwalten lassen. Über den Amazon EC2 Container Service können Anwendungen und Microservices über API-Aufrufe und Task-Definitionen auf Server-Clustern aus EC2-Instanzen ausgeführt werden. Amazon ECS ist ein skalierbarer Service, der über die AWS Management Console und SDKs (Software Development Kits) zugänglich ist.
Amazon entwickelte ECS in Reaktion auf die steigende Popularität der Container-Virtualisierung. ECS spezifiziert Regeln für isolierte EC2-Instanzen, um die Portabilität und Performance zu erhöhen. Der EC2 Container Service unterstützt auch Docker, den am weitesten verbreiteten Container-Standard.
ECS ermöglicht es Amazon-Kunden, über APIs Docker-Container für verteilte Anwendungen zu erstellen und auszuführen. Dabei überwacht ECS die CPU- und Memory-Auslastung, um eine optimale Bereitstellung der Container zu gewährleisten. AWS-Kunden können den EC2 Container Service auch für die Aktualisierung, Skalierung oder Absicherung der Container nutzen. Für weitere Anpassungen untersützt Amazon ECS auch Elastic Load Balancing, Elastic Block Store und IAM-Rollen (Identity und Access Management).
EC2 Container Service bietet zwei Scheduler, mit denen sich Container entweder nach Compute- oder nach Verfügbarkeitsanforderungen bereitstellen lassen. Von diesen Scheduling-Optionen profitieren vor allem langlaufende Anwendungen und Batch-Jobs, ECS unterstützt aber auch Scheduler von Drittanbietern.
Auf ECS kann auch von Drittanbieter- oder privaten Docker-Registries zugegriffen werden. Anwender müssen hierfür in der Task Definition lediglich das entsprechende Repository angeben, um mit ECS die Images abzurufen.