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à.
Risoluzione della deviazione con un’operazione di importazione
Ci possono essere casi in cui la configurazione di una risorsa ha deviato dalla configurazione prevista e si desidera accettare la nuova configurazione come configurazione prevista. Nella maggior parte dei casi, è possibile risolvere i risultati della deviazione aggiornando la definizione della risorsa nel modello di stack con una nuova configurazione e quindi eseguire un aggiornamento dello stack. Tuttavia, se la nuova configurazione aggiorna una proprietà della risorsa che richiede la sostituzione, la risorsa verrà ricreata durante l’aggiornamento dello stack. Se si desidera mantenere la risorsa esistente, è possibile utilizzare la funzionalità di importazione delle risorse per aggiornare la risorsa e risolvere i risultati della deviazione senza causare la sostituzione della risorsa.
La risoluzione della deviazione per una risorsa tramite un’operazione di importazione consiste nelle fasi di base riportate di seguito.
-
Aggiungere un attributo DeletionPolicy, impostato su Retain, alla risorsa. In questo modo la risorsa esistente viene mantenuta anziché eliminata quando viene rimossa dallo stack.
-
Rimuovere la risorsa dal modello ed eseguire un’operazione di aggiornamento dello stack. Questa operazione rimuove la risorsa dallo stack, ma non la elimina.
-
Descrivere lo stato effettivo della risorsa nel modello di stack e quindi importare nuovamente la risorsa esistente nello stack. Questa operazione aggiunge nuovamente la risorsa nello stack e risolve le differenze di proprietà che causavano i risultati di deviazione.
Per ulteriori informazioni sull’importazione delle risorse, consulta Importazione manuale delle risorse AWS in uno stack CloudFormation. Per un elenco di risorse che supportano l’importazione, consulta Supporto del tipo di risorse.
In questo esempio, viene utilizzato il modello seguente, denominato templateToImport.json.
In questo esempio, supponiamo che un utente abbia modificato una risorsa al di fuori di CloudFormation. Dopo aver eseguito il rilevamento della deviazione, abbiamo scoperto che è GamesTable stato modificato da BillingMode in PAY_PER_REQUEST. Per ulteriori informazioni sul rilevamento delle deviazioni, consulta Rileva le modifiche non gestite della configurazione di stack e risorse con il rilevamento della deviazione.
Il nostro stack è ora obsoleto, le nostre risorse sono attive, ma vogliamo preservare la configurazione delle risorse desiderata. Possiamo farlo risolvendo la deviazione attraverso un’operazione di importazione, senza interrompere i servizi.
Risolvere la deriva con un’operazione di importazione utilizzando la console CloudFormation
Fase 1: Aggiornare lo stack con la policy di eliminazione Retain
Per aggiornare lo stack utilizzando un attributo DeletionPolicy con l’opzione Retain
Accedere alla Console di gestione AWS e aprire la console di CloudFormation all’indirizzo https://console.aws.amazon.com/cloudformation
. -
Nella pagina Stack scegliere lo stack che ha deviato.
-
Scegliere Aggiorna, quindi Sostituisci modello corrente dal riquadro dei dettagli dello stack.
-
Nella pagina Specifica modello fornire il modello aggiornato contenente l’attributo
DeletionPolicycon l’opzioneRetainutilizzando uno dei seguenti metodi:-
Scegliere URL Amazon S3, quindi specificare l’URL per il tuo modello nella casella di testo.
-
Scegliere Carica un file modello, quindi cercare il modello.
Quindi, seleziona Successivo.
-
-
Esaminare la pagina Specifica dettagli stack e scegliere Avanti.
-
Esaminare la pagina Configura opzioni stack e scegliere Avanti.
-
Nella pagina Esamina
nome stackscegliere Aggiorna stack.
Risultati: nella pagina Eventi dello stack, lo stato è UPDATE_COMPLETE.
Per risolvere la deviazione attraverso un’operazione di importazione, senza interrompere i servizi, specificare un attributo DeletionPolicy Retain per le risorse che si desidera rimuovere dallo stack. Nell’esempio seguente è stato aggiunto un attributo DeletionPolicy impostato su Retain, alla risorsa GamesTable.
Fase 2: Rimozione delle risorse deviate, dei parametri correlati e degli output
Per rimuovere le risorse deviate, i parametri correlati e gli output
-
Scegliere Aggiorna, quindi Sostituisci modello corrente dal riquadro dei dettagli dello stack.
-
Nella pagina Specifica modello fornire al modello aggiornato le risorse, i parametri correlati e gli output rimossi dal modello di stack utilizzando uno dei seguenti metodi:
-
Scegliere URL Amazon S3, quindi specificare l’URL per il tuo modello nella casella di testo.
-
Scegliere Carica un file modello, quindi cercare il modello.
Quindi, seleziona Successivo.
-
-
Esaminare la pagina Specifica dettagli stack e scegliere Avanti.
-
Esaminare la pagina Configura opzioni stack e scegliere Avanti.
-
Nella pagina Esamina
nome stackscegliere Aggiorna stack.
Risultati: ID logico GamesTable ha lo stato DELETE_SKIPPED nella pagina Events Eventi dello stack.
Attendere fino a che CloudFormation completa l’operazione di aggiornamento dello stack. Al termine dell’operazione di aggiornamento dello stack, rimuovere la risorsa, i parametri correlati e gli output dal modello di stack. Quindi, importare il modello aggiornato. Dopo aver completato queste operazioni, il modello di esempio sarà simile al seguente.
Fase 3. Aggiornamento del modello in modo che corrisponda allo stato attivo delle risorse
Per aggiornare il modello in modo che corrisponda allo stato attivo delle risorse
-
Per importare il modello aggiornato, scegliere Operazioni stack quindi scegliere Importa risorse nello stack.
-
Esaminare la pagina Panoramica importazione per un elenco di elementi da fornire durante questa operazione, quindi scegliere Avanti.
-
Nella pagina Specifica modello, fornire il modello aggiornato utilizzando uno dei metodi descritti di seguito.
-
Scegliere URL Amazon S3, quindi specificare l’URL per il tuo modello nella casella di testo.
-
Scegliere Carica un file modello, quindi cercare il modello.
Quindi, seleziona Successivo.
-
-
Nella pagina Identifica risorse, identifica ogni risorsa di destinazione. Per ulteriori informazioni, consulta Identificatori di risorse .
-
In Proprietà identificatore, scegliere il tipo di identificatore di risorsa. Ad esempio, la proprietà
TableNameidentificherà la risorsaAWS::DynamoDB::Table. -
In Valore identificatore, immettere il valore effettivo della proprietà. Nel modello di esempio,
TableNameper la risorsaGamesTableèGames. -
Scegli Successivo.
-
-
Esaminare la pagina Specifica dettagli stack e scegliere Avanti.
-
Nella pagina Panoramica importazione esaminare le risorse importate, quindi scegliere Importa risorse. Questa operazione importerà il tipo di risorsa
AWS::DynamoDB::Tablenello stack.
Risultati: in questo esempio, è stata risolta la deviazione delle risorse attraverso un’operazione di importazione, senza interrompere i servizi. È possibile controllare lo stato di avanzamento di un’operazione di importazione nella console CloudFormation nella scheda Eventi. Le risorse importate avranno uno stato IMPORT_COMPLETE seguito da uno stato CREATE_COMPLETE con Importazione risorse completata come motivo dello stato.
Attendere fino a che CloudFormation completa l’operazione di aggiornamento dello stack. Al termine dell’operazione di aggiornamento dello stack, aggiornare il modello in modo che corrisponda allo stato effettivo di deviazione delle risorse. Ad esempio, BillingMode verrà impostato su PAY_PER_REQUEST e ReadCapacityUnits e WriteCapacityUnits saranno impostati su 0.