Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Bereitstellen von Amazon-ECS-Services durch Ersetzung von Aufgaben
Wenn Sie einen Service erstellen, der den Bereitstellungstyp Fortlaufende Aktualisierung (ECS) verwendet, ersetzt der Amazon ECS Service Scheduler die derzeit ausgeführten Aufgaben durch neue Aufgaben. Die Anzahl der Aufgaben, die Amazon ECS während einer fortlaufenden Aktualisierung für den Service hinzufügt oder entfernt, wird durch die Service-Bereitstellungskonfiguration gesteuert.
Amazon ECS verwendet die folgenden Parameter, um die Anzahl der Aufgaben zu bestimmen:
-
Der
minimumHealthyPercentstellt die Untergrenze für die Anzahl der Aufgaben dar, die für einen Service während einer fortlaufenden Bereitstellung oder wenn eine Container-Instance überlastet wird, ausgeführt werden sollten und fehlerfrei sein sollten, und zwar in Prozent der gewünschten Anzahl von Aufgaben für den Service. Dieser Wert wird aufgerundet. Zum Beispiel, wenn der minimale gesunde Prozentsatz50ist und die gewünschte Aufgabenanzahl vier ist, kann der Scheduler zwei bestehende Aufgaben stoppen, bevor er zwei neue Aufgaben startet. Ebenso kann der Scheduler, wenn der minimale fehlerfreie Prozentsatz 75 % beträgt und die gewünschte Anzahl zwei ist, keine Aufgaben stoppen, da der resultierende Wert auch zwei ist. -
Der
maximumPercentstellt die Obergrenze für die Anzahl der Aufgaben dar, die für einen Dienst während einer fortlaufenden Bereitstellung oder beim Entladen einer Container-Instance ausgeführt werden sollten, als Prozentsatz der gewünschten Anzahl von Aufgaben für einen Dienst. Dieser Wert wird abgerundet. Wenn beispielsweise die maximale Prozentzahl gleich ist200und die gewünschte Anzahl an Aufgaben vier beträgt, kann der Scheduler vier neue Aufgaben starten, bevor er vier bestehende Aufgaben beendet. Ebenso, wenn der maximale Prozentsatz125. ist und die gewünschte Aufgabenanzahl drei ist, kann der Scheduler keine Aufgaben starten, da der resultierende Wert ebenfalls drei ist.
Wenn während einer fortlaufenden Bereitstellung Aufgaben nicht mehr richtig funktionieren, ersetzt Amazon ECS sie, um Ihren Service aufrechtzuerhalten minimumHealthyPercent und die Verfügbarkeit zu gewährleisten. Fehlerhafte Aufgaben werden durch dieselbe Service-Revision ersetzt, zu der sie gehören. Dadurch wird sichergestellt, dass das Ersetzen fehlerhafter Aufgaben in der Quellrevision unabhängig von Aufgabenfehlern in der Zielrevision erfolgt. Wenn die maximumPercent Einstellung dies zulässt, startet der Scheduler Ersatzaufgaben, bevor er fehlerhafte Aufgaben stoppt. Wenn der maximumPercent Parameter den Scheduler daran hindert, zuerst eine Ersatz-Task zu starten, stoppt der Scheduler jeweils eine fehlerhafte Task, um Kapazität freizugeben, bevor eine Ersatz-Task gestartet wird.
Wichtig
Beim Festlegen eines minimalen fehlerfreien Prozentsatzes oder eines maximalen Prozentsatzes sollten Sie sicherstellen, dass der Planer mindestens eine Aufgabe anhalten oder starten kann, wenn eine Bereitstellung initiiert wird. Wenn Ihr Service über eine Bereitstellung verfügt, die aufgrund einer ungültigen Bereitstellungskonfiguration nicht mehr besteht, wird eine Serviceereignismeldung gesendet. Weitere Informationen finden Sie unter Dienst (service-name) konnte Aufgaben während einer Bereitstellung aufgrund der Konfiguration der Dienstbereitstellung nicht beenden oder starten. Aktualisieren Sie den Mindest HealthyPercent - oder MaximumPercent-Wert und versuchen Sie es erneut..
Fortlaufende Bereitstellungen verfügen über zwei Methoden, mit denen Sie schnell feststellen können, wann eine Servicebereitstellung fehlgeschlagen ist:
Die Methoden können getrennt oder zusammen verwendet werden. Wenn beide Methoden verwendet werden, wird die Bereitstellung als fehlgeschlagen eingestuft, sobald das Fehlerkriterium für eine der beiden Fehlermethoden erfüllt ist.
Bestimmen Sie anhand der folgenden Anleitungen, welche Methode verwendet werden soll:
-
Schutzschalter – Verwenden Sie diese Methode, wenn Sie eine Bereitstellung anhalten möchten, falls die Aufgaben nicht gestartet werden können.
-
CloudWatch Alarme — Verwenden Sie diese Methode, wenn Sie eine Bereitstellung auf der Grundlage von Anwendungsmetriken beenden möchten.
Beide Methoden unterstützen das Rollback zur vorherigen Service-Revision.
Container-Image-Auflösung
Amazon ECS löst standardmäßig die in der Aufgabendefinition angegebenen Container-Image-Tags in Container-Image-Digests auf. Wenn Sie einen Service erstellen, der eine einzelne Aufgabe ausführt und verwaltet, wird diese Aufgabe verwendet, um Image-Digests für die Container in der Aufgabe einzurichten. Wenn Sie einen Service erstellen, der mehrere Aufgaben ausführt und verwaltet, wird die erste Aufgabe, die während der Bereitstellung vom Service Scheduler gestartet wird, verwendet, um die Image-Digests für die Container in den Aufgaben einzurichten.
Wenn drei oder mehr Versuche, die Container-Image-Digests einzurichten, fehlschlagen, wird die Bereitstellung ohne Image-Digest-Auflösung fortgesetzt. Wenn der Bereitstellungs-Schutzschalter aktiviert ist, schlägt die Bereitstellung zusätzlich fehl und wird zurückgesetzt.
Nachdem die Container-Image-Digests eingerichtet wurden, verwendet Amazon ECS die Digests, um alle anderen gewünschten Aufgaben zu starten sowie für zukünftige Service-Aktualisierungen. Dies führt dazu, dass alle Aufgaben in einem Service immer identische Container-Images ausführen, was zu einer Versionskonsistenz für Ihre Software führt.
Sie können dieses Verhalten für jeden Container in Ihrer Aufgabe konfigurieren, indem Sie den versionConsistency-Parameter in der Container-Definition verwenden. Weitere Informationen finden Sie unter versionConsistency.
Anmerkung
-
Amazon-ECS-Agentenversionen, die älter als
1.31.0sind, unterstützen keine Image-Digest-Auflösung. Agentenversionen1.31.0bis1.69.0unterstützen Image-Digest-Auflösung nur für Images, die in Amazon-ECR-Repositorys übertragen wurden. Agentenversionen1.70.0oder höher unterstützen Image-Digest-Auflösung für alle Images. -
Die Mindest-Plattformversion von Fargate Linux für die Image-Digest-Auflösung ist
1.3.0. Die Mindest-Plattformversion von Fargate Windows für die Image-Digest-Auflösung ist1.0.0. -
Amazon ECS erfasst keine Zusammenfassungen von Sidecar-Containern, die von Amazon ECS verwaltet werden, wie z. B. der Amazon GuardDuty Security Agent oder der Service Connect-Proxy.
-
Um die potenzielle Latenz im Zusammenhang mit der Container-Image-Auflösung in Services mit mehreren Aufgaben zu reduzieren, führen Sie Version
1.83.0oder höher des Amazon-ECS-Agenten auf EC2-Container-Instances aus. Um potenzielle Latenzen zu vermeiden, geben Sie Container-Image-Digests in Ihrer Aufgabendefinition an. -
Wenn Sie einen Service mit einer gewünschten Aufgaben-Anzahl von Null erstellen, kann Amazon ECS keine Container-Digests einrichten, bis Sie eine weitere Bereitstellung des Service mit einer gewünschten Aufgaben-Anzahl von mehr als Null auslösen.
-
Um aktualisierte Image-Digests zu erstellen, können Sie eine neue Bereitstellung erzwingen. Die aktualisierten Digests werden zum Starten neuer Aufgaben verwendet und wirken sich nicht auf bereits ausgeführte Aufgaben aus. Weitere Informationen zum Erzwingen neuer Bereitstellungen finden Sie unter Force NewDeployment in der Amazon ECS-API-Referenz.
-
Wenn bei der Verwendung von EC2-Kapazitätsanbietern nicht genügend Kapazität vorhanden ist, um eine Aufgabe bei der ersten Bereitstellung zu starten, kann die Konsistenz der Softwareversionen fehlschlagen. Um sicherzustellen, dass die Versionskonsistenz auch bei begrenzter Kapazität erhalten bleibt, sollten Sie explizit
versionConsistency: "enabled"in Ihrer Container-Konfiguration für Aufgabendefinitionen festlegen, anstatt sich auf das Standardverhalten zu verlassen. Dies veranlasst Amazon ECS, zu warten, bis Kapazität verfügbar ist, bevor mit der Bereitstellung fortgefahren wird.