AWS Häufig gestellte Fragen zur Fargate-Aufgabenwartung auf Amazon ECS - 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.

AWS Häufig gestellte Fragen zur Fargate-Aufgabenwartung auf Amazon ECS

Was bedeutet Wartung und Stilllegung von Fargate-Aufgaben?

AWS ist für die Wartung der zugrunde liegenden Infrastruktur für AWS Fargate verantwortlich. AWS bestimmt, wann eine Revision einer Plattformversion durch eine neue Version für die Infrastruktur ersetzt werden muss. Dies wird als Ausmusterung von Aufgaben bezeichnet. AWS sendet eine Benachrichtigung über die Außerbetriebnahme einer Aufgabe, wenn die Revision einer Plattformversion zurückgezogen wird. Wir aktualisieren regelmäßig unsere unterstützten Plattformversionen, um eine neue Version einzuführen, die Updates für die Fargate-Runtime-Software und die zugrunde liegenden Abhängigkeiten wie das Betriebssystem und die Container-Laufzeit enthält. Sobald eine neuere Version verfügbar ist, ziehen wir die ältere Version zurück, um sicherzustellen, dass alle Kunden-Workloads auf der aktuellsten Version der Fargate-Plattformversion ausgeführt werden. Wenn eine Version außer Betrieb genommen wird, werden alle Aufgaben, die für diese Version ausgeführt werden, gestoppt.

Amazon-ECS-Aufgaben können entweder als Serviceaufgaben oder als eigenständige Aufgaben kategorisiert werden. Serviceaufgaben werden als Teil eines Service bereitgestellt und durch den Amazon ECS-Zeitplan gesteuert. Weitere Informationen finden Sie unter Amazon-ECS-Dienstleistungen. Eigenständige Aufgaben sind Aufgaben, die von der Amazon RunTask ECS-API entweder direkt oder von einem externen Scheduler gestartet werden, z. B. geplante Aufgaben (die von Amazon gestartet werden EventBridge) AWS Batch, oder AWS Step Functions.

Bei Serviceaufgaben müssen Sie keine Maßnahmen ergreifen, es sei denn, Sie möchten diese Aufgaben vorher AWS ersetzen. Wenn der Amazon ECS-Planer die Aufgaben beendet, verwendet er den minimalen fehlerfreien Prozentsatz und startet eine neue Aufgabe, um die gewünschte Anzahl für den Service aufrechtzuerhalten. Standardmäßig beträgt der minimale fehlerfreie Prozentsatz eines Services 100 Prozent, sodass eine neue Aufgabe zuerst gestartet wird, bevor eine Aufgabe beendet wird. Serviceaufgaben werden routinemäßig auf die gleiche Weise ersetzt, wenn Sie den Service skalieren, Konfigurationsänderungen vornehmen oder Überarbeitungen der Aufgabendefinitionen bereitstellen. Um sich auf den Prozess der Aufgaben-Außerbetriebnahme vorzubereiten, empfehlen wir, das Verhalten Ihrer Anwendung durch Simulieren dieses Szenarios zu testen. Halten Sie dazu eine Aufgabe in Ihrem Service an, um einen Test auf Ausfallsicherheit durchzuführen.

AWS Beendet bei der Außerbetriebnahme eigenständiger Aufgaben die Aufgabe am oder nach dem Außerbetriebnahmedatum der Aufgabe. Wir starten keine Ersatzaufgabe, wenn eine Aufgabe gestoppt wird. Wenn Sie möchten, dass diese Aufgaben weiterhin ausgeführt werden, müssen Sie die laufenden Aufgaben beenden und vor dem in der Benachrichtigung angegebenen Zeitpunkt eine Ersatzaufgabe starten. Daher empfehlen wir unseren Kunden, den Status der eigenständigen Aufgaben zu überwachen und bei Bedarf Logik zu implementieren, um die gestoppten Aufgaben zu ersetzen.

Wenn eine Aufgabe in einem der Szenarien gestoppt wird, können Sie describe-tasks ausführen. Der stoppedReason in der Antwort ist ECS is performing maintenance on the underlying infrastructure hosting the task.

Die Aufgabenwartung gilt, wenn eine neue Plattformversion durch eine neue Version ersetzt werden muss. Wenn es ein Problem mit einem zugrunde liegenden Fargate-Host gibt, ersetzt Amazon ECS den Host ohne Benachrichtigung über die Außerbetriebnahme der Aufgabe.

Was steht in der Mitteilung über die Außerbetriebnahme der Aufgabe?

Die Benachrichtigungen zur Einstellung der Aufgabe werden sowohl über das AWS Health Dashboard als auch per E-Mail an die registrierte E-Mail-Adresse gesendet und enthalten die folgenden Informationen:

  • Das Datum der Außerbetriebnahme der Aufgabe – Die Aufgabe wird an oder nach diesem Datum beendet.

  • Bei eigenständigen Aufgaben die IDs der Aufgaben.

  • Bei Serviceaufgaben die ID des Clusters, auf dem der Service ausgeführt wird, und die IDs des Services.

  • Die nächsten Schritte, die Sie unternehmen müssen.

In der Regel senden wir jeweils eine Benachrichtigung für Service- und eigenständige Aufgaben AWS-Region. In bestimmten Fällen erhalten Sie jedoch möglicherweise mehr als ein Ereignis für jeden Aufgabentyp, z. B. wenn zu viele Aufgaben nicht zurückgezogen werden müssen, wodurch die Grenzen unserer Benachrichtigungsmechanismen überschritten werden.

Es gibt folgende Möglichkeiten, Aufgaben zu identifizieren, die für die Außerbetriebnahme vorgesehen sind:

  • Das AWS Health Dashboard

    AWS Health Benachrichtigungen können über Amazon EventBridge an Archivspeicher wie Amazon Simple Storage Service gesendet werden, automatisierte Aktionen wie das Ausführen einer AWS Lambda Funktion oder andere Benachrichtigungssysteme wie Amazon Simple Notification Service ausführen. Weitere Informationen finden Sie unter AWS Health Ereignisse mit Amazon überwachen EventBridge. Eine Beispielkonfiguration zum Senden von Benachrichtigungen an Amazon Chime, Slack oder Microsoft Teams finden Sie im AWS Health Aware-Repository unter. GitHub

    Das Folgende ist ein EventBridge Beispielereignis.

    { "version": "0", "id": "3c268027-f43c-0171-7425-1d799EXAMPLE", "detail-type": "AWS Health Event", "source": "aws.health", "account": "123456789012", "time": "2023-08-16T23:18:51Z", "region": "us-east-1", "resources": [ "cluster/service", "cluster/service" ], "detail": { "eventArn": "arn:aws:health:us-east-1::event/ECS/AWS_ECS_TASK_PATCHING_RETIREMENT/AWS_ECS_TASK_PATCHING_RETIREMENT_test1", "service": "ECS", "eventScopeCode": "ACCOUNT_SPECIFIC", "communicationId": "7988399e2e6fb0b905ddc88e0e2de1fd17e4c9fa60349577446d95a18EXAMPLE", "lastUpdatedTime": "Wed, 16 Aug 2023 23:18:52 GMT", "eventRegion": "us-east-1", "eventTypeCode": "AWS_ECS_TASK_PATCHING_RETIREMENT", "eventTypeCategory": "scheduledChange", "startTime": "Wed, 16 Aug 2023 23:18:51 GMT", "endTime": "Fri, 18 Aug 2023 23:18:51 GMT", "eventDescription": [ { "language": "en_US", "latestDescription": "\\nA software update has been deployed to Fargate which includes CVE patches or other critical patches. No action is required on your part. All new tasks launched automatically uses the latest software version. For existing tasks, your tasks need to be restarted in order for these updates to apply. Your tasks running as part of the following ECS Services will be automatically updated beginning Wed, 16 Aug 2023 23:18:51 GMT.\\n\\nAfter Wed, 16 Aug 2023 23:18:51 GMT, the ECS scheduler will gradually replace these tasks, respecting the deployment settings for your service. Typically, services should see little to no interruption during the update and no action is required. When AWS stops tasks, AWS uses the minimum healthy percent (1) and launches a new task in an attempt to maintain the desired count for the service. By default, the minimum healthy percent of a service is 100 percent, so a new task is started first before a task is stopped. Service tasks are routinely replaced in the same way when you scale the service or deploy configuration changes or deploy task definition revisions. If you would like to control the timing of this restart you can update the service before Wed, 16 Aug 2023 23:18:51 GMT, by running the update-service command from the ECS command-line interface specifying force-new-deployment for services using Rolling update deployment type. For example:\\n\\n$ aws ecs update-service -service service_name \\\n--cluster cluster_name -force-new-deployment\\n\\nFor services using Blue/Green deployment type with AWS CodeDeploy:\\nPlease refer to create-deployment document (2) and create new deployment using same task definition revision.\\n\\nFor further details on ECS deployment types, please refer to ECS Deployment Developer Guide (1).\\nFor further details on Fargate's update process, please refer to the AWS Fargate User Guide (3).\\nIf you have any questions or concerns, please contact AWS Support (4).\\n\\n(1) https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html\\n(2) https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html\\n(3) https://docs.aws.amazon.com/AmazonECS/latest/userguide/task-maintenance.html\\n(4) https://aws.amazon.com/support\\n\\nA list of your affected resources(s) can be found in the 'Affected resources' tab in the 'Cluster/ Service' format in the AWS Health Dashboard. \\n\\n" } ], "affectedEntities": [ { "entityValue": "cluster/service" }, { "entityValue": "cluster/service" } ] } }
  • Email

    Eine E-Mail wird an die registrierte E-Mail-Adresse für die AWS-Konto ID gesendet.

Kann ich die Wartezeit für die Außerbetriebnahme von Aufgaben ändern?

Sie können den Zeitpunkt konfigurieren, zu dem Fargate mit der Außerbetriebnahme der Aufgabe beginnt. Wählen Sie für Workloads, die eine sofortige Anwendung der Updates erfordern, die Einstellung „Sofort“ (0). Wenn Sie mehr Kontrolle benötigen, z. B. wenn eine Aufgabe nur während eines bestimmten Zeitfensters gestoppt werden kann, konfigurieren Sie die Optionen 7 Tage (7) oder 14 Tage (14).

Wir empfehlen Ihnen, eine kürzere Wartezeit zu wählen, damit Sie neuere Versionen der Plattformversionen früher erwerben können.

Konfigurieren Sie die Wartezeit, indem Sie das put-account-setting-default Programm ausführen oder put-account-setting als Root-Benutzer oder als Administratorbenutzer ausführen. Verwenden Sie die Option fargateTaskRetirementWaitPeriod für name und die Option value, die auf einen der folgenden Werte eingestellt ist:

  • 0- AWS sendet die Benachrichtigung und beginnt sofort, die betroffenen Aufgaben zurückzuziehen.

  • 7- AWS sendet die Benachrichtigung und wartet 7 Kalendertage, bevor mit der Außerbetriebnahme der betroffenen Aufgaben begonnen wird.

  • 14 – AWS sendet die Benachrichtigung und wartet 14 Kalendertage, bevor mit der Außerbetriebnahme der betroffenen Aufgaben begonnen wird.

Der Standardwert ist 7 Tage.

Weitere Informationen finden Sie unter put-account-setting-default und put-account-setting in der Referenz zu Amazon Elastic Container Service API.

Weitere Informationen finden Sie unter AWS Fargate Aufgabe, Stilllegung, Wartezeit.

Kann ich über andere AWS Dienste Benachrichtigungen über die Einstellung von Aufgaben erhalten?

AWS sendet eine Benachrichtigung über die Einstellung einer Aufgabe an den AWS Health Dashboard und an den primären E-Mail-Kontakt auf der AWS-Konto. Das AWS Health Dashboard bietet eine Reihe von Integrationen in andere AWS Dienste, darunter EventBridge. Sie können EventBridge damit die Sichtbarkeit der Hinweise automatisieren (z. B. die Nachricht an ein ChatOps Tool weiterleiten). Weitere Informationen finden Sie unter Lösungsübersicht: Benachrichtigungen über die Einstellung von Aufgaben erfassen.

Kann ich die Außerbetriebnahme einer Aufgabe ändern, nachdem sie geplant wurde?

Nein. Der Zeitplan basiert auf der Wartezeit für die Außerbetriebnahme von Aufgaben, die standardmäßig auf 7 Tage eingestellt ist. Wenn Sie mehr Zeit benötigen, können Sie die Wartezeit auf 14 Tage konfigurieren. Weitere Informationen finden Sie unter Kann ich die Wartezeit für die Außerbetriebnahme von Aufgaben ändern?. Die Änderung dieser Konfiguration gilt für Pensionierungen, die in der future geplant sind. Derzeit geplante Stilllegungen sind davon nicht betroffen. Wenn Sie weitere Bedenken haben, wenden Sie sich an. AWS Support

Kann ich den Zeitpunkt der Ersetzung einer Aufgabe kontrollieren?

Bei Diensten, die die fortlaufende Bereitstellung verwenden, aktualisieren Sie den Dienst update-service mithilfe der force-deployment Option vor dem Start der Außerbetriebnahme.

Im folgenden update-service Beispiel wird die force-deployment Option verwendet.

aws ecs update-service —-service service_name \ --cluster cluster_name \ --force-new-deployment

Für Dienste, die die blaue/grüne Bereitstellung verwenden, müssen Sie eine neue Bereitstellung in AWS CodeDeploy erstellen. Informationen zum Erstellen der Bereitstellung finden Sie unter Create-Deployment in der Referenz.AWS Command Line Interface

Wie geht Amazon ECS mit Aufgaben um, die Teil eines Service sind?

Amazon ECS ersetzt nach und nach die betroffenen Aufgaben in Ihrem Service, wenn die Pensionierung von Fargate beginnt. Wenn Amazon ECS eine Aufgabe beendet, verwendet es den minimalen fehlerfreien Prozentsatz des Service und startet eine neue Aufgabe, um die gewünschte Anzahl an Aufgaben für den Service beizubehalten. Eine neue Aufgabe wird gestartet, bevor eine Aufgabe gestoppt wird, da der standardmäßige Mindeststatus bei 100 liegt. Dienstaufgaben werden routinemäßig auf die gleiche Weise ersetzt, wenn Sie den Dienst skalieren, Konfigurationsänderungen vornehmen oder Überarbeitungen der Aufgabendefinitionen bereitstellen. Weitere Informationen zum fehlerfreien Mindestprozentsatz finden Sie unter. Bereitstellungskonfiguration

Kann Amazon ECS eigenständige Aufgaben automatisch bearbeiten?

Nein. AWS kann keine Ersatzaufgabe für eigenständige Aufgaben erstellenRunTask, die von geplanten Aufgaben (z. B. über EventBridge Scheduler) AWS Batch, oder AWS Step Functions gestartet werden. Amazon ECS verwaltet nur Aufgaben, die Teil eines Service sind.