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 dei problemi CloudFormation
Quando lo usi CloudFormation, potresti riscontrare problemi durante la creazione, l'aggiornamento o l'eliminazione degli stack. CloudFormation Le sezioni seguenti sono utili per risolvere alcuni dei problemi più comuni che possono verificarsi.
Per domande generali sull'argomento CloudFormation, consulta la AWS CloudFormation FAQs
Guida alla risoluzione dei problemi
Se CloudFormation non riesci a creare, aggiornare o eliminare lo stack, puoi visualizzare i messaggi di errore o i log per aiutarti a saperne di più sul problema. Le seguenti attività descrivono i metodi generali per la risoluzione di un CloudFormation problema. Per informazioni su errori e soluzioni specifici, consulta la sezione Risoluzione degli errori.
-
Utilizza la console di CloudFormation
per visualizzare lo stato dei tuoi stack. Nella console, puoi visualizzare un elenco degli eventi di stack, mentre lo stack viene creato, aggiornato o eliminato. In questo elenco, trova l'evento relativo al problema e quindi visualizzane il motivo dello stato. Il motivo dello stato potrebbe contenere un messaggio di errore da CloudFormation o proveniente da un particolare servizio che può aiutarti a risolvere il problema. Per ulteriori informazioni sulla visualizzazione degli eventi dello stack, consulta Visualizza le informazioni sullo stack dalla console CloudFormation . -
Per i EC2 problemi di Amazon, visualizza i log cloud-init e cfn. Questi log vengono pubblicati sull'EC2istanza Amazon nella
/var/log/
directory. Questi log acquisiscono i processi e gli output dei comandi durante la CloudFormation configurazione dell'istanza. Per Windows, visualizza il EC2Configure servizio in%ProgramFiles%\Amazon\EC2ConfigService
, EC2 Launch in%ProgramData%\Amazon\EC2-Windows\Launch\Logs
, EC2 Launch v2 in e%ProgramData%\Amazon\EC2Launch\log
cfn accedi.C:\cfn\log
Puoi anche configurare il CloudFormation modello in modo che i log vengano pubblicati su Amazon CloudWatch, che visualizza i log in AWS Management Console modo da non doverti connettere alla tua istanza AmazonEC2. Per ulteriori informazioni, consulta Visualizza CloudFormation i log nella console nel blog sulla
gestione delle applicazioni.
Risoluzione degli errori
Quando riscontri i seguenti errori CloudFormation nello stack, puoi utilizzare le seguenti soluzioni per aiutarti a trovare l'origine dei problemi e risolverli.
Argomenti
- Impossibile eliminare lo stack
- Errore di dipendenza
- AWS Config e conflitti AWS Systems Manager
- Errore del parametro di analisi durante il passaggio di un elenco
- Autorizzazioni IAM insufficienti
- Valore non valido o proprietà della risorsa non supportata
- Quota superata
- Stack nidificati bloccati in UPDATE_COMPLETE_CLEANUP_IN_PROGRESS, UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS o UPDATE_ROLLBACK_IN_PROGRESS
- Nessun aggiornamento da eseguire
- Impossibile stabilizzare una risorsa durante un'operazione di creazione, aggiornamento o eliminazione dello stack
- Il gruppo di sicurezza non esiste in VPC
- Impossibile eseguire il rollback dell'aggiornamento
- La condizione di attesa non ha ricevuto il numero richiesto di segnali da un'EC2istanza Amazon
- Risorsa rimossa dallo stack ma non eliminata.
Impossibile eliminare lo stack
Per risolvere questa situazione, prova quanto segue:
-
Alcune risorse devono essere vuote prima di poter essere eliminate. Ad esempio, devi eliminare tutti gli oggetti in un bucket Amazon S3 o rimuovere tutte le istanze in un gruppo di EC2 sicurezza Amazon prima di poter eliminare il bucket o il gruppo di sicurezza.
-
Verifica di disporre delle necessarie autorizzazioni IAM per eliminare le risorse nello stack. Oltre alle CloudFormation autorizzazioni, devi avere il permesso di utilizzare i servizi sottostanti, come Amazon S3 o Amazon. EC2
-
Se lo stato degli stack è impostato perché CloudFormation non è
DELETE_FAILED
stato possibile eliminare una risorsa, esegui nuovamente l'eliminazione con ilRetainResources
parametro e specifica la risorsa che non può essere eliminata. CloudFormation CloudFormation elimina lo stack senza eliminare la risorsa conservata. La conservazione delle risorse è utile quando non puoi eliminare una risorsa, ad esempio un bucket S3 che contiene oggetti da conservare, ma vuoi comunque eliminare lo stack.Dopo aver eliminato lo stack, è possibile eliminare manualmente le risorse conservate utilizzando il servizio associato. AWS
In alternativa, puoi prendere in considerazione l'utilizzo dell'
FORCE_DELETE_STACK
opzione con ilDeletionMode
parametro. Per ulteriori informazioni sull'eliminazione forzata di una pila, consulta. DeleteStack -
Non è possibile eliminare stack per cui è abilitata la protezione da cessazione. Se tenti di eliminare uno stack con protezione da cessazione abilitata, l'eliminazione ha esito negativo e lo stack, incluso lo stato, rimane invariato. Disabilita la protezione da cessazione sullo stack, quindi esegui nuovamente l'operazione di eliminazione.
Questo vale anche per gli stack nidificati i cui stack radice abbiano abilitata la protezione da cessazione. Disattiva la protezione da cessazione sullo stack radice, quindi esegui nuovamente l'operazione di eliminazione. È consigliabile non eliminare gli stack nidificati direttamente, ma solo nell'ambito dell'eliminazione dello stack radice e di tutte le relative risorse.
Per ulteriori informazioni, consulta Proteggi CloudFormation gli stack dall'eliminazione.
-
Per tutti gli altri problemi, se ne hai Supporto AWS, puoi creare un Supporto caso. Per informazioni, consulta Contattare il supporto.
Errore di dipendenza
Per risolvere un errore di dipendenza, aggiungi un attributo DependsOn
alle risorse che dipendono da altre risorse nel modello. In alcuni casi, è necessario dichiarare esplicitamente le dipendenze in modo da CloudFormation poter creare o eliminare risorse nell'ordine corretto. Ad esempio, se crei un IP elastico e uno VPC con un gateway Internet nello stesso stack, l'IP elastico deve dipendere dall'allegato del gateway Internet. Per ulteriori informazioni, consulta Attributo DependsOn.
AWS Config e conflitti AWS Systems Manager
AWS Config e AWS Systems Manager può automatizzare le attività di gestione dell'infrastruttura che possono causare conflitti con l'implementazione di uno CloudFormation stack. Effettuate le seguenti operazioni per evitare potenziali conflitti:
-
Esaminare la configurazione di AWS Config e Systems Manager nell'area associata Account AWS e Regione AWS.
-
Verifica le regole attive o i documenti di automazione che potrebbero essere attivati durante una CloudFormation distribuzione. Questi possono potenzialmente causare conflitti o dipendenze tra le risorse che sono in conflitto con la distribuzione.
-
Controlla il tuo CloudFormation modello per eventuali risorse gestite da AWS Config e Systems Manager. Verifica la presenza di potenziali sovrapposizioni o interdipendenze e valuta la possibilità di modificare il modello o la configurazione dell'automazione per evitare conflitti.
-
Disattiva o sospendi temporaneamente AWS Config le regole correlate o le automazioni di Systems Manager durante la CloudFormation distribuzione. Ricordati di ripristinare le configurazioni originali dopo la corretta implementazione per mantenere il livello di automazione e conformità desiderato.
-
CloudFormation Esamina i log e i messaggi di errore per eventuali riferimenti a AWS Config problemi relativi a Systems Manager per individuare l'origine del conflitto.
Per ulteriori informazioni sulle automazioni di Systems Manager, vedere AWS Systems Manager Automazione.
Errore del parametro di analisi durante il passaggio di un elenco
Quando usate AWS Command Line Interface o CloudFormation per passare in un elenco, aggiungete il carattere escape (\
) prima di ogni virgola. L'esempio seguente mostra come specificare un parametro di input nella AWS CLI.
ParameterKey=CIDR,ParameterValue='10.10.0.0/16\,10.10.0.0/24\,10.10.1.0/24'
Autorizzazioni IAM insufficienti
Quando lavori con uno CloudFormation stack, non solo hai bisogno delle autorizzazioni per utilizzarlo CloudFormation, ma devi anche avere l'autorizzazione per utilizzare i servizi sottostanti descritti nel tuo modello. Ad esempio, se stai creando un bucket Amazon S3 o avviando un'EC2istanza Amazon, hai bisogno delle autorizzazioni per Amazon S3 o Amazon. EC2 Esamina la tua policy IAM e verifica di disporre delle autorizzazioni necessarie per utilizzare gli stack CloudFormation . Per ulteriori informazioni, consultare Controlla CloudFormation l'accesso con AWS Identity and Access Management.
Valore non valido o proprietà della risorsa non supportata
Quando crei o aggiorni uno CloudFormation stack, lo stack può fallire a causa di parametri di input non validi, nomi di proprietà delle risorse non supportati o valori di proprietà delle risorse non supportati. Per i parametri di input, verifica che la risorsa esista. Ad esempio, quando specifichi una coppia di EC2 key pair o un VPC ID Amazon, la risorsa deve esistere nel tuo account e nella regione in cui stai creando o aggiornando lo stack. Puoi utilizzare tipi AWS di parametri specifici per assicurarti di utilizzare valori validi.
Per i nomi e i valori di proprietà delle risorse, aggiorna il modello per l'utilizzo di nomi e valori validi. Per un elenco di tutte le risorse e dei relativi nomi di proprietà, consulta AWS riferimento ai tipi di risorse e proprietà.
Quota superata
Verifica di non aver raggiunto la quota per una risorsa. Ad esempio, il numero massimo predefinito di istanze Amazon EC2 On-Demand che puoi avviare è 5. Se provi a creare più istanze Amazon EC2 On-Demand rispetto alla quota del tuo account, la creazione dell'istanza non riesce e ricevi l'errore. Status=start_failed
Per visualizzare le quote AWS
predefinite per servizio, consulta Quote di servizio di AWS in Riferimenti generali di AWS.
Per le CloudFormation quote e le strategie di modifica, consulta. Comprendi le CloudFormation quote
Inoltre, durante un aggiornamento, se una risorsa viene sostituita, CloudFormation crea una nuova risorsa prima di eliminare quella precedente. Questa sostituzione potrebbe causare lo sconfinamento dell'account rispetto alle quote delle risorse, con conseguente errore nell'aggiornamento. Puoi eliminare le risorse in eccesso o richiedere un aumento delle quote.
Stack nidificati bloccati in UPDATE_COMPLETE_CLEANUP_IN_PROGRESS
, UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS
o UPDATE_ROLLBACK_IN_PROGRESS
Uno stack nidificato non è stato in grado di eseguire il rollback. A causa delle potenziali dipendenze tra le risorse degli stack nidificati, CloudFormation non inizia a ripulire le risorse dello stack nidificato finché tutti gli stack nidificati non sono stati aggiornati o non sono stati ripristinati. Quando uno stack nidificato non riesce a eseguire il rollback, CloudFormation annulla tutte le operazioni, indipendentemente dallo stato in cui si trovano gli altri stack nidificati. Uno stack nidificato che ha completato l'aggiornamento o il rollback ma non ha ricevuto alcun segnale di avvio della pulizia perché un altro nidificato non è riuscito a ripristinarlo si trova in uno stato or. CloudFormation UPDATE_COMPLETE_CLEANUP_IN_PROGRESS
UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS
Uno stack nidificato che non ha potuto completare l'aggiornamento, ma che non ha ricevuto un segnale per avviare il rollback, si trova in uno stato UPDATE_ROLLBACK_IN_PROGRESS
.
Il rollback di uno stack nidificato potrebbe non riuscire a causa di modifiche apportate all'esterno di CloudFormation, quando il modello dello stack non riflette accuratamente lo stato dello stack. Uno stack nidificato può non riuscire anche se un gruppo con dimensionamento automatico in uno stack nidificato aveva un periodo di timeout del segnale per le risorse insufficiente quando il gruppo è stato creato o aggiornato.
Per risolvere il problema con lo stack, contatta Supporto AWS.
Nessun aggiornamento da eseguire
Per aggiornare uno CloudFormation stack, è necessario inviare le modifiche ai valori del modello o del parametro a. CloudFormation Tuttavia, CloudFormation non riconoscerà alcune modifiche al modello come aggiornamento, ad esempio le modifiche a una politica di eliminazione, una politica di aggiornamento, una dichiarazione di condizione o una dichiarazione di output. Se devi effettuare tali modifiche senza toccare altro, puoi aggiungere o modificare un attributo di metadati per qualsiasi risorsa. L'attributo metadata può essere qualsiasi valore arbitrario, in quanto CloudFormation non ne interpreta il contenuto.
Impossibile stabilizzare una risorsa durante un'operazione di creazione, aggiornamento o eliminazione dello stack
Una risorsa non ha risposto perché l'operazione ha superato il periodo di CloudFormation timeout o un AWS servizio è stato interrotto. In caso di interruzioni del servizio, verifica
Se i AWS servizi sono stati eseguiti correttamente, controlla se lo stack contiene una delle seguenti risorse:
-
AWS::AutoScaling::AutoScalingGroup
per operazioni di creazione, aggiornamento ed eliminazione -
AWS::CertificateManager::Certificate
per operazioni di creazione -
AWS::CloudFormation::Stack
per operazioni di creazione, aggiornamento ed eliminazione -
AWS::ElasticSearch::Domain
per operazioni di aggiornamento -
AWS::RDS::DBCluster
per operazioni di creazione e aggiornamento -
AWS::RDS::DBInstance
per operazioni di creazione, aggiornamento ed eliminazione -
AWS::Redshift::Cluster
per operazioni di aggiornamento
Le operazioni per queste risorse potrebbero richiedere più tempo del periodo di timeout predefinito. Il periodo di timeout dipende dalla risorsa e dalle credenziali utilizzate. Per estendere il periodo di timeout, specifica un ruolo di servizio quando esegui l'operazione sullo stack. Se utilizzi già un ruolo di servizio, oppure se il tuo stack contiene una risorsa non in elenco, contatta Supporto AWS.
Se il tuo stack è nello stato UPDATE_ROLLBACK_FAILED
, consulta Impossibile eseguire il rollback dell'aggiornamento.
Il gruppo di sicurezza non esiste in VPC
Verifica che il gruppo di sicurezza esista nel VPC gruppo specificato. Se il gruppo di sicurezza esiste, assicurati di specificarne l'ID e non il nome. Ad esempio, la risorsa AWS::EC2::SecurityGroupIngress
ha le proprietà SourceSecurityGroupName
e SourceSecurityGroupId
. Per i gruppi VPC di sicurezza, è necessario utilizzare la SourceSecurityGroupId
proprietà e specificare l'ID del gruppo di sicurezza.
Impossibile eseguire il rollback dell'aggiornamento
Una risorsa dipendente non può tornare al suo stato originale, provocando il mancato completamento del rollback (stato UPDATE_ROLLBACK_FAILED
). Ad esempio, è possibile che uno stack stia eseguendo il rollback a una vecchia istanza database che è stata eliminata al di fuori di CloudFormation. Poiché CloudFormation non sa che il database è stato eliminato, presuppone che l'istanza del database esista ancora e tenta di ripristinarla, causando il fallimento del rollback dell'aggiornamento.
A seconda del problema, è possibile correggere manualmente gli errori e continuare il rollback. Per continuare il rollback, puoi riportare lo stack allo stato di funzionamento UPDATE_ROLLBACK_COMPLETE
e quindi provare nuovamente ad aggiornare lo stack. L'elenco seguente descrive le soluzioni a problemi comuni che provocano errori nel rollback dell'aggiornamento:
-
- Impossibile ricevere il numero richiesto di segnali
-
Utilizza il comando signal-resource per inviare manualmente il numero richiesto di segnali di riuscita alla risorsa in attesa, quindi continua con il rollback dell'aggiornamento. Ad esempio, durante il rollback di un aggiornamento, le istanze in un gruppo con dimensionamento automatico potrebbe non riuscire a segnalare la riuscita entro il timeout specificato. Invia manualmente i segnali di successo al gruppo con dimensionamento automatico. Quando continui il rollback dell'aggiornamento, CloudFormation vede i tuoi segnali e procede con il rollback.
-
- Le modifiche a una risorsa sono state apportate al di fuori di CloudFormation
-
Sincronizza manualmente le risorse in modo che corrispondano al modello originale dello stack, quindi continua con il rollback dell'aggiornamento. Ad esempio, se hai eliminato manualmente una risorsa a cui CloudFormation stai tentando di eseguire il rollback, devi creare manualmente quella risorsa con lo stesso nome e le stesse proprietà che aveva nello stack originale.
-
- Autorizzazioni insufficienti
-
Verifica di disporre delle autorizzazioni IAM sufficienti per modificare le risorse, quindi continua con il rollback dell'aggiornamento. Ad esempio, la tua policy IAM potrebbe consentirti di creare un bucket S3, ma non di modificarlo. Aggiungi le operazioni di modifica alla tua policy.
-
- Token di sicurezza non valido
-
CloudFormation richiede un nuovo set di credenziali. Non sono richieste modifiche. Continua con il rollback dell'aggiornamento per aggiornare le credenziali.
-
- Errore relativo ai limiti
-
Elimina le risorse che non ti servono o richiedi un aumento delle quote, quindi continua con il rollback dell'aggiornamento. Ad esempio, se la quota del tuo account per il numero di istanze EC2 On-Demand è 5 e il rollback dell'aggiornamento supera tale quota, l'operazione avrà esito negativo.
-
- La risorsa non si è stabilizzata
-
Una risorsa non ha risposto perché l'operazione potrebbe aver superato il periodo di CloudFormation timeout o un AWS servizio potrebbe essere stato interrotto. Non sono richieste modifiche. Una volta completato il funzionamento delle risorse o dopo che il AWS servizio è tornato operativo, continua a ripristinare l'aggiornamento.
Per continuare a ripristinare un aggiornamento, puoi utilizzare la CloudFormation console o l'interfaccia a riga di AWS comando (AWS CLI). Per ulteriori informazioni, consulta Rollback di un aggiornamento.
Se nessuna di queste soluzioni funziona, puoi saltare le risorse che non CloudFormation possono essere ripristinate correttamente. Per ulteriori informazioni, consultate il ResourcesToSkip
parametro relativo all'ContinueUpdateRollback
APIoperazione nel AWS CloudFormation APIReference. CloudFormation imposta lo stato delle risorse specificate su UPDATE_COMPLETE
e continua a ripristinare lo stack. Dopo aver completato il rollback, lo stato delle risorse saltate saranno incoerenti con lo stato delle risorse nel modello di stack. Prima di eseguire un altro aggiornamento dello stack, devi modificare le risorse o aggiornare lo stack in modo che siano coerenti. Altrimenti, i successivi aggiornamenti dello stack potrebbero fallire e rendere lo stack irrecuperabile.
La condizione di attesa non ha ricevuto il numero richiesto di segnali da un'EC2istanza Amazon
Per risolvere questa situazione, prova quanto segue:
-
Assicurati che su quello che AMI stai utilizzando siano installati gli script CloudFormation di supporto. Se AMI non include gli script di supporto, puoi anche scaricarli sulla tua istanza. Per ulteriori informazioni, consulta CloudFormation riferimento agli script di supporto.
-
Verifica che il comando
cfn-signal
sia stato eseguito sull'istanza. Per aiutarti con il debug dell'avvio dell'istanza, puoi avvalerti dei log, ad esempio/var/log/cloud-init.log
o/var/log/cfn-init.log
. Puoi recuperare i log accedendo alla tua istanza, ma devi disabilitare il rollback in caso di errore, altrimenti CloudFormation elimina l'istanza dopo che lo stack non è riuscito a creare. Puoi anche pubblicare i logsu Amazon CloudWatch. Per Windows, puoi visualizzare i log in cfn C:\cfn\log
e gli accessi di EC2Config servizio.%ProgramFiles%\Amazon\EC2ConfigService
-
Verifica che l'istanza disponga di una connessione a Internet. Se l'istanza si trova in unaVPC, dovrebbe essere in grado di connettersi a Internet tramite un NAT dispositivo se si trova in una sottorete privata o tramite un gateway Internet se si trova in una sottorete pubblica. Per testare la connessione a Internet dell'istanza, cerca di accedere a una pagina Web pubblica, ad esempio
http://aws.amazon.com
. Ad esempio, puoi eseguire il comando seguente sull'istanza. Dovrebbe restituire un codice di stato HTTP 200.curl -I https://aws.amazon.com
Per informazioni sulla configurazione di un NAT dispositivo, consulta NATla Amazon VPC User Guide.
Risorsa rimossa dallo stack ma non eliminata.
Durante un aggiornamento dello stack, CloudFormation ha rimosso una risorsa da uno stack ma non ha eliminato la risorsa. La risorsa esiste ancora, ma non è più accessibile tramite CloudFormation. Ciò può verificarsi durante gli aggiornamenti dello stack in cui:
-
CloudFormation deve sostituire una risorsa esistente, quindi crea prima una nuova risorsa, quindi tenta di eliminare la vecchia risorsa.
-
La risorsa è stata rimossa dal modello di stack, quindi CloudFormation tenta di eliminarla dallo stack.
Tuttavia, potrebbero esserci casi in cui non è CloudFormation possibile eliminare la risorsa. Ad esempio, se l'utente non dispone delle autorizzazioni per eliminare una risorsa di un determinato tipo.
CloudFormation tenta di eliminare la vecchia risorsa tre volte. Se non CloudFormation riesce a eliminare la vecchia risorsa, rimuove la vecchia risorsa dallo stack e continua ad aggiornare lo stack. Quando l'aggiornamento dello stack è completo, CloudFormation genera un evento UPDATE_COMPLETE
stack, ma include un evento StatusReason
che indica che una o più risorse non possono essere eliminate. CloudFormation emette anche un DELETE_FAILED
evento per la risorsa specifica, con un corrispondente che StatusReason
fornisce maggiori dettagli sul motivo per cui CloudFormation non è riuscita a eliminare la risorsa.
Per risolvere questa situazione, elimina la risorsa direttamente utilizzando la console o API per il servizio sottostante.
Contattare il supporto
In caso Supporto AWS affermativo, è possibile creare una richiesta di assistenza tecnica a https://console.aws.amazon.com/support/casa#/
-
L'ID dello stack. Puoi trovare l'ID dello stack nella scheda Overview (Panoramica) della console CloudFormation
. Per ulteriori informazioni, consulta Visualizza le informazioni sullo stack dalla console CloudFormation . Importante
Non apportare modifiche allo stack al di fuori di. CloudFormation Apportare modifiche allo stack all'esterno CloudFormation potrebbe mettere lo stack in uno stato irrecuperabile.
-
Eventuali messaggi di errore dello stack. Per informazioni sulla visualizzazione dei messaggi di errore dello stack, consulta la sezione Guida alla risoluzione dei problemi.
-
Per i EC2 problemi di Amazon, raccogli i log cloud-init e cfn. Questi log vengono pubblicati sull'EC2istanza Amazon nella
/var/log/
directory. Questi log acquisiscono gli output di processi e comandi mentre l'istanza viene configurata. Per Windows, raccogli gli accessi al EC2Configure servizio e cfn e.%ProgramFiles%\Amazon\EC2ConfigService
C:\cfn\log
Puoi anche cercare risposte e pubblicare domande nei forum di CloudFormation