Aktualisieren eines Amazon-ECS-Services - Amazon Elastic Container Service

Aktualisieren eines Amazon-ECS-Services

Nachdem Sie einen Service erstellt haben, müssen Sie möglicherweise die Serviceparameter aktualisieren, beispielsweise die Anzahl der Aufgaben.

Wenn Sie einen Service aktualisieren, der den Amazon-ECS-Schutzschalter verwendet, erstellt Amazon ECS eine Servicebereitstellung und eine Service-Revision. Diese Ressourcen ermöglichen es Ihnen, detaillierte Informationen zum Service-Verlauf einzusehen. Weitere Informationen finden Sie unter Anzeigen des Service-Verlaufs mithilfe von Service-Bereitstellungen in Amazon ECS.

Voraussetzungen

Überprüfen Sie vor dem Aktualisieren eines Services, welche Serviceparameter für Ihren Bereitstellungstyp geändert werden können. Eine vollständige Liste der Parameter, die Sie ändern können, finden Sie unter Aktualisieren der Amazon-ECS-Serviceparameter.

Verfahren

Console
  1. Öffnen Sie die Konsole unter https://console.aws.amazon.com/ecs/v2.

  2. Wählen Sie auf der Cluster-Seite den Cluster aus.

  3. Aktivieren Sie auf der Seite mit den Cluster-Details im Abschnitt Services das Kontrollkästchen neben dem Service und wählen Sie dann Aktualisieren aus.

  4. Wählen Sie Force new deployment (Neue Bereitstellung erzwingen) aus, damit Ihr Service eine neue Bereitstellung startet.

  5. Wählen Sie für Aufgabendefinition die Aufgabendefinitionsfamilie und die Version aus.

    Wichtig

    Die Konsole überprüft, ob die ausgewählte Aufgabendefinitionsfamilie und -revision mit der definierten Rechenkonfiguration kompatibel sind. Wenn Sie eine Warnung erhalten, überprüfen Sie sowohl die Kompatibilität Ihrer Aufgabendefinition als auch die ausgewählte Rechenkonfiguration.

  6. Wenn Sie Replica (Replikat) gewählt haben, geben Sie bei Desired tasks (Gewünschte Aufgaben) die Anzahl der Aufgaben ein, die im Service gestartet und gepflegt werden sollen.

  7. Wenn Sie Replikat auswählen, damit Amazon ECS die Verteilung der Aufgaben auf die Availability Zones überwacht und sie bei einem Ungleichgewicht neu verteilt, wählen Sie unter Service-Neuausgleich der Availability Zone die Option Service-Neuausgleich der Availability Zone aus.

  8. Für Min running tasks (Min. laufende Aufgaben) geben Sie die untere Grenze für die Anzahl der Aufgaben im Service an, die während eines Einsatzes in diesem RUNNING-Zustand verbleiben müssen, und zwar als Prozentsatz der gewünschten Anzahl von Aufgaben (aufgerundet auf die nächste ganze Zahl). Weitere Informationen finden Sie unter Bereitstellungs-Konfiguration.

  9. Geben Sie für Max running tasks (Max. laufende Aufgaben) die Obergrenze für die Anzahl der Aufgaben im Service ein, die sich während einer Bereitstellung im Status RUNNING oder PENDING befinden dürfen, und zwar als Prozentsatz der gewünschten Anzahl von Aufgaben (abgerundet auf die nächste Ganzzahl).

  10. Um zu konfigurieren, wie Aufgaben für Ihren Service bereitgestellt werden, erweitern Sie die Bereitstellungsoptionen und konfigurieren Sie dann Ihre Optionen.

    1. Geben Sie als Bereitstellungs-Controller-Typ den Servicebereitstellungs-Controller an. Die Amazon-ECS-Konsole unterstützt die folgenden Controller-Typen: ECS.

    2. Wählen Sie unter Bereitstellungsstrategie die Strategie aus, die Amazon ECS für die Bereitstellung neuer Versionen des Service verwendet.

    3. Abhängig von der ausgewählten Bereitstellungsstrategie gehen Sie wie folgt vor:

      Bereitstellungsstrategie Schritte

      Laufende Aktualisierung

      1. Geben Sie für Min. % ausgeführte Aufgaben einen prozentualen Mindestwert für die Anzahl der Aufgaben an, die während einer Servicebereitstellung ausgeführt werden müssen. Weitere Informationen finden Sie unter Bereitstellen von Amazon-ECS-Services durch Ersetzung von Aufgaben.

      2. Geben Sie für Max. % ausgeführte Aufgaben einen prozentualen Höchstwert für die Anzahl der Aufgaben an, die während einer Servicebereitstellung ausgeführt werden können. Weitere Informationen finden Sie unter Bereitstellen von Amazon-ECS-Services durch Ersetzung von Aufgaben.

      Blau/Grün

      Geben Sie für Bake-Zeit eine Zeitdauer in Minuten an, nach der blaue und grüne Service-Revisionen gleichzeitig ausgeführt werden sollen. Weitere Informationen finden Sie unter Amazon ECS-Blau/Grün-Bereitstellungen.

    4. Um Lambda-Funktionen für eine Lebenszyklusphase auszuführen, gehen Sie unter Bereitstellungs-Lebenszyklus-Hooks für jede einzelne Lambda-Funktion wie folgt vor:

      1. Wählen Sie Hinzufügen aus.

        Wiederholen Sie den Prozess für jede einzelne Funktion, die Sie ausführen möchten.

      2. Geben Sie für Lambda-Funktion den Funktionsnamen ein.

      3. Wählen Sie für Rolle die Rolle aus, die Sie in den Voraussetzungen mit den blauen/grünen Berechtigungen erstellt haben.

        Weitere Informationen finden Sie unter Erforderliche Berechtigungen für Lambda-Funktionen in Amazon-ECS-Blau/Grün-Bereitstellungen.

      4. Wählen Sie für Lebenszyklusphasen die Phasen aus, in denen die Lambda-Funktion ausgeführt wird.

      5. (Optional) Geben Sie für Hook-Details ein Schlüssel-Wert-Paar ein, das Informationen über den Hook bereitstellt.

  11. Um zu konfigurieren, wie Amazon ECS Bereitstellungsfehler erkennt und behandelt, erweitern Sie Deployment failure detection (Erkennung von Bereitstellungsfehlern) und wählen Sie dann Ihre Optionen.

    1. Um eine Bereitstellung anzuhalten, wenn die Aufgaben nicht gestartet werden können, wählen Sie Use the Amazon ECS deployment circuit breaker (Verwenden des Amazon-ECS-Bereitstellungsschutzschalters).

      Wenn Sie möchten, dass die Software die Bereitstellung automatisch auf den letzten abgeschlossenen Bereitstellungsstatus zurücksetzt, wenn der Bereitstellungs-Schutzschalter die Bereitstellung auf einen fehlgeschlagenen Status setzt, wählen Sie Rollback bei Fehler aus.

    2. Um eine Bereitstellung basierend auf Anwendungsmetriken anzuhalten, wählen Sie CloudWatch-Alarm(e) verwenden aus. Wählen Sie dann unter CloudWatch-Alarmname die Alarme aus. Verwenden Sie die CloudWatch-Konsole, um einen neuen Alarm zu erstellen.

      Damit die Software die Bereitstellung automatisch auf den zuletzt abgeschlossenen Bereitstellungsstatus zurücksetzt, wenn ein CloudWatch-Alarm die Bereitstellung in einen fehlgeschlagenen Status versetzt, wählen Sie Rollback bei Fehler aus.

  12. Um die Rechenoptionen zu ändern, erweitern Sie Rechenkonfiguration und gehen Sie wie folgt vor:

    1. Für Services auf AWS Fargate, für Platform version (Plattformversion), wählen Sie die neue Version.

    2. Bei Services, die eine Kapazitätsanbieter-Strategie verwenden, verfahren Sie bei der Kapazitätsanbieter-Strategie wie folgt:

      • Um einen zusätzlichen Kapazitätsanbieter hinzuzufügen, wählen Sie Weitere hinzufügen aus. Wählen Sie dann für Kapazitätsanbieter den Kapazitätsanbieter aus.

      • Um einen Kapazitätsanbieter zu entfernen, wählen Sie rechts neben dem Kapazitätsanbieter die Option Entfernen aus.

      Ein Service, der einen Auto-Scaling-Gruppen-Kapazitätsanbieter verwendet, kann nicht aktualisiert werden, um einen Fargate-Kapazitätsanbieter zu verwenden. Ein Service, der einen Fargate-Kapazitätsanbieter verwendet, kann nicht aktualisiert werden, um einen Auto-Scaling-Gruppen-Kapazitätsanbieter zu verwenden.

  13. (Optional) Um Service-Auto-Scaling zu konfigurieren, erweitern Sie Service-Auto-Scaling und geben Sie dann die folgenden Parameter an. Um prädiktives Auto Scaling zu verwenden, das vergangene Ladedaten aus Datenverkehrsflüssen betrachtet, konfigurieren Sie dies, nachdem Sie den Service erstellt haben. Weitere Informationen finden Sie unter Verwenden historischer Muster für die prädiktive Skalierung von Amazon-ECS-Services.

    1. Um das Auto Scaling der Services zu verwenden, wählen Sie Auto Scaling des Services.

    2. Geben Sie unter Mindestanzahl an Aufgaben, die Untergrenze der Anzahl der Aufgaben an, die das Service-Auto-Scaling verwenden kann. Die gewünschte Anzahl wird diese Anzahl nicht unterschreiten.

    3. Geben Sie unter Höchstanzahl an Aufgaben die Obergrenze der Anzahl der Aufgaben an, die das Service-Auto-Scaling verwenden kann. Die gewünschte Anzahl wird diese Anzahl nicht überschreiten.

    4. Wählen Sie den Richtlinien-Typ aus. Wählen Sie unter Skalierungsrichtlinientyp eine der folgenden Optionen aus.

      Zur Verwendung dieses Richtlinientyps Vorgehensweise

      Ziel-Nachverfolgung

      1. Wählen Sie für Scaling policy type (Typ der Skalierungsrichtlinie) Target tracking (Ziel-Nachverfolgung) aus.

      2. Geben Sie unter Policy name (Richtlinienname) einen Namen für diese Richtlinie ein.

      3. Für ECS-Service-Metrik, wählen Sie eine der folgenden Metriken aus.

        • ECSServiceAverageCPUUtilization – Durchschnittliche CPU-Auslastung des Services.

        • ECSServiceAverageMemoryUtilisation – Durchschnittliche Speicherauslastung des Services.

        • ALBRequestCountPerTarget – Anzahl der Anforderungen, die pro Ziel in einer Zielgruppe von Application Load Balancer abgeschlossen wurden.

      4. Für Target value (Zielwert) geben Sie den Wert ein, den der Service für die ausgewählte Metrik beibehält.

      5. Geben Sie für Ruhephase vor dem Aufskalieren die Zeitspanne in Sekunden ein, die nach einer Aufskalierungsaktion (Aufgaben hinzufügen) verstreichen muss, bevor eine weitere Aufskalierungsaktion gestartet werden kann.

      6. Geben Sie für Ruhephase vor dem Abskalieren die Zeitspanne in Sekunden ein, die nach einer Abskalierungsaktion (Aufgaben entfernen) gewartet werden muss, bevor eine weitere Abskalierungsaktion gestartet werden kann.

      7. Um zu verhindern, dass die Richtlinie eine Abskalierungsaktivität ausführt, wählen Sie Turn off scale-in (Abskalierung ausschalten).

      8. • (Optional) Wählen Sie Abskalieren deaktivieren aus, wenn Sie möchten, dass Ihre Skalierungsrichtlinie bei erhöhtem Datenverkehr aufskaliert, sie aber nicht bei abnehmenden Datenverkehr abskalieren muss.

      Schrittweise Skalierung
      1. Wählen Sie für Scaling policy type (Typ der Skalierungsrichtlinie) Step scaling (Schrittweise Skalierung) aus.

      2. Geben Sie unter Richtlinienname den Namen für diese Richtlinie ein.

      3. Geben Sie unter Alarm name (Alarmname) einen eindeutigen Namen für den Alarm ein.

      4. Wählen Sie für die Amazon-ECS-Service-Metrik die Metrik, die für den Alarm verwendet werden soll.

      5. Wählen Sie für Statistik die Alarmstatistik aus.

      6. Wählen Sie unter Zeitraum den Zeitraum für den Alarm aus.

      7. Wählen Sie unter Alarmzustand aus, wie die ausgewählte Metrik mit dem definierten Schwellenwert verglichen werden soll.

      8. Geben Sie unter Schwellenwert für den Vergleich von Metriken und Auswertungszeitraum für die Auslösung des Alarms den Schwellenwert für den Alarm ein und wie lange der Schwellenwert ausgewertet werden soll.

      9. Führen Sie unter Skalierungsaktionen die folgenden Schritte aus:

        • Wählen Sie unter Aktion aus, ob Sie Aufgaben zu Ihrem Service hinzufügen oder davon entfernen möchten, oder eine bestimmte gewünschte Anzahl an Aufgaben festlegen möchten.

        • Wenn Sie Aufgaben hinzufügen oder entfernen möchten, geben Sie unter Wert die Anzahl der Aufgaben (oder den Prozentsatz der vorhandenen Aufgaben) ein, die hinzugefügt oder entfernt werden soll, wenn die Skalierungsaktion ausgelöst wird. Wenn Sie die gewünschte Anzahl festlegen möchten, geben Sie die Anzahl der Aufgaben ein. Wählen Sie unter Typ aus, ob der Wert eine Ganzzahl oder ein Prozentwert der vorhandenen gewünschten Anzahl ist.

        • Geben Sie für Untergrenze und Obergrenze die Untergrenze und Obergrenze der schrittweisen Skalierungsanpassung ein. Standardmäßig ist die untere Grenze für eine Hinzufügerichtlinie die Alarmschwelle und die obere Grenze ist positiv (+) unendlich. Standardmäßig ist die obere Grenze für eine Entfernerichtlinie die Alarmschwelle und die untere Grenze ist negativ (-) unendlich.

        • (Optional) Fügen Sie zusätzliche Skalierungsoptionen hinzu. Wählen Sie Neue Skalierungsaktion hinzufügen und wiederholen Sie dann die Schritte unter Skalierungsaktionen.

        • Geben Sie für Ruhephase die Zeitspanne in Sekunden ein, für die darauf gewartet wird, dass eine vorherige Skalierungsaktion wirksam wird. Bei einer Richtlinie zum Hinzufügen ist dies die Zeit nach einer Aufskalierungsaktion, in der die Skalierungsrichtlinie Abskalierungsaktionen blockiert und begrenzt, wie viele Aufgaben gleichzeitig aufskaliert werden können. Bei einer Entfernungsrichtlinie ist dies die Zeit nach einer Abskalierungsaktion, die verstreichen muss, bevor eine weitere Abskalierungsaktion gestartet werden kann.

  14. (Optional) Um Service Connect zu verwenden, wählen Sie Turn on Service Connect (Service Connect aktivieren) aus, und geben Sie dann Folgendes an:

    1. Geben Sie unter Service Connect configuration (Service-Connect-Konfiguration) den Client-Modus an.

      • Wenn Ihr Service eine Netzwerk-Client-Anwendung ausführt, die nur eine Verbindung zu anderen Services im Namespace herstellen muss, wählen Sie Nur Client-Seite aus.

      • Wenn Ihr Service eine Netzwerk- oder Webservice-Anwendung ausführt und Endpunkte für diesen Service bereitstellen muss und eine Verbindung zu anderen Services im Namespace herstellt, wählen Sie Client and server (Client und Server) aus.

    2. Um einen Namespace zu verwenden, der nicht der Standard-Cluster-Namespace ist, wählen Sie für Namespace den Service-Namespace aus. Dies kann ein Namespace sein, der separat in derselben AWS-Region in Ihrem AWS-Konto erstellt wurde, oder ein Namespace in derselben Region, der mit AWS Resource Access Manager (AWS RAM) mit Ihrem Konto geteilt wird. Weitere Informationen über geteilte AWS Cloud Map-Namespaces finden Sie unter Kontenübergreifende gemeinsame Nutzung von AWS Cloud Map-Namespaces im Entwicklerhandbuch für AWS Cloud Map

  15. Wenn Ihre Aufgabe ein Daten-Volume verwendet, das mit der Konfiguration bei der Bereitstellung kompatibel ist, können Sie das Volume konfigurieren, indem Sie Volume erweitern.

    Der Volume-Name und der Volume-Typ werden konfiguriert, wenn Sie eine Revision der Aufgabendefinition erstellen, und können nicht geändert werden, wenn Sie einen Service aktualisieren. Um den Namen und den Typ des Volumes zu aktualisieren, müssen Sie eine neue Revision der Aufgabendefinition erstellen und den Service mithilfe der neuen Revision aktualisieren.

    So konfigurieren Sie diesen Volume-Typ Vorgehensweise

    Amazon EBS

    1. Wählen Sie für EBS-Volume-Typ den Typ des EBS-Volumes aus, den Sie Ihrer Aufgabe zuordnen möchten.

    2. Geben Sie für Größe (GiB) einen gültigen Wert für die Volume-Größe in Gibibyte (GiB) ein. Sie können eine Volume-Größe von mindestens 1 GiB und eine maximale Volume-Größe von 16 384 GiB angeben. Dieser Wert ist erforderlich, sofern Sie keine Snapshot-ID angeben.

    3. Geben Sie für IOPS die maximale Anzahl der Ein-/Ausgabevorgänge pro Sekunde (IOPS) ein, die das Volume bereitstellen soll. Dieser Wert ist nur für die Volume-Typen io1, io2 und gp3 konfigurierbar.

    4. Geben Sie für den Durchsatz (MiB/s) den Durchsatz in Mebibyte pro Sekunde (MiBps oder MiB/s) ein, den das Volume bereitstellen soll. Dieser Wert ist nur für den Volume-Typ gp3 konfigurierbar.

    5. Wählen Sie für Snapshot-ID einen vorhandenen Snapshot eines Amazon-EBS-Volumes aus oder geben Sie den ARN eines Snapshots ein, wenn Sie ein Volume aus einem Snapshot erstellen möchten. Sie können ein neues, leeres Volume auch erstellen, indem Sie keine Snapshot-ID auswählen oder eingeben.

    6. Wenn Sie eine Snapshot-ID angeben, können Sie eine Volume-Initialisierungsrate (MIB/s) angeben. Geben Sie einen Wert zwischen 100 und 300 in MiB/s ein, der bestimmt, wie schnell Daten aus dem Snapshot geladen werden, der mit der Snapshot-ID für die Volume-Erstellung angegeben wurde.

    7. Wählen Sie unter Dateisystemtyp den Typ des Dateisystems aus, das für das Speichern und Abrufen von Daten auf dem Volume verwendet werden soll. Sie können entweder den Betriebssystemstandard oder einen bestimmten Dateisystemtyp wählen. Die Standardeinstellung für Linux ist XFS. Für Volumes, die aus einem Snapshot erstellt wurden, müssen Sie denselben Dateisystemtyp angeben, den das Volume bei der Erstellung des Snapshots verwendet hat. Wenn der Dateisystemtyp nicht übereinstimmt, kann die Aufgabe nicht gestartet werden.

    8. Wählen Sie für die Infrastrukturrolle eine IAM-Rolle mit den erforderlichen Berechtigungen, die es Amazon ECS ermöglicht, Amazon-EBS-Volumes für Aufgaben zu verwalten. Sie können die von AmazonECSInfrastructureRolePolicyForVolumes verwaltete Richtlinie an die Rolle anhängen, oder Sie können die Richtlinie als Leitfaden verwenden, um eine eigene Richtlinie mit Berechtigungen zu erstellen und anzuhängen, die Ihren spezifischen Anforderungen entsprechen. Weitere Informationen zu den erforderlichen Berechtigungen finden Sie unter IAM-Rolle für die Amazon-ECS-Infrastruktur.

    9. Wählen Sie für Verschlüsselung die Option Standard, wenn Sie die Einstellungen für die standardmäßige Amazon-EBS-Verschlüsselung verwenden möchten. Wenn für Ihr Konto standardmäßige Verschlüsselung konfiguriert ist, wird das Volume mit dem Schlüssel AWS Key Management Service (AWS KMS) verschlüsselt, der in der Einstellung angegeben ist. Wenn Sie Standard wählen und die Amazon-EBS-Standardverschlüsselung nicht aktiviert ist, wird das Volume unverschlüsselt.

      Wenn Sie Benutzerdefiniert wählen, können Sie einen AWS KMS key Ihrer Wahl für die Volume-Verschlüsselung angeben.

      Wenn Sie Keine wählen, wird das Volume unverschlüsselt, es sei denn, Sie haben die Verschlüsselung standardmäßig konfiguriert oder Sie erstellen ein Volume aus einem verschlüsselten Snapshot.

    10. Wenn Sie Benutzerdefiniert für Verschlüsselung ausgewählt haben, müssen Sie den AWS KMS key angeben, den Sie verwenden möchten. Wählen Sie für KMS-Schlüssel einen AWS KMS key aus oder geben Sie einen Schlüssel-ARN ein. Wenn Sie Ihr Volume mithilfe eines symmetrischen, vom Kunden verwalteten Schlüssels verschlüsseln möchten, stellen Sie sicher, dass Sie in der AWS KMS key-Richtlinie über die richtigen Berechtigungen verfügen. Weitere Informationen finden Sie unter Datenverschlüsselung für Amazon-EBS-Volumes.

    11. (Optional) Unter Tags können Sie Ihrem Amazon-EBS-Volume Tags hinzufügen, indem Sie entweder Tags aus der Aufgabendefinition oder dem Service weitergeben oder Ihre eigenen Tags angeben.

      Wenn Sie Tags aus der Aufgabendefinition weitergeben möchten, wählen Sie Aufgabendefinition für Tags weitergeben aus. Wenn Sie Tags aus dem Service weitergeben möchten, wählen Sie Service für Tags weitergeben von aus. Wenn Sie Nicht weitergeben auswählen oder wenn Sie keinen Wert auswählen, werden die Tags nicht weitergegeben.

      Wenn Sie Ihre eigenen Tags angeben möchten, wählen Sie Tag hinzufügen und geben Sie dann den Schlüssel und den Wert für jedes Tag ein, das Sie hinzufügen möchten.

      Weitere Informationen zum Erstellen von Amazon-EBS-Volumes finden Sie unter Markieren eines Amazon-EBS-Volumes.

  16. (Optional) Um Ihren Service leichter identifizieren zu können, erweitern Sie die Tags (Tags) und konfigurieren Sie dann Ihre Tags.

    • [Tag hinzufügen] Wählen Sie Tag hinzufügen, und führen Sie die folgenden Schritte aus:

      • Geben Sie bei Key (Schlüssel) den Schlüsselnamen ein.

      • Geben Sie bei Value (Wert) den Wert des Schlüssels ein.

    • [Tag entfernen] Wählen Sie neben dem Tag die Option Remove tag (Tag löschen) aus.

  17. Wählen Sie Aktualisieren.

AWS CLI
  • Führen Sie update-service. Weitere Informationen über die Ausführung des Befehls finden Sie unter update-service in der Befehlsreferenz zu AWS Command Line Interface.

    Im folgenden update-service-Beispiel wird die gewünschte Aufgabenanzahl des Services my-http-service auf 2 aktualisiert.

    Ersetzen Sie user-input durch Ihre eigenen Werte.

    aws ecs update-service \ --cluster MyCluster \ --service my-http-service \ --desired-count 2

Nächste Schritte

Verfolgen Sie Ihre Bereitstellung und zeigen Sie Ihren Service-Verlauf für Services an, die der Amazon-ECS-Schutzschalter unterbricht. Weitere Informationen finden Sie unter Anzeigen des Service-Verlaufs mithilfe von Service-Bereitstellungen in Amazon ECS.