- Produkte›
- Computing›
- Amazon Elastic Container Service›
- Amazon ECS – Funktionen
Amazon-ECS-Funktionen
Amazon Elastic Container Service (Amazon ECS) ist ein vollständig verwalteter Container-Orchestrierungsservice, mit dem Unternehmen containerisierte Anwendungen ganz einfach bereitstellen, verwalten und skalieren können. Die Amazon-ECS-Steuerebene ist versionslos und eigensinnig. Sie 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. Amazon ECS kann mit Amazon Elastic Compute Cloud (Amazon EC2), AWS Fargate oder sogar mit einer On-Premises-Infrastruktur mit Amazon ECS Anywhere ausgeführt werden.
Wichtigste Funktionen
Integriert und Serverless konzipiert mit AWS Fargate
AWS Fargate ist in Amazon ECS integriert, d. h. Sie müssen sich nicht mehr um die Verwaltung von Servern, die Kapazitätsplanung oder die Isolierung von Container-Workloads aus Sicherheitsgründen kümmern. Definieren Sie einfach die Anforderungen Ihrer Anwendung, wählen Sie AWS Fargate als Starttyp in der Konsole oder der Befehlszeilenschnittstelle (CLI) aus und AWS Fargate kümmert sich um die gesamte Skalierung und das Infrastrukturmanagement, das für die Ausführung Ihrer Container über flexible Rechenoptionen erforderlich ist, mit automatischen Integrationen in andere unterstützende AWS-Services, die Ihre Anwendung benötigt.
Hybride Bereitstellungen
Mit Amazon ECS Anywhere können Sie dieselbe vertraute Amazon-ECS-Konsole und dieselben Bediener-Tools verwenden, um Ihre On-Premises-Container-Workloads zu verwalten und so eine einheitliche Erfahrung für Ihre Container-basierten Anwendungen zu gewährleisten. Sie können Amazon ECS in AWS Outposts auch verwenden, um containerisierte Anwendungen auszuführen, die besonders geringe Latenzen für On-Premises-Systeme erfordern.
Sicherheit und Isolierung durch Design
Amazon ECS lässt sich nativ in die Sicherheits-, Identitäts-, Verwaltungs- und Governance-Tools integrieren, denen Sie bereits vertrauen, was Ihnen hilft, schnell und erfolgreich in Produktion zu gehen. Sie können granulare Berechtigungen für jeden Ihrer Container zuweisen, wodurch Sie ein hohes Maß an Isolation bei der Erstellung Ihrer Anwendungen erreichen. Starten Sie Ihre Container mit dem Sicherheits- und Compliance-Niveau, das Sie von AWS gewohnt sind. Und durch die Integration mit Amazon GuardDuty können Sie externe Bedrohungen für Ihre Workloads schnell und einfach erkennen, bevor diese eskalieren.
Autonome Operationen der Steuerebene
Amazon ECS ist ein vollständig verwalteter Container-Orchestrierungs-Service mit integrierten bewährten Methoden für AWS-Konfiguration- und Betrieb und ohne Steuerebene, Knoten oder Add-Ons, die Sie verwalten müssen. Es lässt sich nativ sowohl mit AWS als auch mit Tools von Drittanbietern integrieren, damit sich die Teams auf die Erstellung der Anwendungen und nicht auf die Umgebung konzentrieren können.
Entwicklung
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-Unterstützung
Amazon ECS kann mit jedem von Drittanbietern gehosteten Docker-Image-Repository oder einem zugänglichen privaten Docker-Registry 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 JavaScript-Object-Notification (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 Aufgabendefinitions-Dateien 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, „Aufgabendefinitionen“ zu registrieren und Container zu planen.
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.
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 arbeiten sowohl mit Amazon Elastic Compute Cloud (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.
Speicherung
Amazon Elastic Block Store (Amazon EBS) ist ein benutzerfreundlicher, skalierbarer und leistungsstarker Blockspeicher-Service, mit dem Sie kostengünstigen Speicher für Ihre Amazon-ECS- und AWS-Fargate-Bereitstellungen bereitstellen können. Sie können alle EBS-Konfigurationen und -Funktionen mit Ihren in Amazon ECS bereitgestellten Container-Workloads nutzen.
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
Übersicht
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.
Erfahren Sie mehr über die Planung von Amazon-ECS-Aufgaben »
Service-Scheduler
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 Amazon-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.
Networking
Amazon ECS Service Connect
Amazon ECS Service Connect vereinfacht die Serviceerkennung, die Konnektivität und die Beobachtung des Datenverkehrs für Amazon ECS. Damit können Sie Anwendungen schneller erstellen, da Sie sich auf den Anwendungscode können statt auf Ihre Netzwerkinfrastruktur. Sie können ECS Service Connect verwenden, um logische Namen für Ihre Service-Endpunkte zu definieren und diese in Ihren Client-Anwendungen zu verwenden, um sie mit Abhängigkeiten zu verknüpfen. Mit ECS Service Connect senden Sie Ihren Datenverkehr an fehlerfreie Endpunkte und erhalten aussagefähige Datenverkehr-Telemetrie in der ECS-Konsole und in Amazon CloudWatch. Native ECS-Bereitstellungen sind mit ECS Service Connect robuster, da es automatisches Connection Draining unterstützt, mit dem Ihre Client-Anwendungen auf eine neue Version des Service-Endpunkts wechseln können, ohne dass es zu Datenverkehrsfehlern kommt.
Mit ECS Service Connect können Sie:
• Den Weg in nur einem Schritt festlegen, wie sich Client-Anwendungen mit ihren Abhängigkeiten verbinden
• Schreiben und Betreiben von belastbaren verteilten Anwendungen mit logischer Benennung
• Überwachen und Verteilen des Datenverkehrs zwischen ECS-Aufgaben, ohne Load Balancer einsetzen und konfigurieren zu müssen
• Services schneller bereitstellen und ECS-Microservices nahtloser in eine Anwendung integrieren
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.
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.
Lastenverteilung
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 API-Aufrufe von Amazon ECS 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 in 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-Premises-Container genauso einfach verwalten wie Ihre Container in der Cloud.
Amazon ECS Anywhere
Mit Amazon ECS Anywhere können Sie dieselbe vertraute Amazon-ECS-Konsole und dieselben Bediener-Tools verwenden, um Ihre On-Premises-Container-Workloads zu verwalten und so eine einheitliche Erfahrung für Ihre Container-basierten Anwendungen zu gewährleisten. Die Integration von AWS Systems Manager (SSM) stellt automatisch und sicher das Vertrauen zwischen Ihrer On-Premises-Hardware und der AWS-Steuerebene her.