Come faccio a eliminare un'istanza di stack da uno stack di CloudFormation impostato in un account AWS chiuso o sospeso?

3 minuti di lettura
0

Desidero eliminare un'istanza di stack da un set di stack di AWS CloudFormation, ma l'eliminazione non riesce perché l'account AWS di destinazione è chiuso o sospeso.

Breve descrizione

Quando un account AWS viene chiuso o sospeso, il ruolo di amministrazione di CloudFormation StackSets non può più accedere al ruolo di esecuzione di StackSets in quell'account. Ciò impedisce l'esecuzione delle operazioni sugli stack set sulle istanze di stack per quell'account. Se provi a eliminare un'istanza di stack in un account chiuso o sospeso, puoi ricevere un messaggio di errore. Quindi, lo stato dell'istanza dello stack può cambiare in INOPERABLE.

Per eliminare le istanze dello stack per account chiusi o sospesi, è necessario eseguire l'operazione DeleteStackInstances con l'opzione RetainStacks impostata su true. Questo separa l'istanza dello stack dal set di stack senza eliminare l'istanza dello stack nell'account di destinazione.

Le seguenti fasi di risoluzione dipendono dal modello di autorizzazioni utilizzato dal set di stack: autorizzazioni autogestite o autorizzazioni gestite dai servizi con AWS Organizations.

Nota: se ricevi errori durante l'esecuzione dei comandi AWS Command Line Interface (AWS CLI), assicurati di utilizzare la versione più recente dell'interfaccia a riga di comando di AWS.

Risoluzione

Elimina le istanze di stack non utilizzabili per i set di stack con autorizzazioni autogestite

Per i set di stack che utilizzano autorizzazioni autogestite, puoi eliminare l'istanza di stack INOPERABLE con la console CloudFormation o l'interfaccia della linea di comando di AWS.

Console CloudFormation:

  1. Apri la console CloudFormation.

  2. Dal riquadro di navigazione, scegli StackSet.

  3. Dalla colonna del nome dello StackSet, seleziona il set di stack che contiene l'istanza che desideri eliminare.

  4. Scegli Azioni, quindi scegli Elimina stack da StackSets.

  5. Nella pagina Imposta opzioni di distribuzione, per i numeri di account, inserisci il numero di account a 12 cifre dell'account AWS chiuso o sospeso.

  6. Nella sezione Specifica le regioni, scegli la regione AWS della tua istanza stack.

  7. Nella sezione Opzioni di distribuzione, attiva Retain stacks, quindi scegli Avanti.

  8. Nella pagina Revisione, scegli Invia.

Interfaccia della linea di comando AWS:

Nell'interfaccia della linea di comando di AWS, esegui il seguente comando:

$ aws cloudformation delete-stack-instances --stack-set-name YourStackSetName --accounts YourStackInstanceAccount --regions YourStackInstanceRegion --retain-stacks

Nota: sostituisci YourStackSetName con il nome del tuo stack set. Sostituisci YourStackInstanceAccount con il numero di account AWS dell'account chiuso o sospeso. Sostituisci YourStackInstanceRegion con la regione in cui si trova l'istanza dello stack.

Elimina le istanze di stack non utilizzabili per i set di stack con autorizzazioni gestite dal servizio

Per i set di stack che utilizzano autorizzazioni gestite dai servizi, le operazioni della console CloudFormation possono essere indirizzate solo a intere unità organizzative (OU). È necessario utilizzare l'interfaccia della linea di comando di AWS per eliminare un'istanza di stack specifica da un singolo account.

Nell'interfaccia della linea di comando di AWS, esegui il seguente comando:

aws cloudformation delete-stack-instances --stack-set-name YourStackSetName --deployment-targets Accounts=YourStackInstanceAccount --regions YourStackInstanceRegion --retain-stacks

Nota: sostituisci YourStackSetName con il nome del tuo stack set. Sostituisci YourStackInstanceAccount con il numero di account AWS dell'account chiuso o sospeso. Sostituisci YourStackInstanceRegion con la regione in cui si trova l'istanza dello stack.


Informazioni correlate

Modelli di autorizzazione per i set di stack

Stack set e stack dei codici di stato delle istanze

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa