Modifica di un modello di stack - 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à.

Modifica di un modello di stack

Se si desidera modificare le risorse e le proprietà dichiarate in un modello di stack, è necessario modificare il modello dello stack. Per essere sicuri di aggiornare solo le risorse desiderate, utilizzare il modello per lo stack esistente come punto di partenza ed effettuare gli aggiornamenti a quel modello. Se si gestisce il modello in un sistema di controllo di origine, è possibile utilizzare una copia del modello come punto di partenza. Altrimenti, puoi ottenere una copia di un modello di stack da. CloudFormation

Se si desidera modificare solo i parametri o le impostazioni di uno stack (ad esempio l'argomento Amazon SNS di uno stack ), è possibile riutilizzare il modello di stack esistente. Non è necessario ottenere una copia del modello di stack o modificarlo.

Nota

Se il modello include una modifica non supportata, CloudFormation restituisce un messaggio che indica che la modifica non è consentita. Tuttavia, questo messaggio potrebbe apparire in modo asincrono, poiché per impostazione predefinita le risorse vengono create e aggiornate CloudFormation in un ordine non deterministico.

Aggiornamento del modello di uno stack (console)

Nota

Application Composer in modalità CloudFormation console è un miglioramento rispetto a Designer. AWS CloudFormation Si consiglia di utilizzare Application Composer anziché Designer ogni volta che è possibile. Per ulteriori informazioni, consulta Utilizzo di Application Composer per creare modelli visivamente.

  1. Nella pagina Stacks della CloudFormation console, fai clic sul nome dello stack che desideri aggiornare.

  2. Nel riquadro dettagli dello stack per lo stack selezionato, selezionare il riquadro Template (Modello), quindi fare clic su View in Designer (Visualizza nel Designer).

    AWS CloudFormation apre una copia del modello dello stack in Designer. AWS CloudFormation

  3. Modificare il modello.

    È possibile utilizzare l' drag-and-drop interfaccia AWS CloudFormation Designer o l'editor JSON e YAML integrato per modificare il modello. Per ulteriori informazioni sull'utilizzo di AWS CloudFormation Designer, consultate. Usare il vecchio AWS CloudFormation Designer per creare modelli

    Modificare solo le risorse che si desidera aggiornare. Utilizzare gli stessi valori della configurazione di stack corrente per le risorse e le proprietà che non si intende aggiornare. È possibile modificare il modello completando una delle operazioni seguenti:

    • Aggiungere nuove risorse o rimuovere le risorse esistenti.

      Per la maggior parte delle risorse, modificare il nome logico equivale a eliminare la risorsa sostituendola con una nuova. È necessario aggiornare anche tutte le altre risorse che dipendono dalla risorsa rinominata e questo potrebbe comportarne la sostituzione. Per altre risorse, l'avvio di un aggiornamento richiede l'aggiornamento di una proprietà (non solo del nome logico).

    • Aggiungere, modificare o eliminare le proprietà delle risorse esistenti.

      Per informazioni sugli effetti dell'aggiornamento di particolari proprietà delle risorse, consultate il AWS Resource Types Reference. Per ogni proprietà, l'effetti di un aggiornamento sarà uno dei seguenti:

    • Aggiungere, modificare o eliminare gli attributi per le risorse (MetadataDependsOn, CreationPolicy, UpdatePolicy e DeletionPolicy).

      Importante

      Non è possibile aggiornare l'attributo CreationPolicy o UpdatePolicy da solo. È possibile aggiornarli solo quando si includono modifiche che comportano l'aggiunta, la modifica o l'eliminazione di risorse. Ad esempio, è possibile aggiungere o modificare gli attributi di metadati di una risorsa.

    • Aggiungere, modificare o eliminare le dichiarazioni dei parametri. Tuttavia, non è possibile aggiungere, modificare o eliminare un parametro che viene utilizzato da una risorsa che non supporta gli aggiornamenti.

    • Aggiungere, modificare o eliminare le dichiarazioni di mappatura.

      Importante

      Se i valori in una mappatura non vengono utilizzati dal proprio stack, non è possibile aggiornare la mappatura direttamente. È necessario includere modifiche che comportano l'aggiunta, la modifica o l'eliminazione delle risorse. Ad esempio, è possibile aggiungere o modificare gli attributi di metadati di una risorsa. Se si aggiorna un valore di mappatura utilizzato dallo stack, non è necessario effettuare le altre modifiche per iniziare un aggiornamento.

    • Aggiungere, modificare o eliminare le dichiarazioni delle condizioni.

      Importante

      Non è possibile aggiornare solo le condizioni. Le condizioni possono essere aggiornate solo se si includono modifiche che comportano l'aggiunta, la modifica o l'eliminazione di risorse. Ad esempio, è possibile aggiungere o modificare gli attributi di metadati di una risorsa.

    • Aggiungere, modificare o eliminare le dichiarazioni dei valori di output.

    Alcune risorse o proprietà potrebbero avere vincoli su valori di proprietà o sulle modifiche apportate a tali valori. Ad esempio, le modifiche apportate alla proprietà AllocatedStorage di una risorsa AWS::RDS::DBInstance devono essere maggiori dell'impostazione corrente. Se il valore specificato per l'aggiornamento non soddisfa i vincoli, l'aggiornamento per la risorsa non riesce. Per i vincoli specifici sulle modifiche AllocatedStorage, vedi ModifyDBInstance.

    Gli aggiornamenti a una risorsa possono influenzare le proprietà di altre risorse. Se hai utilizzato la Fn::GetAtt funzione Ref or per specificare un attributo di una risorsa aggiornata come parte del valore di una proprietà in un'altra risorsa del modello, aggiorna CloudFormation anche la risorsa che contiene il riferimento alla proprietà che è stata modificata. Ad esempio, se si aggiorna la MasterUsername proprietà di una AWS::RDS::DBInstance risorsa e si dispone di una AWS::AutoScaling::LaunchConfiguration risorsa con una UserData proprietà che contiene un riferimento al nome dell'istanza DB utilizzando la Ref funzione, CloudFormation si ricrea l'istanza DB con un nuovo nome e si aggiorna anche la LaunchConfiguration risorsa.

  4. Per verificare la presenza di errori di sintassi nel modello, dalla barra degli strumenti di AWS CloudFormation Designer, scegliete Convalida modello ().

    Visualizzare e correggere gli errori nel riquadro Messages (Messaggi), quindi convalidare nuovamente il modello. Se non vengono visualizzati errori, il modello è sintatticamente valido.

  5. Dalla barra degli strumenti di AWS CloudFormation Designer, scegliete il menu File ( ) e poi Salva per salvare il modello in un bucket S3 o localmente.

  6. Usa il modello modificato per aggiornare direttamente lo stack o aggiornare lo stack utilizzando un set di modifiche.

Ottenere e aggiornare un modello per uno stack (CLI)

  1. Per ottenere il modello per lo stack che desideri aggiornare, usa il comando CLI get-template.

  2. Copiare il modello, incollarlo in un file di testo, modificarlo e salvarlo. Copiare solo il modello. Nel comando il modello è racchiuso tra virgolette, ma le virgolette non vanno copiate. Il modello vero e proprio inizia con una parentesi graffa aperta e termina con la parentesi graffa finale chiusa. Specificare le modifiche alle risorse dello stack in questo file.

  3. Usa il modello modificato per aggiornare direttamente lo stack o aggiornare lo stack utilizzando un set di modifiche.