Bereiten Sie sich auf die AWS Fargate Fargate-Aufgaben auf Amazon ECS vor - 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.

Bereiten Sie sich auf die AWS Fargate Fargate-Aufgaben auf Amazon ECS vor

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 EC2 Amazon-Eventfenster.

  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 zur erzwungenen Bereitstellung aktualisieren. Dieser Schritt ist optional.

Schritt 1: Stellen Sie die Wartezeit für Aufgaben ein oder verwenden Sie EC2 Amazon-Eventfenster

Sie haben zwei Kontoeinstellungsoptionen, um den Zeitpunkt zu konfigurieren, zu dem Fargate die Stilllegung von Aufgaben startet: und. fargateTaskRetirementWaitPeriod fargateEventWindows

Verwenden Sie die Kontoeinstellungen fargateTaskRetirement WaitPeriod

Sie können den Zeitpunkt konfigurieren, zu dem Fargate mit der Außerbetriebnahme der Aufgabe beginnt. Die Standard-Wartezeit 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 die 7 Option oder 14 Tag.

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 Außerbetriebnahme der betroffenen Aufgaben begonnen wird. Dies 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-defaultund put-account-settingin der Amazon Elastic Container Service API-Referenz.

Verwenden Sie die fargateEventWindows Kontoeinstellungen

Ab dem 18.12.2025 können Sie mit Amazon ECS EC2 Amazon-Eventfenster für Ihre Fargate-Aufgaben konfigurieren. Wenn Sie eine genaue Kontrolle über den genauen Zeitpunkt der Außerbetriebnahme von Aufgaben benötigen, z. B. indem Sie sie an Wochenenden planen, um Unterbrechungen während der Geschäftszeiten zu vermeiden, können Sie EC2 Amazon-Eventfenster für Ihre Aufgaben, Services 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 zurückgezogen werden, sofern sie nicht durch benutzerinitiierte Aktionen oder kritische Integritätsereignisse wie eine Verschlechterung der zugrunde liegenden Hardware gestoppt werden.

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

Jedes EC2 Amazon-Eventfenster 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 langer Dauer (8 Stunden oder mehr) oder häufigeren Zeiträumen zu konfigurieren, die mindestens einmal alle 3 Tage auftreten. Weitere Hinweise zu EC2 Amazon-Ereignisfenstern finden Sie im Benutzerhandbuch. Es 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 eine Verschlechterung der zugrunde liegenden Hardware gestoppt werden.

Wichtig

Es empfiehlt sich, Aufgaben innerhalb des Ereignisfensters zu ersetzen. Wenn Sie feststellen, dass Aufgaben außerhalb Ihres Veranstaltungsfensters zurückgezogen werden, sollten Sie erwägen, die Dauer zu verlängern (8 Stunden oder mehr) oder die Häufigkeit zu erhöhen (mindestens einmal alle 3 Tage).

So wenden Sie EC2 Amazon-Eventfenster auf Ihre Abmeldungen von Fargate-Aufgaben an:

  • Stellen Sie die Kontoeinstellung fargateEventWindows auf enabled ein. Sie können eine der folgenden Optionen verwenden APIs: 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 Event Windows-Funktion für Ihre Fargate-Aufgaben ist.

  • Erstellen Sie über die AWS-Konsole oder die AWS-CLI ein EC2 Amazon-Event-Fenster. Verwenden Sie EC2 create-instance-event-window API mit Zeitbereichen oder Cron-Ausdrücken, um ein Ereignisfenster mit CLI zu erstellen. Notieren Sie sich das 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 Cron-Ausdrücke beim Erstellen von EC2 Ereignisfenstern 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
  • You can then associate the event window with specific services, clusters or all tasks in your account using EC2associate-instance-event-window API.
    • For ECS service tasks
      aws ec2 associate-instance-event-window \ --instance-event-window-id iew-0abcdef1234567890 \ --association-target "InstanceTags=[{Key=aws:ecs:serviceArn,Value=your-service-arn}]"
    • For ECS clusters
      aws ec2 associate-instance-event-window \ --instance-event-window-id iew-0abcdef1234567890 \ --association-target "InstanceTags=[{Key=aws:ecs:clusterArn,Value=your-cluster-arn}]"
    • To associate an event window with all tasks in the account
      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 Ereignisfenster mehreren Diensten oder Clustern zuzuordnen.

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

  • If there is an event window associated with the task's service, it will be used. This is not applicable for standalone or unmanaged tasks.
  • If there is an event window associated with the task's cluster, it will be used.
  • If there is an event window set for all Fargate tasks, it will be used.
  • The fargateTaskRetirementWaitPeriod setting will be used if none of the event windows match with the task.

Konfiguration von Ereignisfenstern für die Fargate-Aufgabenwartung

Stellen Sie sich einen Fall vor, in dem Sie mehrere ECS-Services auf Fargate mit unterschiedlichen Verfügbarkeitsanforderungen ausführen. Sie möchten eine präzise Kontrolle über die Stilllegung von Aufgaben haben. Sie können mehrere Ereignisfenster 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 bis 4 Uhr) und ordnen Sie es mithilfe des Tags allen Fargate-Aufgaben zu. aws:ecs:fargateTask

  • Wartung nur am Wochenende für 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 ordnen Sie es dem Cluster zu, indem Sie das aws:ecs:clusterArn Tag mit Ihrem Cluster-ARN verwenden.

  • Eingeschränktes Zeitfenster für geschäftskritische Dienste: Bei einem geschäftskritischen Zahlungsabwicklungsservice, der an Wochentagen eine hohe Verfügbarkeit erfordert, beschränken Sie die Wartung auf die frühen Morgenstunden am Wochenende (Samstag und Sonntag, 12:00 bis 04:00 Uhr) und ordnen Sie sie dem jeweiligen Dienst zu, indem Sie das Tag mit Ihrem Service-ARN verwenden. aws:ecs:serviceArn

Bei dieser Konfiguration verwendet der Zahlungsdienst sein spezielles Wochenendfenster, 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-defaultund put-account-settingin der Amazon Elastic Container Service API-Referenz.

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

Wenn es eine bevorstehende Außerbetriebnahme einer Aufgabe gibt, AWS sendet eine Benachrichtigung über die Außerbetriebnahme einer Aufgabe an das 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 Amazon EventBridge. Sie können EventBridge es verwenden, um anhand einer Benachrichtigung über die Einstellung einer Aufgabe Automatisierungen zu erstellen, z. B. um die Sichtbarkeit der bevorstehenden Außerbetriebnahme zu erhöhen, indem Sie die Nachricht an ein ChatOps Tool weiterleiten. AWS Health Aware ist eine Ressource, die zeigt, wie leistungsfähig das AWS Health Dashboard ist 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 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 Capturing AWS Fargate Task Retirement Notifications 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 blue/green Deployment verwenden, müssen Sie in ein neues Deployment erstellen AWS CodeDeploy. Informationen zum Erstellen der Bereitstellung finden Sie unter Bereitstellung erstellen in der Referenz für AWS Command Line Interface .