Come posso aggiornare uno stack CloudFormation che non funziona a causa di una risorsa che ho eliminato manualmente?

3 minuti di lettura
0

Ho eliminato manualmente una risorsa creata da uno dei miei stack di AWS CloudFormation e ora lo stack non si aggiorna.

Breve descrizione

Se elimini una risorsa creata da uno stack CloudFormation, l'aggiornamento dello stack non viene eseguito e viene visualizzato un messaggio di errore.

Scegli una delle seguenti risoluzioni in base al tipo di risorsa:

  • Aggiornare una risorsa con un nome univoco
  • Aggiornare una risorsa con un ID univoco

Risoluzione

Aggiornare una risorsa con un nome univoco

Se la risorsa eliminata supporta un nome univoco, puoi aggiornare lo stack creando manualmente la risorsa. La nuova risorsa, tuttavia, deve avere lo stesso nome della risorsa eliminata. Ad esempio, puoi influire sul modo in cui CloudFormation gestisce una risorsa quando modifichi il nome di una risorsa. Questo perché i ruoli di AWS Identity and Access Management (IAM) vengono tracciati per nome. Se elimini accidentalmente un ruolo IAM, puoi ricrearlo manualmente con lo stesso nome.

Per aggiornare un ruolo IAM o qualsiasi altra risorsa con un nome univoco, completa i seguenti passaggi:

  1. Apri la console AWS CloudFormation.
  2. Seleziona il tuo stack, quindi scegli la vista Risorse.
  3. Nella colonna ID fisico, trova l'ID fisico del ruolo IAM che desideri sostituire con il tuo nuovo ruolo IAM.
    Nota: l'ID fisico è il nome della risorsa.
  4. Crea un nuovo ruolo IAM, quindi assegna al nuovo ruolo lo stesso ID fisico che hai trovato nel passaggio 3.
  5. Aggiorna il tuo stack.

Nota: per ulteriori informazioni, consulta Modifica di un modello di stack.

Aggiornare una risorsa con un ID univoco

Non puoi ricreare manualmente una risorsa, ad esempio una tabella di routing, con un ID univoco. È invece necessario rimuovere la risorsa e tutti i riferimenti a tale risorsa dal modello CloudFormation.

Nota: la seguente risoluzione è valida anche per le risorse che non supportano un nome o un ID univoco. Ad esempio, un record impostato in una zona ospitata.

Per consentire a CloudFormation di ricreare una tabella di routing o qualsiasi altra risorsa con un ID univoco, completa i seguenti passaggi:

  1. Nel tuo modello CloudFormation, rimuovi la tabella delle route e tutti i riferimenti ad essa.
  2. Aggiorna lo stack.
    Nota: CloudFormation tenta di eliminare la tabella di routing. Poiché la risorsa è già stata eliminata, CloudFormation considera l'eliminazione un'operazione riuscita.
  3. Aggiungi la tabella di routing e tutte le risorse o i riferimenti aggiuntivi necessari al modello CloudFormation.
  4. Quindi, aggiorna di nuovo lo stack.
    Nota: CloudFormation ricrea la risorsa eliminata.

Informazioni correlate

Risoluzione dei problemi di AWS CloudFormation

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa