Crea AWS CloudFormation StackSets con autorizzazioni gestite dal servizio - 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à.

Crea AWS CloudFormation StackSets con autorizzazioni gestite dal servizio

Con le autorizzazioni gestite dal servizio, puoi distribuire stack su account gestiti da regioni specifiche. AWS Organizations Con questo modello, non è necessario creare i ruoli IAM necessari; CloudFormation crea i ruoli IAM per tuo conto. Per ulteriori informazioni, consulta Attiva l'accesso affidabile.

Considerazioni

Prima di creare un account StackSet con autorizzazioni gestite dal servizio, considera quanto segue:

  • StackSets le autorizzazioni con gestione del servizio vengono create nell'account di gestione, incluse quelle create dagli amministratori StackSets delegati.

  • StackSet È possibile scegliere come target l'intera organizzazione (inclusi tutti gli account) o unità organizzative specifiche (). OUs Se il tuo StackSet obiettivo è un'unità organizzativa principale, sarà indirizzata anche a qualsiasi bambino OUs. Se i tuoi StackSet obiettivi sono specifici OUs, per impostazione predefinita OUs sono inclusi tutti gli account inclusi in tali obiettivi. Tuttavia, puoi scegliere come target account specifici utilizzando le opzioni di filtro degli account.

  • Più unità StackSets possono avere come target la stessa organizzazione o unità organizzativa.

  • Non StackSet puoi scegliere come target account esterni all'organizzazione.

  • Non StackSet puoi distribuire stack annidati.

  • CloudFormation non distribuisce gli stack nell'account di gestione dell'organizzazione, anche se l'account di gestione si trova all'interno dell'organizzazione o in un'unità organizzativa dell'organizzazione.

  • La distribuzione automatica è impostata al StackSet livello. Non è possibile modificare le distribuzioni automatiche in modo selettivo per OUs account o regioni.

  • Le autorizzazioni dell'entità principale IAM (utente, ruolo o gruppo) che utilizzi per accedere all'account di gestione determinano se sei autorizzato a eseguire la distribuzione con. StackSets Per una policy IAM di esempio che concede le autorizzazioni per la distribuzione a un'organizzazione, consulta Limita le operazioni relative ai set di stack in base alla regione e ai tipi di risorse.

  • Gli amministratori delegati dispongono delle autorizzazioni complete per la distribuzione negli account dell'organizzazione. L'account di gestione non può limitare le autorizzazioni degli amministratori delegati per la distribuzione a operazioni specifiche OUs o per eseguire operazioni specifiche. StackSet

Crea un account StackSet con autorizzazioni gestite dal servizio (console)

Per creare un StackSet
  1. Accedi AWS Management Console e apri la AWS CloudFormation console all'indirizzo https://console.aws.amazon.com/cloudformazione.

  2. Nella barra di navigazione nella parte superiore dello schermo, scegli il modulo da Regione AWS cui vuoi gestire. StackSet

  3. Dal pannello di navigazione, scegli StackSets.

  4. Nella parte superiore della StackSetspagina, scegli Crea StackSet.

  5. In Permissions (Autorizzazioni) scegliere Service-managed permissions (Autorizzazioni gestite dal servizio).

    Nota

    Se l'accesso affidabile con AWS Organizations è disabilitato, viene visualizzato un banner. È necessario un accesso affidabile per creare o aggiornare un file StackSet con autorizzazioni gestite dal servizio. Solo l'amministratore nell'account di gestione dell'organizzazione dispone delle autorizzazioni per Attiva l'accesso affidabile per StackSets con AWS Organizations.

  6. In Prerequisito: prepara il modello, scegli Il modello è pronto.

  7. In Specify template (Specifica modello), scegliere di specificare l'URL per il bucket S3 che contiene il modello di stack oppure caricare un file modello di stack. Quindi, seleziona Next (Successivo).

  8. Nella pagina Specificate StackSet i dettagli, fornite un nome per il StackSet, specificate eventuali parametri e quindi scegliete Avanti.

  9. Nella pagina Configura StackSet opzioni, in Tag, specifica i tag da applicare alle risorse dello stack. Per ulteriori informazioni sull'utilizzo dei tag AWS, consulta Organizzazione e monitoraggio dei costi utilizzando i tag di allocazione dei AWS costi nella Guida per l'Gestione dei costi e fatturazione AWS utente.

  10. Per la configurazione di Execution, scegli Active per abilitare CloudFormation la gestione ottimizzata delle operazioni:

    • Le operazioni non in conflitto vengono eseguite contemporaneamente per tempi di implementazione più rapidi.

    • Le operazioni in conflitto vengono automaticamente messe in coda ed elaborate nell'ordine in cui sono state richieste.

    Mentre le operazioni sono in esecuzione o in CloudFormation coda, mette in coda tutte le operazioni in entrata anche se non sono in conflitto. Non è possibile modificare le impostazioni di esecuzione durante questo periodo.

  11. Se il modello contiene risorse IAM, per Capacità, scegli Riconosco che questo modello può creare risorse IAM per specificare che desideri utilizzare risorse IAM nel modello. Per ulteriori informazioni, consulta Accettazione delle risorse IAM nei modelli CloudFormation.

  12. Scegli Avanti per procedere e attivare l'accesso attendibile, se non è già attivato.

  13. Nella pagina Imposta opzioni di distribuzione, in Obiettivi di distribuzione, esegui una delle seguenti operazioni:

    • Per eseguire la distribuzione su tutti gli account dell'organizzazione, scegli Distribuisci nell'organizzazione.

    • Per eseguire la distribuzione su tutti gli account in modo specifico OUs, scegli Distribuisci su unità organizzative (). OUs Scegliere Add an OU (Aggiungi un'unità organizzativa) e quindi incollare l'ID dell'unità organizzativa di destinazione nella casella di testo. Ripetere per ogni nuova unità organizzativa di destinazione.

    Se hai scelto Distribuisci su unità organizzative (OUs), per il tipo di filtro Account, puoi impostare gli obiettivi di distribuzione in modo che siano account individuali specifici scegliendo una delle seguenti opzioni e fornendo i numeri di account.

    • Nessuno (impostazione predefinita): distribuisce gli stack su tutti gli account specificati. OUs

    • Intersezione: distribuisce gli stack su singoli account specifici all'interno di quelli selezionati. OUs

    • Differenza: distribuisci gli stack su tutti gli account selezionati OUs ad eccezione di account specifici.

    • Union: distribuisci gli stack negli account individuali specificati OUs più altri.

  14. In Distribuzione automatica, scegli se eseguire la distribuzione automatica sugli account aggiunti all'organizzazione di destinazione o OUs in futuro. Per ulteriori informazioni, consulta Abilita o disabilita le distribuzioni automatiche per in StackSets AWS Organizations.

  15. Se è stata abilitata la distribuzione automatica, in Account removal behavior (Comportamento rimozione account) scegliere se le risorse dello stack vengono mantenute o eliminate quando un account viene rimosso da un'organizzazione o da un'unità organizzativa di destinazione.

    Nota

    Selezionando gli stack Retain, gli stack vengono rimossi dagli stack StackSet, ma gli stack e le risorse associate vengono mantenuti. Le risorse rimangono nello stato attuale, ma non faranno più parte di. StackSet

  16. In Specificare le regioni, scegli le regioni in cui desideri distribuire gli stack.

  17. Per le opzioni di distribuzione, procedi come segue:

    • Per Numero massimo di account simultanei, specifica quanti account vengono elaborati contemporaneamente.

    • Per Tolleranza agli errori, specifica il numero massimo di errori di account consentiti per regione. L'operazione si interromperà e non passerà ad altre regioni una volta raggiunto questo limite.

    • Per la concorrenza regionale, scegli come elaborare le regioni: sequenziali (una regione alla volta) o parallele (più regioni contemporaneamente).

    • Per la modalità Concurrency, scegliete come si comporta la concorrenza durante l'esecuzione dell'operazione.

      • Rigorosa tolleranza agli errori: riduce il livello di concorrenza dell'account in caso di errori, rimanendo entro la tolleranza di errore +1.

      • Tolleranza morbida agli errori: mantiene il livello di concorrenza specificato (il valore di Maximum Concurrent Account) indipendentemente dagli errori.

  18. Seleziona Successivo per continuare.

  19. Nella pagina Revisione, verifica di eseguire StackSet la distribuzione negli account corretti nelle regioni corrette, quindi scegli Crea. StackSet

    Si apre la pagina dei StackSet dettagli. Puoi visualizzare l'avanzamento e lo stato della creazione degli stack nel tuo StackSet.

Crea un file StackSet con autorizzazioni gestite dal servizio ()AWS CLI

Segui i passaggi descritti in questa sezione per utilizzare: AWS CLI

  • Crea il StackSet contenitore.

  • Distribuisci istanze stack.

Nota

Quando agisci come amministratore delegato, devi includere --call-as DELEGATED_ADMIN nel comando.

Deploy to your organization
Per creare un StackSet
  1. Usa il create-stack-setcomando per creare un nuovo StackSet nomemy-stackset. L'esempio seguente utilizza un modello archiviato in un bucket S3, abilita le distribuzioni automatiche e conserva gli stack quando gli account vengono rimossi. Per ulteriori informazioni, consulta Abilita o disabilita le distribuzioni automatiche per in StackSets AWS Organizations.

    aws cloudformation create-stack-set \ --stack-set-name my-stackset \ --template-url https://s3.region-code.amazonaws.com/amzn-s3-demo-bucket/MyApp.template \ --permission-model SERVICE_MANAGED \ --auto-deployment Enabled=true,RetainStacksOnAccountRemoval=true
  2. Usa il list-stack-setscomando per confermare che il tuo è stato creato. StackSet Il tuo nuovo StackSet è elencato nei risultati.

    aws cloudformation list-stack-sets
    • Se imposti l'--call-asopzione su DELEGATED_ADMIN mentre hai effettuato l'accesso al tuo account membro, list-stack-sets restituisci tutti i dati StackSets con autorizzazioni gestite dal servizio nell'account di gestione dell'organizzazione.

    • Se imposti l'--call-asopzione su SELF mentre hai effettuato l'accesso al tuo Account AWS, list-stack-sets restituisci tutti i resi StackSets autogestiti nel tuo. Account AWS

    • Se imposti l'--call-asopzione su SELF mentre sei connesso all'account di gestione dell'organizzazione, list-stack-sets restituisce tutto StackSets nell'account di gestione dell'organizzazione.

  3. Usa il create-stack-instancescomando per aggiungere pile al tuo StackSet. Per l'--deployment-targetsopzione, specifica l'ID root dell'organizzazione da distribuire a tutti gli account dell'organizzazione.

    Imposta l'elaborazione simultanea degli account e altre preferenze di distribuzione utilizzando l'--operation-preferencesopzione. Questo esempio utilizza impostazioni basate sul conteggio. Nota che non MaxConcurrentCount deve superare FailureToleranceCount + 1. Per le impostazioni basate sulla percentuale, usa FailureTolerancePercentage o invece. MaxConcurrentPercentage

    aws cloudformation create-stack-instances --stack-set-name my-stackset \ --deployment-targets OrganizationalUnitIds=r-a1b2c3d4e5 \ --regions us-west-2 us-east-1 \ --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0

    Per ulteriori informazioni, consulta CreateStackInstances nella documentazione di riferimento dell'API AWS CloudFormation .

  4. Utilizzando operation-id ciò che è stato restituito come parte dell'create-stack-instancesoutput, utilizzate il describe-stack-set-operationcomando seguente per verificare che gli stack siano stati creati correttamente.

    aws cloudformation describe-stack-set-operation \ --stack-set-name my-stackset \ --operation-id operation_ID
Deploy to organizational units (OUs)
Per creare un StackSet
  1. Usa il create-stack-setcomando per creare un nuovo StackSet nomemy-stackset. L'esempio seguente utilizza un modello memorizzato in un bucket S3 e include un parametro che imposta a KeyPairName con il valore TestKey

    aws cloudformation create-stack-set \ --stack-set-name my-stackset \ --template-url https://s3.region-code.amazonaws.com/amzn-s3-demo-bucket/MyApp.template \ --permission-model SERVICE_MANAGED \ --parameters ParameterKey=KeyPairName,ParameterValue=TestKey
  2. Usa il list-stack-setscomando per confermare che il tuo StackSet è stato creato. Il tuo nuovo StackSet è elencato nei risultati.

    aws cloudformation list-stack-sets
    • Se imposti l'--call-asopzione su DELEGATED_ADMIN mentre hai effettuato l'accesso al tuo account membro, list-stack-sets restituisci tutti i dati StackSets con autorizzazioni gestite dal servizio nell'account di gestione dell'organizzazione.

    • Se imposti l'--call-asopzione su SELF mentre hai effettuato l'accesso al tuo Account AWS, list-stack-sets restituisci tutti i resi StackSets autogestiti nel tuo. Account AWS

    • Se imposti l'--call-asopzione su SELF mentre sei connesso all'account di gestione dell'organizzazione, list-stack-sets restituisce tutto StackSets nell'account di gestione dell'organizzazione.

  3. Usa il create-stack-instancescomando per aggiungere pile al tuo StackSet. Per l'--deployment-targetsopzione, specifica l'unità organizzativa su IDs cui eseguire la distribuzione.

    Imposta l'elaborazione simultanea degli account e altre preferenze di distribuzione utilizzando l'--operation-preferencesopzione. Questo esempio utilizza impostazioni basate sul conteggio. Nota che non MaxConcurrentCount deve superare FailureToleranceCount + 1. Per le impostazioni basate sulla percentuale, usa FailureTolerancePercentage o invece. MaxConcurrentPercentage

    aws cloudformation create-stack-instances --stack-set-name my-stackset \ --deployment-targets OrganizationalUnitIds=ou-rcuk-1x5j1lwo,ou-rcuk-slr5lh0a \ --regions us-west-2 us-east-1 \ --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0

    Per ulteriori informazioni, consulta CreateStackInstances nella documentazione di riferimento dell'API AWS CloudFormation .

  4. Utilizzando operation-id ciò che è stato restituito come parte dell'create-stack-instancesoutput, utilizzate il describe-stack-set-operationcomando seguente per verificare che gli stack siano stati creati correttamente.

    aws cloudformation describe-stack-set-operation \ --stack-set-name my-stackset \ --operation-id operation_ID
Deploy to specific accounts in OUs

Puoi scegliere come target unità organizzative specifiche (OUs) e utilizzare il filtro degli account per controllare con precisione quali account ricevono le distribuzioni in stack. Per impostazione predefinita, gli stack vengono distribuiti su tutti gli account specificati OUs se non viene specificato alcun filtro degli account.

In AWS CLI, si specifica il filtraggio degli account con l'opzione. --deployment-targets Per ulteriori informazioni, consulta DeploymentTargets.

Dopo aver creato il StackSet contenitore con il create-stack-set comando, utilizzate uno dei seguenti esempi per distribuire gli stack su account specifici.

Scegli come target account specifici in un'unità organizzativa

L'esempio seguente distribuisce gli stack solo negli account A1 e A2 in. OU1

aws cloudformation create-stack-instances --stack-set-name my-stackset \ --deployment-targets OrganizationalUnitIds=OU1,Accounts=A1,A2,AccountFilterType=INTERSECTION \ --regions us-west-2 us-east-1
Escludere gli account da un'unità organizzativa

L'esempio seguente distribuisce gli stack su tutti gli account OU1 ad eccezione degli account A1 e A2.

aws cloudformation create-stack-instances --stack-set-name my-stackset \ --deployment-targets OrganizationalUnitIds=OU1,Accounts=A1,A2,AccountFilterType=DIFFERENCE \ --regions us-west-2 us-east-1