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.

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 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 service (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 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 ECS löst Amazon 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, ECS verwendet Amazon 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
  • 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.

  • 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 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 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 Container Digests erst einrichten, wenn Sie eine weitere Bereitstellung des Services 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 ECSAPIAmazon-Referenz.