Set di modifiche per stack nidificati - AWS CloudFormation

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Set di modifiche per stack nidificati

Con i set di modifiche per gli stack nidificati è possibile visualizzare in anteprima le modifiche alle risorse dell'applicazione e dell'infrastruttura nell'intera gerarchia dello stack nidificato e procedere con gli aggiornamenti dopo aver confermato che tutte le modifiche sono come previsto.

Per ulteriori dettagli sui set di modifiche per gli stack nidificati, vedere le sezioni seguenti:

Panoramica dei set di modifiche e degli stack nidificati

I set di modifiche per gli stack nidificati uniscono le seguenti funzionalità per espandere l'ambito di visualizzazione in anteprima delle modifiche all'intera gerarchia dello stack:

  • I set di modifiche sono una CloudFormation funzionalità che offre un'anteprima dell'impatto delle modifiche proposte a uno stack sulle risorse esistenti o appena create. Dopo aver creato un set di modifiche, CloudFormation fornisce un elenco di modifiche proposte confrontando lo stack con le modifiche alle risorse inviate. Per ulteriori informazioni sui set di modifiche, vedere Aggiornamento di stack utilizzando i set di modifiche.

  • Gli stack nidificati sono stack creati all'interno di altri stack. Per creare uno stack annidato, specifica la AWS::CloudFormation::Stackrisorsa nella Resource sezione del modello. Ad esempio, è possibile che si disponga di risorse correlate alla rete e alla sicurezza in uno stack nidificato e risorse dell'applicazione in un altro. Il partizionamento dei modelli applicativi in questo modo aiuta con la manutenibilità e il riutilizzo del codice. Per ulteriori informazioni sugli stack nidificati, consultare Gestione di stack nidificati.

Gestione dei set di modifiche per stack nidificati (console)

  • Creare un set di modifiche – Crea un set di modifiche inviando le modifiche da qualsiasi livello della gerarchia dello stack. È possibile inviare un modello di stack modificato o valori dei parametri di input modificati e CloudFormation confrontare lo stack nidificato con le modifiche inviate per generare un set di modifiche. I set di modifiche per gli stack nidificati sono abilitati per impostazione predefinita nella console. CloudFormation Per ulteriori informazioni, consulta Creazione di un set di modifiche.

    Per impostazione predefinita, la creazione di un set di modifiche per gli stack nidificati è abilitata.
    Nota

    Un set di modifiche root è il set di modifiche associato allo stack da cui viene creata l'intera gerarchia dei set di modifiche. È necessario eseguire o eliminare i set di modifiche per gli stack nidificati dal set di modifiche root.

  • Visualizza il set di modifiche – Visualizza le modifiche alle risorse all'interno degli stack nidificati prima di eseguirle. È possibile visualizzare le modifiche proposte nella sezione Modifiche del set di modifiche esplorando lo stack corrente e i relativi set di modifiche nidificati. Per ulteriori informazioni, vedere Visualizzazione di un set di modifiche.

  • Eseguire il set di modifiche – Eseguire le modifiche descritte nel set di modifiche relativo allo stack corrente e ai relativi discendenti. L'operazione di esecuzione deve essere eseguita dal set di modifiche root. Per ulteriori informazioni, vedere Esecuzione di un set di modifiche.

  • Elimina il set di modifiche – Rimuove i set di modifiche dallo stack corrente. L'eliminazione di un set di modifiche consente di impedire all'utente o a un altro utente di avviare accidentalmente un set di modifiche che non deve essere applicato. L'operazione di eliminazione deve essere eseguita dal set di modifiche root. Per ulteriori informazioni, consulta Eliminazione di un set di modifiche.

Gestione dei set di modifiche per stack nidificati (AWS CLI)

  • create-change-set: per impostazione predefinita, i set di modifiche per gli stack nidificati non sono abilitati per la AWS CLI. Per creare un set di modifiche per l'intera gerarchia dello stack, specificare il parametro --include-nested-stacks. Per ulteriori informazioni, consulta Per creare un set di modifiche (AWS CLI).

L' AWS CLI esempio seguente è di un create-change-set input.

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

L' AWS CLI esempio seguente è di un create-change-set output.

{ "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— Restituisce un elenco di modifiche che CloudFormation verranno apportate se si esegue il set di modifiche. Se il set di modifiche specificato contiene set di modifiche secondarie che appartengono a stack nidificati, ChangeSetId restituirà informazioni su tale set di modifiche. Per ulteriori informazioni, consulta Per visualizzare un set di modifiche (AWS CLI).

L' AWS CLI esempio seguente è di un describe-change-set input per il set di modifiche dello stack principale.

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

L' AWS CLI esempio seguente mostra un describe-change-set output per il set di modifiche dello stack root.

{ "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 }

L' AWS CLI esempio seguente è di un describe-change-set input per il set di modifiche allo stack annidato.

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

L' AWS CLI esempio seguente mostra un describe-change-set output per il set di modifiche allo stack annidato.

{ "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 – Crea o aggiorna uno stack utilizzando le informazioni fornite in input al momento della creazione del set di modifiche specificato. Per creare un set di modifiche per l'intera gerarchia dello stack, specificare il parametro –include-nested-stacks durante il processo create-change-set. Per ulteriori informazioni, consulta Per eseguire un set di modifiche (AWS CLI).

    Nota

    execute-change-set deve essere eseguito dal set di modifiche root e applicherà il set di modifiche all'intera gerarchia di stack.

L' AWS CLI esempio seguente è di un execute-change-set input.

aws cloudformation execute-change-set \ --stack-name my-root-stack \ --change-set-name my-root-stack-change-set
  • delete-change-set – Elimina il set di modifiche specificato. L'eliminazione dei set di modifiche garantisce che nessuno esegua il set di modifiche errato. L'eliminazione dei set di modifiche è asincrona per i set di modifiche creati con il parametro –include-nested-stacks. Per ulteriori informazioni, consulta Per eliminare un set di modifiche (AWS CLI).

    Nota

    delete-change-set deve essere eseguito dal set di modifiche root ed eliminerà l'intera gerarchia dei set di modifiche. Anche gli stack nidificati nello stato REVIEW_IN_PROGRESS verranno eliminati se sono stati creati durante l'operazione create-change-set.

L' AWS CLI esempio seguente è di un delete-change-set input sul root change set.

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