View a markdown version of this page

Bereite dich vor auf AWS Stilllegung der Fargate-Aufgabe 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.

Bereite dich vor auf AWS Stilllegung der Fargate-Aufgabe auf Amazon ECS

Gehen Sie wie folgt vor, um sich auf die Außerbetriebnahme von Aufgaben vorzubereiten:

  1. Legen Sie die Wartezeit für die Außerbetriebnahme von Aufgaben fest oder verwenden Sie Amazon EC2-Ereignisfenster.

  2. Erfassen Sie Benachrichtigungen zur Außerbetriebnahme von Aufgaben, um Teammitglieder zu benachrichtigen.

  3. Sie können sicherstellen, dass alle Aufgaben Ihrer Services auf der neuesten Plattformversion ausgeführt werden, indem Sie den Service mit der Option Force-Deployment aktualisieren. Dieser Schritt ist optional.

Schritt 1: Legen Sie die Wartezeit für Aufgaben fest oder verwenden Sie Amazon EC2-Ereignisfenster

Sie haben zwei Optionen für Kontoeinstellungen, um den Zeitpunkt zu konfigurieren, zu dem Fargate mit der Einstellung von Aufgaben beginnt: fargateTaskRetirementWaitPeriod und fargateEventWindows.

Mit FargateTaskRetirementWaitPeriod Kontoeinstellung

Sie können den Zeitpunkt konfigurieren, zu dem Fargate mit der Außerbetriebnahme der Aufgabe beginnt. Die Standardwartezeit beträgt 7 Tage. Wählen Sie für Workloads, die eine sofortige Anwendung der Updates erfordern, die Einstellung „Sofort“ (0). Wenn Sie mehr Zeit benötigen, konfigurieren Sie 7, oder 14 Tagesoption.

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 put-account-setting-default oder put-account-setting als Root-Benutzer oder Administrator 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 Einstellung der betroffenen Aufgaben begonnen wird. Das ist die Standardeinstellung.

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

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

Fargate verwendenEventWindows Kontoeinstellung

Stand von 12/18/2025, Amazon ECS ermöglicht Ihnen die Konfiguration Amazon EC2-Ereignisfenster für Ihre Fargate-Aufgaben. Wenn Sie den genauen Zeitpunkt der Stilllegung von Aufgaben genau kontrollieren müssen, indem Sie sie beispielsweise über Wochenenden planen, um Unterbrechungen während der Geschäftszeiten zu vermeiden, können Sie Amazon EC2-Ereignisfenster für Ihre Aufgaben, Dienste oder Cluster konfigurieren.

Wenn Sie Ereignisfenster verwenden, stellt Fargate sicher, dass Ihre Aufgaben mindestens 3 Tage lang ausgeführt werden, bevor sie innerhalb des nächsten verfügbaren Zeitfensters eingestellt werden, sofern sie nicht durch vom Benutzer initiierte Aktionen oder kritische Integritätsereignisse wie z. B. eine Verschlechterung der zugrunde liegenden Hardware gestoppt werden.

Stellen Sie die Kontoeinstellung fargateEventWindows auf enabled ein. Sie können eine der folgenden APIs verwenden: put-account-setting-default oder put-account-setting als Root-Benutzer oder als Administratorbenutzer.

Jedes Amazon EC2-Ereignisfenster muss mindestens 4 Stunden pro Woche geöffnet sein, und jeder Zeitraum muss mindestens 2 Stunden lang sein. Für große Cluster und Services empfehlen wir, Ereignisfenster mit einer langen Dauer (8 Stunden oder mehr) oder mit häufigeren Zeiträumen zu konfigurieren, die mindestens einmal alle 3 Tage auftreten. Weitere Informationen zu den Überlegungen zu Amazon EC2-Ereignisfenstern finden Sie in der Benutzerleitfaden AWS Fargate stellt sicher, dass Ihre Aufgaben mindestens 3 Tage lang ausgeführt werden, bevor sie eingestellt werden, sofern sie nicht durch vom Benutzer initiierte Aktionen oder kritische Integritätsereignisse wie z. B. eine Verschlechterung der zugrunde liegenden Hardware gestoppt werden.

Wichtig

Es wird nach besten Kräften versucht, Aufgaben innerhalb des Veranstaltungsfensters auszutauschen. Wenn Sie feststellen, dass Aufgaben außerhalb Ihres Veranstaltungsfensters eingestellt werden, sollten Sie erwägen, die Dauer (8 Stunden oder mehr) zu verlängern oder die Häufigkeit zu erhöhen (mindestens einmal alle 3 Tage).

Gehen Sie wie folgt vor, um Amazon EC2-Eventfenster auf die Einstellung Ihrer Fargate-Aufgaben anzuwenden:

  • Stellen Sie die Kontoeinstellung fargateEventWindows auf enabled ein. Sie können eine der folgenden APIs verwenden: put-account-setting-default oder put-account-setting als Root-Benutzer oder als Administratorbenutzer. Beachten Sie, dass dies eine einmalige Aktivierung für die Nutzung der Amazon EC2-Eventfenster-Funktion für Ihre Fargate-Aufgaben ist.

  • Erstellen Sie ein Amazon EC2-Ereignisfenster über die AWS-Konsole oder die AWS-CLI. Verwenden Sie EC2, um ein Ereignisfenster mithilfe der CLI zu erstellen create-instance-event-window API mit Zeitbereichen oder Cron-Ausdrücken. Beachten Sie die InstanceEventWindowId aus der Antwort.

    aws ec2 create-instance-event-window \ --time-range StartWeekDay=monday,StartHour=2,EndWeekDay=wednesday,EndHour=8 \ --tag-specifications "ResourceType=instance-event-window,Tags=[{Key=K1,Value=V1" \ --name myEventWindowName

    Alternativ können Sie beim Erstellen von EC2-Ereignisfenstern Cron-Ausdrücke verwenden.

    aws ec2 create-instance-event-window \ --cron-expression "* 21-23 * * 2,3" \ --tag-specifications "ResourceType=instance-event-window,Tags=[{Key=K1,Value=V1" \ --name myEventWindowName
  • Anschließend können Sie das Eventfenster mithilfe von EC2 bestimmten Diensten, Clustern oder allen Aufgaben in Ihrem Konto zuordnen associate-instance-event-window API.

    • Für ECS-Serviceaufgaben

      aws ec2 associate-instance-event-window \ --instance-event-window-id iew-0abcdef1234567890 \ --association-target "InstanceTags=[{Key=aws:ecs:serviceArn,Value=your-service-arn}]"
    • Für ECS-Cluster

      aws ec2 associate-instance-event-window \ --instance-event-window-id iew-0abcdef1234567890 \ --association-target "InstanceTags=[{Key=aws:ecs:clusterArn,Value=your-cluster-arn}]"
    • Um ein Ereignisfenster mit allen Aufgaben im Konto zu verknüpfen

      aws ec2 associate-instance-event-window \ --instance-event-window-id iew-0abcdef1234567890 \ --association-target "InstanceTags=[{Key=aws:ecs:fargateTask,Value=true}]"

Sie können mehr als ein Schlüssel-Wert-Paar verwenden, um ein Eventfenster mehreren Diensten oder Clustern zuzuordnen.

Fargate wählt das Eventfenster für jede Aufgabe in der folgenden Reihenfolge aus:

  • Wenn dem Dienst der Aufgabe ein Ereignisfenster zugeordnet ist, wird es verwendet. Dies gilt nicht für eigenständige oder nicht verwaltete Aufgaben.

  • Wenn dem Cluster der Aufgabe ein Ereignisfenster zugeordnet ist, wird es verwendet.

  • Wenn für alle Fargate-Aufgaben ein Eventfenster eingerichtet ist, wird es verwendet.

  • Das fargateTaskRetirementWaitPeriod Die Einstellung wird verwendet, wenn keines der Eventfenster mit der Aufgabe übereinstimmt.

Konfiguration von Ereignisfenstern für die Wartung von Fargate-Aufgaben

Stellen Sie sich einen Fall vor, in dem Sie mehrere ECS-Dienste mit unterschiedlichen Verfügbarkeitsanforderungen auf Fargate ausführen. Sie möchten eine präzise Kontrolle über die Stilllegung von Aufgaben haben. Sie können mehrere Eventfenster wie folgt konfigurieren:

  • Standardwartung für alle Fargate-Aufgaben: Erstellen Sie ein Ereignisfenster für routinemäßige Wartungsarbeiten außerhalb der Spitzenzeiten (täglich von 12 Uhr bis 4 Uhr) und verknüpfen Sie es mit allen Fargate-Aufgaben mithilfe der aws:ecs:fargateTask Tag.

  • Weekend-only Wartung für den Entwicklungscluster: Erstellen Sie für einen Entwicklungscluster mit Diensten, die Unterbrechungen am Wochenende tolerieren können, ein 24-Stunden-Wochenendfenster (Samstag und Sonntag, den ganzen Tag) und verknüpfen Sie es mit dem Cluster mithilfe von aws:ecs:clusterArn taggen Sie mit Ihrem Cluster-ARN.

  • Eingeschränktes Zeitfenster für unternehmenskritische Dienste: Beschränken Sie die Wartung für einen geschäftskritischen Zahlungsabwicklungsdienst, der an Wochentagen eine hohe Verfügbarkeit erfordert, auf die frühen Morgenstunden am Wochenende (Samstag und Sonntag, 12 Uhr bis 4 Uhr) und ordnen Sie sie dem jeweiligen Dienst zu, der die aws:ecs:serviceArn taggen Sie mit Ihrem Dienst-ARN.

Bei dieser Konfiguration verwendet der Zahlungsdienst sein spezielles Fenster, das nur am Wochenende gilt, die Dienste und Aufgaben des Entwicklungsclusters verwenden das 24-Stunden-Fenster am Wochenende und alle anderen Fargate-Aufgaben verwenden das standardmäßige tägliche Wartungsfenster.

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

Schritt 2: Erfassen Sie Benachrichtigungen über die Außerbetriebnahme von Aufgaben, um Teams zu benachrichtigen und Maßnahmen zu ergreifen

Wenn eine Aufgabe demnächst außer Kraft gesetzt wird, AWS sendet eine Benachrichtigung über die Außerbetriebnahme einer Aufgabe an den AWS Health Dashboard und an den primären E-Mail-Kontakt auf der AWS-Konto. Das AWS Health Das Dashboard bietet eine Reihe von Integrationen in andere AWS Dienste, einschließlich Amazon EventBridge. Du kannst verwenden EventBridge um anhand einer Benachrichtigung über die Außerbetriebnahme einer Aufgabe Automatisierungen zu erstellen, z. B. um die Sichtbarkeit der bevorstehenden Außerbetriebnahme zu erhöhen, indem die Nachricht an einen ChatOps Werkzeug. AWS Health Aware ist eine Ressource, die die Macht der zeigt AWS Health Dashboard und wie Benachrichtigungen im gesamten Unternehmen verteilt werden können. Sie können eine Benachrichtigung über die Außerbetriebnahme einer Aufgabe an eine Chat-Anwendung wie Slack weiterleiten.

In der folgenden Abbildung ist die Lösungsübersicht dargestellt.

Diagramm, das die Fargate-Lösung zur Erfassung von Benachrichtigungen über die Außerbetriebnahme von Fargate-Aufgaben zeigt.

Die folgenden Informationen enthalten Einzelheiten.

  • Fargate sendet die Benachrichtigung über die Außerbetriebnahme der Aufgabe an das AWS Health -Dashboard.

  • Das AWS Health Das Dashboard sendet E-Mails an den primären E-Mail-Kontakt auf der AWS-Konto und benachrichtigt EventBridge.

  • EventBridge hat eine Regel, die die Benachrichtigung über den Ruhestand erfasst.

    Die Regel sucht nach Ereignissen mit dem Ereignisdetails-Typ: "AWS Health Event" and the Event Detail Type Code: "AWS_ECS_TASK_PATCHING_RETIREMENT"

  • Die Regel löst eine Lambda-Funktion aus, die die Informationen mithilfe eines eingehenden Slack-Webhooks an Slack weiterleitet. Weitere Informationen finden Sie unter Eingehende Webhooks.

Ein Codebeispiel finden Sie unter Erfassen AWS Fargate Benachrichtigungen zur Außerbetriebnahme von Aufgaben auf Github.

Schritt 3: Den Ersatz von Aufgaben steuern

Sie können den genauen Zeitpunkt der Außerbetriebnahme einer Aufgabe nicht kontrollieren, Sie können jedoch eine Wartezeit definieren. Wenn Sie die Kontrolle darüber haben möchten, ob Aufgaben nach Ihrem eigenen Zeitplan ersetzt werden, können Sie die Benachrichtigung über die Außerbetriebnahme einer Aufgabe erfassen, um zunächst das Datum der Außerbetriebnahme der Aufgabe zu ermitteln. Anschließend können Sie Ihren Service erneut bereitstellen, um Ersatzaufgaben zu starten und auch alle eigenständigen Aufgaben zu ersetzen. Bei Services, die eine fortlaufende Bereitstellung verwenden, aktualisieren Sie den Service mit update-service und der Option force-deployment vor Beginn der Außerbetriebnahme.

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

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

Für Dienste, die das verwenden blue/green Bereitstellung, Sie müssen eine neue Bereitstellung erstellen in AWS CodeDeploy. Informationen zum Erstellen der Bereitstellung finden Sie unter Bereitstellung erstellen in der Referenz für AWS Command Line Interface .