Direktes Aktualisieren von Stacks - AWS CloudFormation

Direktes Aktualisieren von Stacks

Wenn Sie schnell Aktualisierungen an Ihrem Stack bereitstellen möchten, führen Sie eine direkte Aktualisierung aus. Mit einer direkten Aktualisierung senden Sie eine Vorlage oder Eingabeparameter zur Angabe der Aktualisierungen an den Ressourcen im Stack, und AWS CloudFormation stellt sie sofort bereit. Wenn Sie eine Vorlage für Ihre Aktualisierungen verwenden möchten, können Sie die aktuelle Vorlage ändern und lokal oder in einem S3-Bucket speichern.

Für Ressourceneigenschaften, die Aktualisierungen nicht unterstützen, müssen Sie die aktuellen Werte beibehalten. Um vor der Aktualisierung eine Vorschau der Änderungen anzuzeigen, die AWS CloudFormation an Ihrem Stack vornehmen wird, verwenden Sie Änderungssätze. Weitere Informationen finden Sie unter Aktualisieren von Stacks mithilfe von Änderungssätzen.

Anmerkung

Beim Aktualisieren eines Stacks unterbricht AWS CloudFormation möglicherweise Ressourcen oder ersetzt aktualisierte Ressourcen, je nachdem, welche Eigenschaften Sie aktualisieren. Weitere Informationen zum Verhalten von Ressourcenaktualisierungen finden Sie unter Aktualisieren von Verhalten von Stack-Ressourcen.

So aktualisieren Sie einen AWS CloudFormation-Stack (Konsole)

  1. Wählen Sie in der AWS CloudFormation-Konsole in der Stack-Liste den laufenden Stack aus, den Sie aktualisieren möchten.

  2. Klicken Sie im Detailbereich des Stacks auf Update (Aktualisieren).

  3. Wenn Sie die Stack-Vorlage nicht geändert haben, wählen Sie Use current template (Aktuelle Vorlage verwenden) und dann Next (Weiter) aus.

    Wenn Sie die Vorlage geändert haben, wählen Sie Replace current template (Aktuelle Vorlage ersetzen) aus und geben Sie den Speicherort der aktualisierten Vorlage im Abschnitt Specify template (Vorlage angeben) an:

    • Für eine lokal auf Ihrem Computer gespeicherte Vorlage wählen Sie Upload a template file (Vorlagendatei hochladen) aus. Wählen Sie Choose File (Datei auswählen) aus, um zur Datei zu navigieren. Wählen Sie die Datei aus und wählen Sie Next (Weiter) aus.

      Anmerkung

      Wenn Sie eine lokale Vorlagendatei hochladen, lädt AWS CloudFormation diese in einen Amazon Simple Storage Service (Amazon S3)-Bucket in Ihrem AWS-Konto hoch. Wenn Sie noch keinen S3-Bucket haben, der von AWS CloudFormation erstellt wurde, wird für jede Region ein eindeutiger Bucket erstellt, in den Sie eine Vorlagendatei hochladen. Wenn Sie bereits über einen S3-Bucket verfügen, der von AWS CloudFormation in Ihrem AWS-Konto erstellt wurde, fügt AWS CloudFormation die Vorlage zu diesem Bucket hinzu.

      Überlegungen zu S3-Buckets, die von AWS CloudFormation erstellt werden

      • Auf die Buckets kann jeder Benutzer mit Amazon S3-Berechtigungen in Ihrem AWS-Konto zugreifen.

      • AWS CloudFormation erstellt die Buckets mit standardmäßig aktivierter serverseitigen Verschlüsselung, wodurch alle in dem Bucket gespeicherte Objekte verschlüsselt werden.

        Sie können Verschlüsselungsoptionen für Buckets, die AWS CloudFormation erstellt hat, direkt verwalten, und zwar z. B. mit der Amazon S3-Konsole unter https://console.aws.amazon.com/s3/ oder in der AWS CLI. Weitere Informationen finden Sie unter Amazon S3-Standardverschlüsselung für S3-Buckets im Entwicklerhandbuch für Amazon Simple Storage Service.

      • Sie können Ihren eigenen Bucket verwenden und dessen Berechtigungen durch manuelles Hochladen von Vorlagen in Amazon S3 verwalten. Geben Sie die Amazon S3-URL einer Vorlagendatei an, wenn Sie einen Stack erstellen oder aktualisieren.

    • Für eine in einem Amazon S3-Bucket gespeicherte Vorlage wählen Sie Amazon S3-URL aus. Geben Sie die URL für die Vorlage ein bzw. fügen Sie sie ein und wählen Sie dann Weiter aus.

      Wenn Sie über eine Vorlage in einem Bucket mit aktiviertem Versioning verfügen, können Sie eine bestimmte Version der Vorlage angeben, z. B. https://s3.amazonaws.com/templates/myTemplate.template?versionId=123ab1cdeKdOW5IH4GAcYbEngcpTJTDW. Weitere Informationen finden Sie unter Verwalten von Objekten in einem Bucket mit aktiviertem Versioning im Konsolenbenutzerhandbuch für Amazon Simple Storage Service.

  4. Wenn Ihre Vorlage Parameter enthält, geben Sie auf der Seite Specify stack details (Stack-Details angeben) die Parameterwerte an oder ändern Sie sie und wählen Sie dann Next (Weiter) aus.

    AWS CloudFormation füllt jeden Parameter mit dem Wert, der aktuell im Stack festgelegt ist. Ausgenommen sind Parameter, die mit dem Attribut NoEcho deklariert sind. Sie können auch die aktuellen Werte weiter nutzen, indem Sie Use existing value (Vorhandenen Wert verwenden) auswählen.

    Weitere Informationen zum Maskieren vertraulicher Daten mit NoEcho sowie zum Verwenden dynamischer Parameter zur Verwaltung von Secrets enthält die bewährte Methode Keine Anmeldeinformationen in Ihre Vorlagen einbetten.

    
          Parameterfeld mit aktivierter Option „Use existing value (Vorhandenen Wert verwenden)“
  5. Auf der Seite Stack-Optionen konfigurieren können Sie die Tags und Berechtigungen aktualisieren, die auf den Stack angewendet werden, sowie erweiterte Optionen wie z. B. Stack-Richtlinie, Rollback-Konfiguration ändern oder das Amazon SNS-Benachrichtigungsthema aktualisieren.

    Weitere Informationen zu diesen Optionen finden Sie unter Festlegen von AWS CloudFormation-Stack-Optionen.

    Klicken Sie auf Next (Weiter).

  6. Überprüfen Sie die Stack-Informationen und die Änderungen, die Sie übermittelt haben.

    Überprüfen Sie, ob Sie die richtigen Informationen gesendet haben, z. B. die richtigen Parameterwerte oder die richtige Vorlagen-URL. Wenn Ihre Vorlage IAM-Ressourcen enthält, wählen Sie I acknowledge that this template may create IAM resources, um anzugeben, dass Sie IAM-Ressourcen in der Vorlage verwenden möchten. Weitere Informationen zum Verwenden von IAM-Ressourcen in Vorlagen finden Sie unter Zugriffssteuerung mit AWS Identity and Access Management.

    Überprüfen Sie im Abschnitt Change set preview (Änderungssatzvorschau), ob AWS CloudFormation alle Änderungen ausführen wird, die Sie erwarten. Beispielsweise können Sie überprüfen, ob AWS CloudFormation die Ressourcen hinzufügt, entfernt und ändert, die Sie hinzufügen, entfernen oder ändern wollten. AWS CloudFormation erzeugt diese Vorschau, indem er ein Änderungsset für den Stapel erstellt. Weitere Informationen finden Sie unter Aktualisieren von Stacks mithilfe von Änderungssätzen.

  7. Wenn Sie Ihre Änderungen vorgenommen haben, wählen Sie Update stack (Stack aktualisieren) aus.

    Anmerkung

    An dieser Stelle haben Sie auch die Möglichkeit, den Änderungssatz anzusehen, um Ihre vorgeschlagenen Updates sorgfältiger zu überprüfen. Um dies zu tun, wählen Sie View change set (Änderungssatz anzeigen) anstelle von Update stack (Stack aktualisieren) aus. CloudFormation zeigt den auf der Grundlage Ihrer Updates generierten Änderungssatz. Wenn Sie bereit sind, den Stack zu aktualisieren, wählen Sie Execute (Ausführen) aus.

    CloudFormation zeigt die Stack-Detailseite für Ihren Stack mit dem ausgewählten Bereich Events (Ereignisse) an. Ihr Stack verfügt jetzt über den Status UPDATE_IN_PROGRESS. Nachdem CloudFormation den Stack erfolgreich aktualisiert hat, wird der Stack-Status auf UPDATE_COMPLETE gesetzt.

    Wenn die Stack-Aktualisierung fehlschlägt, setzt CloudFormation die Änderungen automatisch zurück und legt den Status auf UPDATE_ROLLBACK_COMPLETE fest.

    Anmerkung

    Sie können eine Aktualisierung abbrechen, während sie sich im Status UPDATE_IN_PROGRESS befindet. Weitere Informationen finden Sie unter Stornieren einer Stack-Aktualisierung.

So aktualisieren Sie einen AWS CloudFormation-Stack (AWS CLI)

  • Verwenden Sie den Befehl aws cloudformation update-stack, um einen Stack direkt zu aktualisieren. Sie geben den Stack und Parameterwerte und Funktionen an, die Sie aktualisieren möchten, sowie, falls Sie eine aktualisierte Vorlage verwenden möchten, den Namen der Vorlage.

    Das folgende Beispiel aktualisiert die Vorlage und die Eingabeparameter für den Stack mystack:

    PROMPT> aws cloudformation update-stack --stack-name mystack --template-url https://s3.amazonaws.com/sample/updated.template --parameters ParameterKey=VPCID,ParameterValue=SampleVPCID ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2

    Das folgende Beispiel aktualisiert nur die SubnetIDs-Parameterwerte für den Stack mystack:

    PROMPT> aws cloudformation update-stack --stack-name mystack --use-previous-template --parameters ParameterKey=VPCID,UsePreviousValue=true ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2

    Im folgenden Beispiel werden zwei Stack-Benachrichtigungsthemen zum Stack mystack hinzugefügt:

    PROMPT> aws cloudformation update-stack --stack-name mystack --use-previous-template --notification-arns "arn:aws:sns:us-east-1:12345678912:mytopic" "arn:aws:sns:us-east-1:12345678912:mytopic2"

    Im folgenden Beispiel werden alle Stack-Benachrichtigungsthemen vom Stack mystack entfernt:

    PROMPT> aws cloudformation update-stack --stack-name mystack --use-previous-template --notification-arns []