View a markdown version of this page

Aktualisierung eines Amazon ECS Express Mode-Dienstes - 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.

Aktualisierung eines Amazon ECS Express Mode-Dienstes

Der Express Mode-Service vereinfacht den Service-Aktualisierungsprozess, indem er konfigurierbare Optionen für Netzwerk, Load Balancing und Application Auto Scaling sowie die Orchestrierung von Änderungen in diesen Diensten bereitstellt.

Sie können Ihren Express Mode-Dienst aktualisieren, um Container-Images zu ändern, die Ressourcenzuweisung anzupassen oder Konfigurationseinstellungen zu ändern. Updates werden mithilfe von Canary-Bereitstellungen mit alarmbasierten Rollback-Alarmen bereitgestellt, um die Verfügbarkeit aufrechtzuerhalten.

Verhalten bei der Bereitstellung

Ein Express-Modus-Dienst verwendet standardmäßig Canary-Bereitstellungen, um sichere Updates und schnelle Rollbacks zu gewährleisten:

  • Eine neue Umgebung wird erstellt und Aufgaben werden mit Ihren Änderungen bereitgestellt

  • 5% des Datenverkehrs werden in die neue Umgebung verlagert

  • Alarmbasierte Rollbacks werden ausgelöst, wenn die Summe der 4xx- und 5xx-Fehlerprozentsätze > 1 für 2 Datenpunkte innerhalb von 3 Minuten ist

  • Zustandsprüfungen stellen sicher, dass die neuen Aufgaben fehlerfrei sind

  • Nach 3 Minuten Backzeit werden 100% des Datenverkehrs in eine neue Umgebung verlagert

  • Nach 3 Minuten Backzeit zur Überwachung werden alte Aufgaben schrittweise gestoppt und ersetzt

Weitere Informationen finden Sie unter Amazon ECS Canary-Bereitstellungen

Verfahren

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

  2. Klicken Sie im Navigationsbereich auf Cluster.

  3. Wählen Sie auf der Seite „Cluster“ den Namen des Clusters aus, der Ihren Express Mode-Dienst enthält.

  4. Wählen Sie auf der Seite mit den Cluster-Details die Registerkarte Dienste aus.

  5. Konfigurieren Sie einen Filter, um Ihre Dienste im Expressmodus anzuzeigen. Wählen Sie als Ressourcenverwaltungstyp Filter die Option ECS aus.

    Ein Express-Modus-Dienst hat ein Express-Logo neben dem Namen.

  6. Unter Konfiguration:

    1. Geben Sie das Bild an, das für Ihre Anwendung verwendet werden soll. Geben Sie für Image-URI die URI für Ihr Bild ein. Um Ihre Amazon ECR-Bilder zu durchsuchen, wählen Sie „ECR-Bilder durchsuchen“ und gehen Sie dann wie folgt vor:

      1. Wählen Sie für Privates Repository das private Amazon ECR-Repository aus.

      2. Wählen Sie für Image Ihr Image aus.

      3. Wählen Sie aus, wie das Bild identifiziert werden soll. Wählen Sie unter Bild auswählen nach eine der folgenden Optionen aus:

        • AWS empfiehlt, Image Digest zu wählen.

        • Um das Tag zu verwenden, wählen Sie Image-Tag und dann das Tag aus.

    2. Um eine private Registrierung zu verwenden, wählen Sie Private Registrierung aus. Geben Sie dann für Secrets Manager ARN oder Name den Secrets Manager-ARN ein, den Sie in den Voraussetzungen erstellt haben.

    3. Wählen Sie für die Rolle zur Aufgabenausführung die Rollen aus oder erstellen Sie eine neue Rolle und aktualisieren Sie sie. Sie können die Rolle zur Aufgabenausführung aktualisieren, wenn Sie zusätzliche Berechtigungen hinzufügen müssen.

  7. Passen Sie unter Zusätzliche Konfigurationen Ihren Dienst an.

    1. Unter Container:

      1. Aktualisieren Sie für den Container-Port den Port, auf dem Ihre Anwendung lauscht (die Standardeinstellung ist 80).

      2. Aktualisieren Sie für den Integritätsprüfungspfad den Pfad für Integritätsprüfungen (z. B./health).

    2. Fügen Sie unter Umgebungsvariablen Schlüssel-Wert-Paare für Umgebungsvariablen hinzu, die Ihre Anwendung benötigt:

      1. Geben Sie für Key den Namen der Umgebungsvariablen ein.

      2. Wählen Sie als Werttyp die Option Umgebungsvariable oder Geheim aus.

      3. Geben Sie für Wert oder Wert von den Wert oder die Referenz ein.

      4. Wählen Sie Umgebungsvariable hinzufügen, um bei Bedarf weitere Variablen hinzuzufügen.

    3. Geben Sie für Command optional einen benutzerdefinierten Befehl ein, um die Docker-CMD-Anweisung zu überschreiben.

    4. Fügen Sie für die Task-Rolle eine IAM-Rolle hinzu, die Ihrer in Ihren Containern ausgeführten Anwendung Berechtigungen gewährt. Dadurch kann Ihre Anwendung API-Aufrufe an AWS Dienste tätigen.

    5. Unter Compute:

      1. Aktualisieren Sie für CPU die vCPU-Zuweisung für Ihre Aufgaben (z. B. 1 vCPU).

      2. Aktualisieren Sie unter Arbeitsspeicher die Speicherzuweisung für Ihre Aufgaben (z. B. 2 GB).

    6. Unter Auto Scaling:

      1. Wählen Sie für die ECS-Servicemetrik die Metrik aus, nach der skaliert werden soll (z. B. die durchschnittliche Speicherauslastung des ECS-Service oder die Anzahl der Anfragen pro Ziel).

      2. Geben Sie als Zielwert das Ziel für die Skalierung ein (z. B. 60 oder 1000).

      3. Aktualisieren Sie für Mindestanzahl von Aufgaben und Maximale Anzahl von Aufgaben die Skalierungsgrenzen.

    7. Unter Protokolle:

      1. Aktualisieren Sie für die CloudWatch Amazon-Protokollgruppe den Namen der Protokollgruppe für Ihre Anwendungsprotokolle. Beachten Sie, dass dadurch keine vorhandenen Protokolle verschoben werden, sondern mit dem Schreiben von Protokollen aus der neuen Service-Revision begonnen wird.

      2. Geben Sie als Amazon CloudWatch Log Stream-Präfix ein neues Präfix für Log-Streams ein.

  8. Wählen Sie Update, um Ihren Express Mode-Dienst zu aktualisieren.

Aktualisierung mit einer benutzerdefinierten Aufgabendefinition

Sie können Ihren Expressmodus-Dienst mit einer benutzerdefinierten Aufgabendefinition aktualisieren, indem Sie den taskDefinitionArn Parameter angeben. Der Expressmodus verwendet Ihre Aufgabendefinition unverändert und verwaltet weiterhin die restliche Infrastruktur.

Bei nachfolgenden Updates können Sie entweder:

  • Erstellen Sie eine neue Version Ihrer Aufgabendefinition und aktualisieren Sie dietaskDefinitionArn. Der Expressmodus verwendet die neue Version für die nächste Servicebereitstellung.

  • Aktualisieren Sie die Express-Modus-Parameter direkt:

    • Bei Parametern, die nichts mit der Aufgabendefinition zu tun haben (wiehealthCheckPath, oderscalingTarget)networkConfiguration, wendet der Expressmodus die Änderungen an, ohne die Aufgabendefinition zu ändern.

    • Für Parameter, die sich auf die Aufgabendefinition beziehen (z. B. Image, CPU oder Arbeitsspeicher mit primaryContainer odercpu/memory), erstellt der Expressmodus eine neue verwaltete Aufgabendefinition mit Ihren Änderungen, während Ihre andere Konfiguration auf Aufgabenebene beibehalten wird.

Um mit einer benutzerdefinierten Aufgabendefinition zu aktualisieren (Amazon ECS-Konsole)
  1. Öffnen Sie die Amazon ECS-Konsole und navigieren Sie zu Ihrem Express Mode-Dienst.

  2. Wählen Sie den Dropdown-Pfeil neben Service aktualisieren und dann Update mit benutzerdefinierter Aufgabendefinition aus.

  3. Wählen Sie für Aufgabendefinitionsfamilie eine vorhandene Aufgabendefinitionsfamilie aus. Um eine neue Aufgabendefinition zu erstellen, wählen Sie den Link Aufgabendefinitionen.

  4. Wählen Sie für die Revision der Aufgabendefinition die zu verwendende Version aus, oder lassen Sie das Feld leer, um die neueste Version zu verwenden.

  5. (Optional) Erweitern Sie Zusätzliche Konfigurationen, um die Einstellungen für den Integritätsprüfpfad, das Netzwerk oder die automatische Skalierung zu aktualisieren.

  6. Wählen Sie Aktualisieren aus.

Mit dem folgenden AWS AWS CLI Befehl wird Ihr Expressmodus-Dienst mit einer benutzerdefinierten Aufgabendefinition aktualisiert:

aws ecs update-express-gateway-service \ --service-arn arn:aws:ecs:us-west-2:123456789012:service/default/my-service \ --task-definition-arn arn:aws:ecs:us-west-2:123456789012:task-definition/my-td:4
Anmerkung

Wenn Sie Ihren Expressmodus-Dienst taskDefinitionArn zum ersten Mal verwenden CloudFormation und ihn zum ersten Mal erweitern, stellen Sie Ihren Stack zuerst einmal erneut bereit. Dadurch wird die Rollback-Kompatibilität gewährleistet.