Gestione degli stack tra account e regioni con StackSets - 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à.

Gestione degli stack tra account e regioni con StackSets

AWS CloudFormation StackSets estende la funzionalità degli stack consentendoti di creare, aggiornare o eliminare gli stack su più account e Regioni AWS con un'unica operazione. Utilizzando un account amministratore, è possibile definire e gestire un CloudFormation modello e utilizzare il modello come base per il provisioning degli stack negli account di destinazione selezionati tra quelli specificati. Regioni AWS

Uno stack set è una raccolta di risorse in un modello, che viene distribuita su più account e regioni.

Per informazioni sul supporto StackSets regionale, consulta il supporto StackSets regionale.

Questa sezione aiuta a iniziare a utilizzare StackSets e risponde a domande comuni su come utilizzare e risolvere i problemi relativi alla creazione, agli aggiornamenti e all'eliminazione degli stack set.

StackSets concetti

Quando si utilizza StackSets, si lavora con set di stack, istanze di stack e pile.

Account amministratore e target

Un account amministratore è l' AWS account in cui crei set di stack. Per i set di stack con autorizzazioni gestite dai servizi, l'account amministratore è l'account di gestione dell'organizzazione o un account amministratore delegato. È possibile gestire uno stack set accedendo all'account AWS amministratore che ha creato lo stack set.

Un account target è l'account in cui crei, aggiorni o elimini uno o più stack nel tuo set di stack. Prima di poter utilizzare un set di stack per creare stack in un account target, crea una relazione di trust tra l'account amministratore e l'account di destinazione.

AWS CloudFormation StackSets

Un set di stack consente di creare pile in più Account AWS regioni utilizzando un unico modello. CloudFormation Il CloudFormation modello di un set di stack definisce tutte le risorse in ogni stack. Quando crei il set di stack, specifica il modello da utilizzare, oltre ai parametri e alle funzionalità che richiede.

Dopo aver definito un set di stack, puoi creare, aggiornare o eliminare gli stack negli account di destinazione e specificare. Regioni AWS Quando crei, aggiorni o elimini stack, puoi anche specificare le preferenze operative. Ad esempio, includere l'ordine delle Regioni in cui desideri eseguire l'operazione, la soglia di tolleranza di errore prima dell'interruzione delle operazioni di stack e il numero di account che eseguono operazioni di stack contemporaneamente.

Un set di stack è una risorsa di livello regionale. Se crei uno stack set in uno Regione AWS, puoi visualizzarlo o modificarlo solo quando visualizzi quella regione.

Modelli di autorizzazioni per i set di stack

Puoi creare set di stack utilizzando autorizzazioni gestite dal cliente o autorizzazioni gestite dal servizio.

Con le autorizzazioni autogestite, puoi creare i IAM ruoli necessari StackSets per la distribuzione tra account e regioni. Questi ruoli sono necessari per stabilire una relazione di trust tra l'account da cui amministri il set di stack e l'account a cui distribuisci le istanze dello stack. Utilizzando questo modello di autorizzazioni, StackSets puoi eseguire la distribuzione su qualsiasi dispositivo Account AWS in cui disponi delle autorizzazioni per creare un ruolo. IAM

Con le autorizzazioni gestite dal servizio è possibile distribuire le istanze dello stack agli account gestiti da AWS Organizations. Utilizzando questo modello di autorizzazioni, non è necessario creare i IAM ruoli necessari; StackSets crea i ruoli per conto dell'IAMutente. Con questo modello puoi anche attivare le implementazioni automatiche negli account che aggiungerai all'organizzazione in futuro.

AWS Organizations si integra CloudFormation e ti aiuta a gestire e governare centralmente il tuo ambiente man mano che ridimensioni e fai crescere le tue risorse. AWS

Per ulteriori informazioni sulla creazione e la gestione di set di stack con autorizzazioni gestite dai servizi, consulta i seguenti argomenti:

Istanze di stack

Un'istanza di stack è un riferimento a uno stack in un account target all'interno di una Regione. Un'istanza di stack può esistere senza uno stack. Ad esempio, se non è possibile creare lo stack, l'istanza di stack indica il motivo per cui la creazione dello stack non ha avuto esito positivo. Un'istanza di stack si associa a un solo set di stack.

La figura seguente mostra le relazioni logiche tra set di stack, operazioni di stack e stack. Quando aggiorni un set di stack, tutte le istanze di stack associate vengono aggiornate in tutti gli account e in tutte le Regioni.

Un set di stack può creare, aggiornare o eliminare stack, istanze e pile tra account e regioni.

Operazioni dei set di stack

Puoi eseguire le seguenti operazioni sui set di stack.

Creazione di un set di stack

La creazione di un nuovo set di stack include la specificazione di un CloudFormation modello da utilizzare per creare gli stack, la specificazione degli account di destinazione in cui si desidera creare gli stack e l'identificazione degli stack in cui si desidera distribuire gli stack Regioni AWS negli account di destinazione. Un set di stack assicura una distribuzione coerente delle stesse risorse dello stack, con le stesse impostazioni, in tutti gli account target specificati e nelle Regioni scelte.

Aggiornamento dei set di stack

Quando aggiorni un set di stack, invii le modifiche agli stack nel set di stack. Puoi aggiornare un set di stack in uno dei seguenti modi. Gli aggiornamenti dei modelli hanno sempre effetto su tutti gli stack: non è possibile aggiornare il modello in modo selettivo solo per alcuni stack.

  • Modifica le impostazioni esistenti nel modello o aggiungi nuove risorse, ad esempio aggiornando le impostazioni dei parametri per un servizio specifico o aggiungendo nuove EC2 istanze Amazon.

  • Sostituisci il modello con un modello diverso.

  • Aggiungi stack in account target esistenti o aggiuntivi, in Regioni esistenti o aggiuntive.

Eliminazione degli stack

L'eliminazione di uno stack comporta anche l'eliminazione di tutte le risorse a esso associate dagli account target specificati all'interno delle Regioni selezionate. Puoi eliminare stack nei modi seguenti.

  • Eliminare stack da alcuni account target e conservare altri stack in esecuzione in altri account target.

  • Eliminare stack da alcune Regioni e lasciare stack in esecuzione in altre Regioni.

  • Eliminare stack da un set di stack, ma salvarli in modo che continuino a essere eseguiti indipendentemente dal set di stack scegliendo l'opzione Retain Stacks (Conserva stack). Quindi, puoi gestire gli stack mantenuti al di fuori del set di stack in AWS CloudFormation.

  • Eliminare tutti gli stack nel set di stack, in preparazione dell'eliminazione dell'intero set di stack.

Eliminazione di un set di stack

Puoi eliminare uno stack solo se non contiene istanze di stack.

Opzioni per le operazioni dei set di stack

Le opzioni in questa sezione aiutano a controllare la frequenza e il numero di errori consentiti per eseguire con successo operazioni di set di stack ed evitano la perdita di risorse degli stack.

Numero massimo di account simultanei

Questa impostazione, disponibile nei flussi di lavoro di creazione, aggiornamento ed eliminazione, consente di specificare il numero massimo o la percentuale massima di account di destinazione in cui viene eseguita un'operazione simultaneamente. Un numero o una percentuale inferiore indica che un'operazione viene eseguita in un minor numero di account di destinazione contemporaneamente. Le operazioni vengono eseguite in una Regione alla volta, nell'ordine specificato nella casella Deployment order (Ordine di implementazione). Ad esempio, se implementi stack in 10 account target in due Regioni e imposti Maximum concurrent accounts (Numero massimo di account simultanei) su 50 e By percentage (In base alla percentuale), gli stack verranno implementati in cinque account nella prima Regione, quindi nei successivi cinque account nella prima Regione, prima di passare alla Regione successiva e iniziare l'implementazione nei primi cinque account di destinazione.

Quando scegli Per percentuale, se la percentuale specificata non rappresenta un numero intero di account specificati, CloudFormation arrotonda per difetto. Ad esempio, se stai distribuendo pile su 10 account di destinazione e hai impostato il numero massimo di account simultanei su 25 e Per percentuale, CloudFormation arrotonda per difetto la distribuzione da 2,5 pile contemporaneamente (che non sarebbe possibile) alla distribuzione simultanea di due pile.

Tieni presente che questa impostazione consente di specificare il valore massimo per le operazioni. Per distribuzioni di grandi dimensioni, in determinate circostanze il numero effettivo di account simultanei potrebbe essere inferiore per via del throttling. La velocità massima di distribuzione è di 100 istanze stack simultanee per set di stack.

Il numero massimo di account simultanei può dipendere dal valore della tolleranza agli errori a seconda della modalità Concurrency utilizzata. Se la modalità Concurrency Mode è impostata su Strict Failure Tolerance, il numero massimo di conti concorrenti può essere al massimo uno in più rispetto all'impostazione Tolleranza di errore.

Modalità di simultaneità

Questa impostazione, disponibile nei flussi di lavoro di creazione, aggiornamento ed eliminazione, consente di scegliere il comportamento del livello di simultaneità durante le operazioni relative al set di stack. Per ulteriori informazioni, consulta Scelta della modalità di concorrenza utilizzando o AWS Management ConsoleAWS CLI.

Tolleranza di errore

Questa impostazione, disponibile nei flussi di lavoro di creazione, aggiornamento ed eliminazione, consente di specificare il numero o la percentuale massima di errori delle operazioni di stack che possono verificarsi, per regione, oltre i quali CloudFormation interrompe automaticamente un'operazione. Se il numero o la percentuale sono di piccola entità, l'operazione viene eseguita su un numero inferiore di stack, ma è possibile avviare più rapidamente la risoluzione dei problemi relativi alle operazioni non riuscite. Ad esempio, se aggiorni 10 stack in 10 account target in tre Regioni e imposti Failure tolerance (Tolleranza di errore) su 20 e By percentage (In base alla percentuale), potranno verificarsi massimo due aggiornamenti di stack non riusciti in una Regione perché l'operazione continui. Se un terzo stack nella stessa regione fallisce, CloudFormation interrompe l'operazione. Se è impossibile aggiornare uno stack nella prima Regione, l'operazione di aggiornamento prosegue in quella Regione, quindi passa alla Regione successiva. Se due stack non possono essere aggiornati nella seconda regione, la tolleranza di errore raggiunge il 20%; se un terzo stack nella regione fallisce, CloudFormation interrompe l'operazione di aggiornamento e non passa alle regioni successive.

Quando scegli Per percentuale, se la percentuale specificata non rappresenta un numero intero degli stack all'interno di ciascuna regione, CloudFormation viene arrotondata per difetto. Ad esempio, se stai distribuendo pile su 10 account di destinazione in tre regioni e imposti la tolleranza di errore su 25 e per percentuale, CloudFormation arrotonda per difetto da una tolleranza di errore di 2,5 pile (che non sarebbe possibile) a una tolleranza di fallimento di due pile per regione.

Conservazione degli stack

Questa impostazione, disponibile nei flussi di lavoro di eliminazione di stack, consente di lasciare gli stack e le relative risorse in esecuzione anche dopo la rimozione degli stack dal set di stack. Quando mantieni gli stack, AWS CloudFormation lascia intatti gli stack nei singoli account e nelle singole Regioni. Gli stack vengono dissociati dal set di stack, ma lo stack viene salvato insieme alle relative risorse. Al termine di un'operazione di eliminazione degli stack, è possibile gestire gli stack conservati nell' CloudFormationaccount di destinazione (non nell'account amministratore) che ha creato gli stack.

Simultaneità Regione

Questa impostazione, disponibile nei flussi di lavoro di creazione, aggiornamento ed eliminazione, consente di scegliere la modalità di distribuzione nelle regioni. StackSets

Sequenziale: distribuisci StackSets l'operazione in una regione alla volta, come specificato nella casella d'ordine Distribuzione regionale, purché gli errori di distribuzione di una regione non superino la tolleranza di errore specificata. La distribuzione sequenziale è la selezione predefinita.

Parallelo: distribuisci StackSets le operazioni in tutte le regioni specificate contemporaneamente, purché gli errori di distribuzione di una regione non superino la tolleranza di errore specificata.

Tag

Puoi aggiungere tag durante operazioni di creazione e aggiornamento di un set di stack specificando coppie chiave-valore. I tag sono utili per ordinare e filtrare le risorse dei set di stack per operazioni di fatturazione e allocazione dei costi. Per ulteriori informazioni su come utilizzare i tag in AWS, vedere Utilizzo dei tag di allocazione dei costi nella Guida per l'AWS Billing and Cost Management utente. Dopo aver specificato la coppia chiave-valore, scegliere + per salvare il tag. Puoi eliminare i tag non più utilizzati scegliendo la X rossa a destra di un tag.

I tag applicati ai set di stack si applicano a tutti gli stack e alle risorse create dagli stack. Puoi anche aggiungere tag solo a livello di pila in CloudFormation, ma tali tag potrebbero non essere visualizzati in. StackSets

Sebbene StackSets non aggiunga alcun tag definito dal sistema, non dovresti iniziare i nomi chiave di nessun tag con la stringa. aws:

StackSets codici di stato

AWS CloudFormation StackSets genera codici di stato per le operazioni relative agli stack set.

La tabella seguente descrive i codici di stato per le operazioni relative ai set di stack.

RUNNING

L'operazione è attualmente in corso.

SUCCEEDED

L'operazione è terminata senza che sia stata superata la tolleranza di errore per l'operazione.

FAILED

Il numero di stack in cui non è stato possibile completare l'operazione ha superato la tolleranza di errore definita dall'utente. Il valore della tolleranza di errore che hai impostato per un'operazione viene applicato per ciascuna Regione durante le operazioni di creazione e aggiornamento degli stack. Se il numero di stack non riusciti all'interno di una Regione supera la tolleranza di errore, lo stato dell'operazione nella Regione cambia in FAILED. Lo stato dell'operazione nel suo complesso è inoltre impostato su e CloudFormation annulla l'operazione in tutte le regioni rimanenti. FAILED

QUEUED

[Service-managed permissions] Per le implementazioni automatiche che richiedono una sequenza di operazioni, l'operazione viene messa in coda per l'esecuzione. Per esempio:

  • Lo spostamento di un account da un'unità organizzativa (OU) a un'altra attiva una distribuzione automatica. OU1 OU2 StackSets esegue un'operazione di eliminazione per rimuovere l'istanza dello stack dall'OU1account di destinazione nella regione di destinazione e mette in coda un'operazione di creazione per aggiungere un'istanza dello stack all'OU2account di destinazione nella regione di destinazione.

  • L'aggiunta di un account AccountA a un'unità organizzativa attiva una distribuzione automatica. StackSets esegue un'operazione di creazione per aggiungere un'istanza dello stack AccountA nella regione di destinazione. Se si aggiunge un altro account AccountB all'unità organizzativa durante l'esecuzione di questa operazione di creazione, mette in StackSets coda una seconda operazione di creazione. Una volta completata la prima operazione di creazione, StackSets esegue la seconda operazione di creazione a cui aggiungere un'istanza dello stack AccountB nella regione di destinazione.

STOPPING

L'operazione è in fase di arresto su richiesta dell'utente.

STOPPED

L'operazione è stata interrotta su richiesta dell'utente.

Codici di stato delle istanze di stack

AWS CloudFormation StackSets genera codici di stato per le istanze dello stack.

La tabella seguente descrive i codici di stato per le istanze dello stack all'interno. StackSets

CURRENT

Lo stack è aggiornato con il set di stack.

OUTDATED

Lo stack non è aggiornato con il set di stack per uno dei seguenti motivi.

INOPERABLE

Un'operazione DeleteStackInstances non è andata a buon fine e ha lasciato lo stack in uno stato instabile. Gli stack in questo stato vengono esclusi da ulteriori operazioni UpdateStackSet. Per eliminare l'istanza di stack, potresti dover eseguire un'operazione DeleteStackInstances impostando RetainStacks su true, quindi eliminare lo stack manualmente.

CANCELLED

L'operazione nell'account e nella Regione specificati è stata annullata. Ciò è dovuto al fatto che un utente ha interrotto l'operazione del set di stack o perché è le operazioni dei set di stack hanno superato la tolleranza di errore.

FAILED

L'operazione nell'account e nella Regione specificati non è riuscita. Se l'operazione del set di stack ha esito negativo in un numero sufficiente di account all'interno di una Regione, è possibile che venga superata la tolleranza di errore per l'operazione del set di stack nel suo complesso.

FAILED_IMPORT

L'importazione dell'istanza dello stack nell'account e nella regione specificati non è riuscita e ha lasciato lo stack in uno stato instabile. Una volta risolti i problemi che hanno causato l'errore, è possibile ritentare l'operazione di importazione. Se un numero sufficiente di operazioni di set di stack fallisce in un numero sufficiente di account all'interno di una regione, la tolleranza di errore per l'intera operazione di stack set potrebbe essere superata.

PENDING

L'operazione nell'account e nella Regione specificati deve ancora essere avviata.

RUNNING

L'operazione nell'account e nella Regione specificati è attualmente in corso.

SKIPPED_SUSPENDED_ACCOUNT

L'operazione nell'account e nella Regione specificati è stata ignorata perché l'account era sospeso al momento dell'operazione.

SUCCEEDED

L'operazione nell'account e nella Regione specificati è stata completata correttamente.