AWS-Fargate Aufgaben-Wartung - Amazon ECS

AWS-Fargate Aufgaben-Wartung

Wenn AWS angibt, dass für eine Amazon ECS-Aufgabe eine Sicherheits- oder Infrastrukturaktualisierung erforderlich ist, die auf AWS Fargate gehostet ist, müssen die Aufgaben gestoppt und neue Aufgaben gestartet werden, um sie zu ersetzen.

Wenn bei Aufgaben, die Teil eines Amazon-ECS-Services sind, ein Problem mit dem zugrunde liegenden Host vorliegt, stoppt AWS die Aufgabe. Darüber hinaus launcht der Service-Scheduler auch eine neue Aufgabe in einem Versuch, die gewünschte Anzahl für den Service beizubehalten. Wenn dies der Fall ist, wird keine Benachrichtigung zur Außerbetriebnahme der Aufgabe gesendet. Wenn es jedoch ein Sicherheitsproblem mit der zugrunde liegenden Host- oder Plattformversion gibt, die die Aufgabe verwendet, wird eine Benachrichtigung zur Außerbetriebnahme der Aufgabe an Ihr AWS Health Dashboard gesendet. Die Benachrichtigung wird auch an die dem Konto zugeordnete E-Mail-Adresse gesendet. Die Benachrichtigung zum Abbau von Vorgängen enthält Details zum Problem, zum Außerbetriebnahmedatum der Aufgabe und zu den nächsten Schritten. Weitere Informationen finden Sie unter Grundlegendes zur Vorgangsnachricht.

Wenn es bei eigenständigen Aufgaben ein Problem mit dem zugrunde liegenden Host oder ein Sicherheitsproblem mit der Plattformversion gibt, die die Aufgabe verwendet, sendet AWS eine Benachrichtigung zur Außerbetriebnahme der Aufgabe an Ihr AWS Health Dashboard. Die Benachrichtigung wird auch an die dem Konto zugeordnete E-Mail-Adresse gesendet. Die Benachrichtigung zum Abbau von Vorgängen enthält Details zum Problem, zum Außerbetriebnahmedatum der Aufgabe und zu den nächsten Schritten. Weitere Informationen finden Sie unter Grundlegendes zur Vorgangsnachricht.

Wenn eine Aufgabe in einem der hier genannten Szenarien gestoppt wird, können Sie die gestoppte Aufgabe beschreiben, um den stoppedReason-Wert zu erhalten. stoppedReason, das eine ECS is performing maintenance on the underlying infrastructure hosting the task-Nachricht enthält, zeigt an, dass die Aufgabe aufgrund eines Problems mit der Aufgabenwartung beendet wurde.

Wichtig

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.

In der Tabelle unten sind diese Szenarien beschrieben.

Aufgabentyp Problem Action

Eigenständige Aufgabe

Problem mit dem Host

Eine Benachrichtigung zur Außerbetriebnahme von Aufgaben wird mithilfe Ihrer AWS Health Dashboard und E-Mail gesendet. Wenn bis zum Datum der Außerbetriebnahme der Aufgabe keine Aktion ausgeführt wird, stoppt AWS die Aufgabe.

Sicherheitslücke

Eine Benachrichtigung zur Außerbetriebnahme von Aufgaben wird mithilfe Ihrer AWS Health Dashboard und E-Mail gesendet. Wenn bis zum Datum der Außerbetriebnahme der Aufgabe keine Aktion ausgeführt wird, stoppt AWS die Aufgabe.

Service-Aufgabe

Problem mit dem Host

Die Aufgabe wird von AWS angehalten und der Service-Scheduler startet eine neue Aufgabe, um die gewünschte Anzahl für den Service beizubehalten. Es wird keine Benachrichtigung gesendet.

Sicherheitslücke

Eine Benachrichtigung zur Außerbetriebnahme von Aufgaben wird mithilfe Ihrer AWS Health Dashboard und E-Mail gesendet. Wenn bis zum Außerbetriebnahmedatum der Aufgabe keine Aktion ausgeführt wird, stoppt AWS die Aufgabe und der Service-Scheduler startet eine neue Aufgabe, um die gewünschte Anzahl für den Service beizubehalten.

Grundlegendes zur Vorgangsnachricht

Wenn eine Benachrichtigung zur Außerbetriebnahme von Aufgaben gesendet wird, werden Sie per E-Mail über die ausstehende Außerbetriebnahme informiert. Vor dem Ereignis wird eine E-Mail mit der Aufgaben-ID und dem Ausmusterungsdatum gesendet. Diese E-Mail wird an die Adresse gesendet, die Ihrem Konto zugeordnet ist. Das ist dieselbe E-Mail-Adresse, mit der Sie sich bei der AWS Management Console anmelden. Wenn Sie ein E-Mail-Konto verwenden, für das Sie Ihre E-Mails nicht regelmäßig abrufen, können Sie mit dem AWS Health Dashboard ermitteln, ob für eine Ihrer Instances eine Außerbetriebnahme geplant ist. Sie können außerdem auf der Seite Account Settings (Kontoeinstellungen) die Kontaktdaten für Ihr Konto aktualisieren.

Wenn eine Aufgabe ihr planmäßiges Außerbetriebnahme-Datum erreicht hat, wird sie von AWS angehalten oder beendet. Das heißt, falls sie vorher noch nicht angehalten wurde. Wenn bei Serviceaufgaben die Aufgabe beendet wird, startet der Service-Scheduler eine neue Aufgabe, die sie ersetzt, um sicherzustellen, dass der Dienst ihre gewünschte Anzahl beibehält. Eigenständige Aufgaben werden angehalten, und Sie sind für den Launch eines Ersatzes verantwortlich.

Arbeiten mit Aufgaben, die ausgemustert werden sollen

Anmerkung

Dieses Verfahren gilt nur für Servicetasks. Für eigenständige Aufgaben müssen Sie einfach neue eigenständige Aufgaben anhalten und ausführen.

Bei Service-Aufgaben startet der Service-Scheduler eine neue Aufgabe als Ersatz für die alte Aufgabe, wenn das Datum der geplanten Ausmusterung erreicht ist und die Aufgabe gestoppt wird. Der Service Scheduler pflegt die gewünschte Anzahl der Dienste. Wenn Sie die Service-Aufgaben vor dem Ausmusterungsdatum aktualisieren möchten, gehen Sie wie folgt vor. Weitere Informationen finden Sie unter Aktualisierung eines Service.

So aktualisieren Sie einen laufenden Service (AWS Management Console)

  1. Öffnen Sie die Amazon ECS-Konsole unter https://console.aws.amazon.com/ecs/.

  2. Wählen Sie auf der Navigationsleiste die Region aus, in der sich Ihr Cluster befindet.

  3. Klicken Sie im Navigationsbereich auf Clusters (Cluster).

  4. Wählen Sie auf der Seite Clusters (Cluster) den Namen des Clusters aus, in dem sich Ihr Service befindet.

  5. Wählen Sie auf der Seite Cluster: name Services aus.

  6. Aktivieren Sie das Kontrollkästchen links neben dem zu aktualisierenden Service und wählen Sie Aktualisieren aus.

  7. Auf der Seite Configure service werden Ihre Service-Informationen vorausgefüllt. Wählen Sie Force new deployment (Neue Bereitstellung erzwingen) und dann Next step (Nächster Schritt) aus.

    Anmerkung

    Wenn Sie eine neue Bereitstellung erzwingen, startet der Scheduler neue Aufgaben mit der gepatchten Plattform-Version. Sie müssen für Ihre Aufgaben keine andere Plattform-Version auswählen, um sie zu aktualisieren. Weitere Informationen finden Sie unter AWS Fargate-Plattformversionen.

  8. Klicken Sie auf den Seiten Configure network (Netzwerk konfigurieren) und Set Auto Scaling (optional) (Auto Scaling festlegen (optional)) auf Next step (Nächster Schritt).

  9. Wählen Sie Update-Service aus, um den Vorgang abzuschließen und Ihren Service zu aktualisieren.

So aktualisieren Sie einen laufenden Service (AWS CLI)

  1. Erhalten Sie den vollständigen Amazon-Ressourcennamen (ARN) für den Service.

    aws ecs list-services --cluster cluster_name --region region

    Die Ausgabe sieht wie folgt aus.

    {
        "serviceArns": [
            "arn:aws:ecs:region:aws_account_id:service/MyService"
        ]
    }
  2. Aktualisieren Sie den Service, der neue Aufgaben bereitstellt.

    Möglicherweise müssen Sie die force-new-deployment option abhängig von Ihrem Bereitstellungstyp und den geänderten Service-Optionen festlegen. Weitere Informationen darüber, wann Sie die force-new-deployment option festlegen, finden Sie unter update-services in der AWS CLI-Befehlsreferenz.

    aws ecs update-service --service serviceArn --cluster cluster_name --region region

Wenn Sie eigenständige Aufgaben verwenden, können Sie eine neue Aufgabe starten, um diese zu ersetzen. Weitere Informationen finden Sie unter Ausführen einer eigenständigen Aufgabe.