Änderungssätze für verschachtelte Stacks - AWS CloudFormation

Änderungssätze für verschachtelte Stacks

Mit Änderungssätzen für verschachtelte Stacks können Sie eine Vorschau der Änderungen an Ihren Anwendungs- und Infrastrukturressourcen in der gesamten verschachtelten Stack-Hierarchie anzeigen und mit Aktualisierungen fortfahren, wenn Sie bestätigt haben, dass alle Änderungen wie beabsichtigt sind.

In den folgenden Abschnitten finden Sie weitere Details zu Änderungssätzen für verschachtelte Stapel:

Überblick über Änderungssätze und verschachtelte Stacks

Änderungssätze für verschachtelte Stacks kombinieren die folgenden Funktionen, um den Umfang der Vorschau von Änderungen in der gesamten Stack-Hierarchie zu erweitern:

  • Änderungsssätze ist eine CloudFormation-Funktion, die eine Vorschau darauf bietet, wie sich vorgeschlagene Änderungen an einem Stack auf bestehende oder neu erstellte Ressourcen auswirken. Wenn Sie einen Änderungssatz erstellen, stellt CloudFormation eine Liste der vorgeschlagenen Änderungen bereit, indem Ihr Stack mit den von Ihnen übermittelten Änderungen verglichen wird. Weitere Informationen zu Änderungssätzen finden Sie unter Aktualisieren von Stacks mit Änderungssätzen.

  • Verschachtelte Stacks sind Stacks, die als Teil anderer Stacks erstellt wurden. Um einen verschachtelten Stack zu erstellen, geben Sie die Ressource AWS::CloudFormation::Stack im Abschnitt Resource Ihrer Vorlage an. Sie können z. B. sicherheitsbezogene Ressourcen in einem verschachtelten Stack haben und Anwendungs-Ressourcen wie Datenbanken in anderen. Die Partitionierung von Anwendungsmodellen hilft auf diese Weise bei der Wartbarkeit und Wiederverwendung von Code. Weitere Informationen zu verschachtelten Stacks finden Sie unter Arbeiten mit verschachtelten Stacks.

Arbeiten mit Änderungssätzen für verschachtelte Stacks (Konsole)

  • Änderungssatz erstellen – Erstellt einen Änderungssatz durch Übermitteln von Änderungen von jeder Ebene der Stack-Hierarchie. Sie können eine geänderte Stack-Vorlage oder geänderte Eingabeparameterwerte übermitteln und CloudFormation vergleicht Ihren verschachtelten Stapel mit den Änderungen, die Sie zur Erstellung eines Änderungssatzes übermittelt haben. Änderungssätze für verschachtelte Stacks sind in der CloudFormation-Konsole standardmäßig aktiviert. Weitere Informationen finden Sie unter Erstellen eines Änderungssatzes.

    
                        Das Erstellen eines Änderungssatzes für verschachtelte Stacks ist standardmäßig aktiviert.
    Anmerkung

    Ein Root-Änderungssatz ist der Änderungssatz, der dem Stack zugeordnet ist, aus dem die gesamte Hierarchie der Änderungssätze erstellt wird. Sie müssen Änderungssätze für verschachtelte Stacks aus dem Root-Änderungssatz ausführen oder löschen.

  • Änderungssatz anzeigen – Visualisieren Sie Änderungen an Ressourcen in verschachtelten Stacks, bevor Sie sie ausführen. Sie können die vorgeschlagenen Änderungen im Abschnitt Änderungen Ihres Änderungssatzes anzeigen, indem Sie durch den aktuellen Stack und seine verschachtelten Änderungssätze navigieren. Weitere Informationen finden Sie unter Anzeigen eines Änderungssatzes.

  • Änderungssatz ausführen –Führen Sie die im Änderungssatz beschriebenen Änderungen aus, die sich auf den aktuellen Stack und seine Nachfolger beziehen. Die Ausführungsaktion muss aus dem Root-Änderungssatz erfolgen. Weitere Informationen finden Sie unter Ausführen eines Änderungssatzes.

  • Änderungssatz löschen – Entfernt die Änderungssätze aus dem aktuellen Stack. Das Löschen eines Änderungssatzes verhindert, dass Sie oder ein anderer Benutzer versehentlich einen Änderungssatz initiieren, der nicht angewendet werden sollte. Die Löschaktion muss aus dem Root-Änderungssatz erfolgen. Weitere Informationen finden Sie unter Löschen eines Änderungssatzes.

Arbeiten mit Änderungssätzen für verschachtelte Stacks (AWS CLI)

  • create-change-set – Änderungssätze für verschachtelte Stacks sind standardmäßig für die AWS CLI aktiviert. Um einen Änderungssatz für die gesamte Stack-Hierarchie zu erstellen, geben Sie den Parameter --include-nested-stacks an. Weitere Informationen finden Sie unter So erstellen Sie einen Änderungssatz (AWS CLI).

Das folgende AWS CLI-Beispiel zeigt eine create-change-set-Eingabe.

aws cloudformation create-change-set \ --stack-name my-root-stack \ --change-set-name my-root-stack-change-set \ --template-body file://template.yaml \ --capabilities CAPABILITY_IAM \ --include-nested-stacks 

Das folgende AWS CLI-Beispiel zeigt eine create-change-set-Ausgabe.

{     "Id":"arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-root-stack-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0",     "StackId": "arn:aws:cloudformation:us-west-2:123456789012:Stack/my-root-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204" }
  • describe-change-set – Gibt eine Liste von Änderungen zurück, die CloudFormation bei der Ausführung des Änderungssatzes vornehmen wird. Wenn der angegebene Änderungssatz untergeordnete Änderungssätze enthält, die zu verschachtelten Stacks gehören, gibt ChangeSetId Informationen über diesen Änderungssatz zurück. Weitere Informationen finden Sie unter So zeigen Sie einen Änderungssatz an (AWS CLI).

Das folgende AWS CLI-Beispiel zeigt eine describe-change-set-Eingabe für den Root-Stack-Änderungssatz.

aws cloudformation describe-change-set \     --change-set-name my-root-stack-change-set \     --stack-name my-root-stack

Das folgende AWS CLI-Beispiel zeigt eine describe-change-set-Ausgabe für den Root-Stack-Änderungssatz.

{ "Changes": [ { "Type": "Resource", "ResourceChange": { "Action": "Modify", "LogicalResourceId": "ChildStack", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-nested-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99205", "ResourceType": "AWS::CloudFormation::Stack", "Replacement": "False", "ChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-nested-stack-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0", "Scope": [ "Properties" ], "Details": [ { "Target": { "Attribute": "Properties", "RequiresRecreation": "Never" }, "Evaluation": "Dynamic", "ChangeSource": "Automatic" } ] } } ], "ChangeSetName": "my-root-stack-change-set", "ChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-root-stack-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-root-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "StackName": "my-root-stack", "IncludeNestedStacks": true, "ParentChangeSetId": null, "RootChangeSetId": null, "Description": null, "Parameters": null, "CreationTime": "2020-11-18T05:20:56.651Z", "ExecutionStatus": "AVAILABLE", "Status": "CREATE_COMPLETE", "StatusReason": null, "NotificationARNs": [ ], "RollbackConfiguration": { }, "Capabilities": [ "CAPABILITY_IAM" ], "Tags": null }

Das folgende AWS CLI-Beispiel zeigt eine describe-change-set-Eingabe für den Änderungssatz des verschachtelten Stacks.

aws cloudformation describe-change-set \     --change-set-name my-nested-stack-change-set \     --stack-name my-nested-stack

Das folgende AWS CLI-Beispiel zeigt eine describe-change-set-Ausgabe für den Änderungssatz des verschachtelten Stacks.

{ "Changes": [ { "Type": "Resource", "ResourceChange": { "Action": "Modify", "LogicalResourceId": "function", "PhysicalResourceId": "my-function", "ResourceType": "AWS::Lambda::Function", "Replacement": "False", "ChangeSetId": null, "Scope": [ "Properties" ], "Details": [ { "Target": { "Attribute": "Properties", "Name": "Timeout", "RequiresRecreation": "Never" }, "Evaluation": "Static", "ChangeSource": "DirectModification" } ] } } ], "ChangeSetName": "my-nested-stack-change-set", "ChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-nested-stack-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-nested-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99205", "ParentChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-root-stack-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0", "RootChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-root-stack-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0", "IncludeNestedStacks": true, "StackName": "my-nested-stack", "Description": null, "Parameters": null, "CreationTime": "2020-11-18T05:20:56.651Z", "ExecutionStatus": "UNAVAILABLE", "Status": "CREATE_COMPLETE", "StatusReason": "Executable from root change set", "NotificationARNs": [ ], "RollbackConfiguration": { }, "Capabilities": [ "CAPABILITY_IAM" ], "Tags": null }
  • execute-change-set – Erstellt oder akktualisiert einen Stack mit den Eingabedaten, die beim Erstellen des angegebenen Änderungssatzes bereitgestellt wurden. Um einen Änderungssatz für die gesamte Stack-Hierarchie zu erstellen, müssen Sie den –include-nested-stacks-Parameter während des create-change-set-Prozesses angeben. Weitere Informationen finden Sie unter So führen Sie einen Änderungssatz aus (AWS CLI).

    Anmerkung

    execute-change-set muss aus dem Root-Änderungssatz ausgeführt werden und wendet den Änderungssatz auf die gesamte Hierarchie der Stacks an.

Das folgende AWS CLI-Beispiel zeigt eine execute-change-set-Eingabe.

aws cloudformation execute-change-set \ --stack-name my-root-stack \      --change-set-name my-root-stack-change-set
  • delete-change-set – Löscht den angegebenen Änderungssatz. Das Löschen von Änderungssätzen stellt sicher, dass niemand den falschen Änderungssatz verwendet. Das Löschen von Änderungssätzen ist für mit dem –include-nested-stacks-Parameter erstellte Änderungssätze asynchron. Weitere Informationen finden Sie unter So löschen Sie einen Änderungssatz (AWS CLI).

    Anmerkung

    delete-change-set muss aus dem Root-Änderungssatz ausgeführt werden und löscht die gesamte Hierarchie der Änderungssätze. Verschachtelte Stacks im Status REVIEW_IN_PROGRESS werden auch gelöscht, wenn sie während der Aktion create-change-set erstellt wurden.

Das folgende AWS CLI-Beispiel zeigt eine delete-change-set-Eingabe für den Root-Änderungssatz.

aws cloudformation delete-change-set \ --stack-name my-root-stack \      --change-set-name my-root-stack-change-set