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.
Stellen Sie Amazon ECS-Services bereit, indem Sie Aufgaben ersetzen
Wenn Sie einen Service erstellen, der den Bereitstellungstyp Rolling Update (ECS
) verwendet, ersetzt der Amazon ECS-Service Scheduler die aktuell 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:
-
minimumHealthyPercent
stellt die Untergrenze für die Anzahl der Aufgaben dar, die für einen Service während einer Bereitstellung oder wenn eine Container-Instance entleert wird, als Prozentsatz der gewünschten Anzahl von Aufgaben für den Service. Dieser Wert wird aufgerundet. Zum Beispiel, wenn der minimale gesunde Prozentsatz50
ist 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.Wenn Aufgaben fehlerhaft werden, startet der Amazon ECS-Service Scheduler zuerst Ersatzaufgaben und behält Aufgaben bei, bis die
minimumHealthyPercent
Ersatzaufgaben fehlerfrei sind. Wenn die Ersatzaufgaben gestartet werden und wieder fehlerfrei sind, werden die fehlerhaften Aufgaben nach und nach beendet. -
maximumPercent
stellt die Obergrenze für die Anzahl der Aufgaben dar, die für einen Service während einer Bereitstellung oder wenn eine Container-Instance entleert wird, als Prozentsatz der gewünschten Anzahl von Aufgaben für einen Service. Dieser Wert wird abgerundet. Zum Beispiel, wenn der maximale Prozentsatz200
ist und die gewünschte Aufgabenanzahl vier ist, kann der Scheduler vier neue Aufgaben starten, bevor er vier vorhandene 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.
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 service (service-name) konnte aufgrund der Konfiguration der Dienstbereitstellung während einer Bereitstellung keine Aufgaben beenden oder starten. Aktualisieren Sie den Wert minimumHealthyPercent oder MaximumPercent und versuchen Sie es erneut..
Bei fortlaufenden Bereitstellungen gibt es zwei Methoden, mit denen Sie schnell feststellen können, ob eine Servicebereitstellung fehlgeschlagen ist:
Die Methoden können getrennt oder zusammen verwendet werden. Wenn beide Methoden verwendet werden, wird die Bereitstellung auf „Fehlgeschlagen“ gesetzt, sobald die Fehlerkriterien für eine der beiden Methoden erfüllt sind.
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 Zurücksetzen auf die vorherige Service-Revision.
Auflösung des Container-Images
Standardmäßig löst Amazon ECS 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 Dienst 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 Deployment Circuit Breaker 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 und für future Service-Updates zu starten. 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
-
Versionen von Amazon ECS Agent unter unterstützen
1.31.0
keine Image Digest-Auflösung. Agentenversionen1.31.0
zur1.69.0
Unterstützung der Image-Digest-Auflösung nur für Bilder, die in Amazon ECR-Repositorys übertragen wurden. Agentenversionen1.70.0
oder höher unterstützen die Image-Digest-Auflösung für alle Bilder. -
Die Mindestversion der Fargate-Linux-Plattform für die Bilddigest-Auflösung ist.
1.3.0
Die Mindestversion der Fargate-Windows-Plattform für die Bilddigest-Auflösung ist.1.0.0
-
Amazon ECS erfasst keine Übersichten 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 Diensten mit mehreren Aufgaben zu reduzieren, führen Sie Amazon ECS-Agent-Version
1.83.0
oder höher 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 Task-Anzahl von Null erstellen, kann Amazon ECS keine Container-Digests einrichten, bis Sie eine weitere Bereitstellung des Service mit einer gewünschten Task-Anzahl von mehr als Null auslösen.
-
Um aktualisierte Image-Digests zu erstellen, können Sie eine neue Bereitstellung erzwingen. Die aktualisierten Übersichten werden zum Starten neuer Aufgaben verwendet und wirken sich nicht auf bereits ausgeführte Aufgaben aus. Weitere Informationen zum Erzwingen neuer Bereitstellungen finden Sie forceNewDeploymentin der Amazon ECS-API-Referenz.