Stellen Sie ECS Amazon-Services bereit, indem Sie Aufgaben ersetzen - Amazon Elastic Container Service

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 ECS Amazon-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 dem Service während eines fortlaufenden Updates ECS hinzufügt oder daraus entfernt, wird durch die Konfiguration der Servicebereitstellung gesteuert. Die Bereitstellungskonfiguration besteht aus Folgendem:

  • 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 Prozentsatz 50 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. Sobald 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 Prozentsatz 200 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 Prozentsatz 125. 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 Dienst (service-name) konnte aufgrund der Konfiguration der Dienstbereitstellung während einer Bereitstellung keine Aufgaben beenden oder starten. Aktualisieren Sie den maximumPercent Wert minimumHealthyPercent oder und versuchen Sie es erneut..

Bei einer fortlaufenden Bereitstellung wird anhand des Bereitstellungsschutzschalters festgestellt, ob die Aufgaben einen stabilen Zustand erreichen. Der Bereitstellungsschutzschalter kann eine Bereitstellung bei einem Fehler optional zurücksetzen.

Auflösung des Container-Images

Um sicherzustellen, dass alle Aufgaben in einem Service dasselbe Container-Image verwenden, ECS löst Amazon Container-Image-Namen und alle in der Aufgabendefinition angegebenen 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 den Container-Image-Digest zu erstellen. Wenn Sie einen Dienst erstellen, der mehrere Aufgaben ausführt und verwaltet, startet der Service Scheduler während der Bereitstellung zuerst eine Aufgabe. Diese erste Aufgabe wird verwendet, um den Container-Image-Digest einzurichten.

Nachdem der Container-Image-Digest eingerichtet wurde, ECS verwendet Amazon den Digest, 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.

Wenn drei oder mehr Versuche, den Container-Image-Digest 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.

Die Mindestversion der Fargate-Linux-Plattform für die Image-Digest-Auflösung ist. 1.3.0 Die Mindestversion der Fargate-Windows-Plattform für die Bilddigest-Auflösung ist. 1.0.0

Amazon ECS Agent-Versionen unter unterstützen 1.31.0 keine Image Digest-Auflösung. Agentenversionen 1.31.0 zur 1.69.0 Unterstützung der Image-Digest-Auflösung nur für Bilder, die in ECR Amazon-Repositorys übertragen wurden. Agentenversionen 1.70.0 oder höher unterstützen die Image-Digest-Auflösung für alle Bilder.

Anmerkung
  • Amazon erfasst ECS keine Übersichten von Sidecar-Containern, die von Amazon verwaltet werdenECS, 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 gänzlich zu vermeiden, geben Sie Container-Image-Digests in Ihrer Aufgabendefinition an.

  • Wenn Sie einen Service mit einer gewünschten Task-Anzahl von Null erstellen, ECS kann Amazon keinen Container-Digest einrichten, bis Sie eine weitere Bereitstellung des Services mit einer gewünschten Task-Anzahl von mehr als Null auslösen.

  • Um einen aktualisierten Image-Digest zu erstellen, können Sie eine neue Bereitstellung erzwingen. Dieser aktualisierte Überblick wird zum Starten neuer Aufgaben verwendet und wirkt sich nicht auf bereits ausgeführte Aufgaben aus. Weitere Informationen zum Erzwingen neuer Bereitstellungen finden Sie forceNewDeploymentin der ECSAPIAmazon-Referenz.

Erkennung von Fehlern

Es gibt zwei Methoden, mit denen Sie schnell feststellen können, wann eine Bereitstellung fehlgeschlagen ist, und dann optional den Fehler auf die letzte funktionierende Bereitstellung zurücksetzen können.

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.