Crea 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 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 ruoli IAM in ogni account di destinazione e. Regione AWS CloudFormation crea i ruoli IAM per tuo conto. Per ulteriori informazioni, consulta Attiva l’accesso attendibile.

Considerazioni

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

  • StackSets con autorizzazioni gestite dal servizio possono essere avviate dall'account di gestione dell'organizzazione o dagli account di amministratore delegato, ma tutte le operazioni vengono eseguite dall'account di gestione.

  • CloudFormation non distribuisce pile nell'account di gestione, anche se tale account fa parte dell'organizzazione o appartiene a un'unità organizzativa (OU).

  • StackSet Puoi scegliere come target l'intera organizzazione (inclusi tutti gli account) o specificarlo. OUs Quando si StackSet rivolge a un'unità organizzativa principale, include automaticamente qualsiasi figlio OUs. Per impostazione predefinita, quando un StackSet target è specifico OUs, include tutti gli account al suo interno OUs. Tuttavia, puoi definire come destinazione account specifici utilizzando opzioni di filtro di account.

  • Più unità StackSets possono essere destinate alla stessa organizzazione o unità organizzativa.

  • Non puoi definire come destinazione account esterni all’organizzazione.

  • L'autorizzazione alla distribuzione StackSets dipende dalle autorizzazioni assegnate al principale IAM (utente, ruolo o gruppo) utilizzato per accedere all'account di gestione. 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 l’implementazione di qualsiasi account dell’organizzazione. L'account di gestione non può limitare le autorizzazioni di amministratore delegato da distribuire a operazioni o operazioni specifiche. OUs StackSet

  • Le impostazioni di distribuzione automatica si applicano a livello. StackSet Non è possibile modificare le distribuzioni automatiche in modo selettivo per OUs account o regioni.

  • StackSets che utilizzano autorizzazioni gestite dal servizio non supportano stack o modelli annidati che contengono macro o trasformazioni.

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

Per creare un StackSet
  1. Accedi Console di gestione AWS e apri la 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 attendibile per StackSet con AWS Organizations.

  6. In Prerequisito - Prepara 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 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ù veloci.

    • Le operazioni in conflitto vengono automaticamente messe in coda ed elaborate nell’ordine di richiesta.

    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 puoi modificare le impostazioni di esecuzione durante questa fase.

  11. Se il modello contiene risorse IAM, in Funzionalità 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 implementazione, in Destinazioni di implementazione, esegui una delle seguenti operazioni:

    • Per implementare in tutti gli account dell’organizzazione, scegli Implementa 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 e in altri account individuali OUs .

  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 Specifica Regioni, scegli le Regioni in cui desideri implementare gli stack.

  17. In Opzioni di implementazione, procedi come segue:

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

    • In Failure tolerance, specifica il numero massimo di errori consentiti per Regione negli account. Una volta raggiunto questo limite, l’operazione si interromperà e non passerà ad altre Regioni.

    • In Region concurrency, scegli il modo con cui elaborare le Regioni: sequenziale (una Regione alla volta) o parallelo (più Regioni contemporaneamente).

    • In Concurrency mode, scegli come deve comportarsi la simultaneità durante l’esecuzione dell’operazione.

      • Tolleranza rigorosa ai guasti: riduce il livello di simultaneità degli account quando si verificano errori, rimanendo all’interno di Tolleranza ai guasti +1.

      • Tolleranza leggera ai guasti: mantiene il livello di simultaneità specificato (il valore di Numero massimo di account simultanei) indipendentemente dai guasti.

    • Per StackSet le dipendenze, aggiungi dipendente StackSet ARNs, rimanendo entro un massimo di 10 dipendenze. Per ulteriori informazioni, consulta Abilita o disabilita le distribuzioni automatiche per in StackSets AWS Organizations.

  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.

  • Implementare istanze di 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. Il seguente esempio usa un modello archiviato in un bucket S3, consente implementazioni automatiche e mantiene 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,DependsOn=ARN1,ARN2
  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’opzione --deployment-targets, specifica l’ID root dell’organizzazione per effettuare l’implementazione in tutti gli account dell’organizzazione.

    Imposta l’elaborazione simultanea degli account e altre preferenze di implementazione con l’opzione --operation-preferences. Questo esempio usa impostazioni basate su numeri. Tieni presente che MaxConcurrentCount non deve superare FailureToleranceCount + 1. Per le impostazioni basate su percentuali, usa FailureTolerancePercentage o 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 l’operation-id restituito come parte dell’output create-stack-instances, usa il seguente comando describe-stack-set-operation 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. Il seguente esempio usa un modello archiviato in un bucket S3 e include un parametro che imposta un 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 implementazione con l’opzione --operation-preferences. Questo esempio usa impostazioni basate su numeri. Tieni presente che MaxConcurrentCount non deve superare FailureToleranceCount + 1. Per le impostazioni basate su percentuali, usa FailureTolerancePercentage o 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 l’operation-id restituito come parte dell’output create-stack-instances, usa il seguente comando describe-stack-set-operation 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

È possibile 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 per gli 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.

Scegliere come destinazione account specifici in una UO

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 una UO

L'esempio seguente distribuisce gli stack su tutti gli account ad OU1 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