Distribuire un'applicazione in un account diverso AWS - AWS CodeDeploy

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à.

Distribuire un'applicazione in un account diverso AWS

Le organizzazioni dispongono in genere di più AWS account che utilizzano per scopi diversi (ad esempio, uno per le attività di amministrazione del sistema e un altro per le attività di sviluppo, test e produzione o uno associato agli ambienti di sviluppo e test e un altro associato all'ambiente di produzione).

Sebbene sia possibile eseguire operazioni correlate in account diversi, i gruppi di CodeDeploy distribuzione e le istanze Amazon EC2 su cui vengono distribuiti sono strettamente legati agli account con cui sono stati creati. Non è possibile, ad esempio, aggiungere un'istanza avviata con un account a un gruppo di distribuzione di un altro account.

Supponiamo che tu abbia due AWS account: il tuo account di sviluppo e il tuo account di produzione. e che utilizzi soprattutto l'account di sviluppo. Tuttavia vorresti iniziare a eseguire distribuzioni con l'account di produzione senza la necessità di un set completo di credenziali o senza dovere effettuare la disconnessione dall'account di sviluppo per connetterti a quello di produzione.

Dopo avere eseguito la procedura di configurazione tra più account, è possibile avviare distribuzioni che appartengono a un altro account dell'organizzazione senza la necessità di un set completo di credenziali. Puoi farlo, in parte, utilizzando una funzionalità fornita da AWS Security Token Service (AWS STS) che ti garantisce l'accesso temporaneo a quell'account.

Passaggio 1: crea un bucket S3 in uno dei due account

In entrambi gli account, di sviluppo e di produzione:

  • Se non l'hai già fatto, crea un bucket Amazon S3 in cui verranno archiviate le revisioni dell'applicazione per l'account di produzione. Per informazioni, consulta Creare un bucket in Amazon S3. Puoi anche usare lo stesso bucket e le stesse versioni dell'applicazione per entrambi gli account, distribuendo nell'ambiente di produzione gli stessi file testati e verificati del tuo account di sviluppo.

Fase 2: concedere le autorizzazioni del bucket Amazon S3 al profilo dell'istanza IAM dell'account di produzione

Se il bucket Amazon S3 creato nella fase 1 si trova nel tuo account di produzione, questo passaggio non è necessario. Il ruolo che assumerai in seguito sarà già dotato dell'accesso a questo bucket, in quanto anche questo si trova nell'account di produzione.

Se hai creato il bucket Amazon S3 nell'account di sviluppo, procedi come segue:

  • Nell'account di produzione, crea un profilo di istanza IAM. Per informazioni, consulta Fase 4: crea un profilo di istanza IAM per le tue istanze Amazon EC2.

    Nota

    Prendi nota dell'ARN per questo profilo di istanza IAM. Dovrai aggiungerlo alla policy per più bucket che creerai successivamente.

  • Nell'account di sviluppo, consenti l'accesso al bucket Amazon S3 che hai creato nell'account di sviluppo al profilo dell'istanza IAM che hai appena creato nel tuo account di produzione. Per informazioni, vedi Esempio 2: Il proprietario del bucket concede le autorizzazioni per i bucket tra account.

    Osserva quanto segue nel completare la procedura necessaria per concedere autorizzazioni per il bucket multiaccount:

    • NelIa procedura guidata di esempio, l'account A rappresenta l'account di sviluppo, mentre l'account B rappresenta quello di produzione.

    • Quando esegui le attività dell'account A (di sviluppo), modifica la seguente policy del bucket per concedere le autorizzazioni multiaccount anziché utilizzare la policy di esempio fornita nella procedura guidata.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "Cross-account permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:role/role-name" }, "Action": [ "s3:Get*", "s3:List*" ], "Resource": [ "arn:aws:s3:::bucket-name/*" ] } ] }

      account-id rappresenta il numero di account dell'account di produzione in cui hai appena creato il profilo dell'istanza IAM.

      role-name rappresenta il nome del profilo dell'istanza IAM che hai appena creato.

      bucket-name rappresenta il nome del bucket creato alla fase 1. Assicurati di includere /* dopo il nome del bucket per fornire l'accesso a ogni file all'interno del bucket.

Fase 3: Creare risorse e un ruolo per più account nell'account di produzione

Nell'account di produzione:

  • Crea CodeDeploy le tue risorse (applicazione, gruppo di distribuzione, configurazione di distribuzione, istanze Amazon EC2, profilo dell'istanza Amazon EC2, ruolo di servizio e così via) utilizzando le istruzioni contenute in questa guida.

  • Crea un ruolo aggiuntivo, un ruolo IAM per più account, che un utente del tuo account di sviluppo possa assumere per eseguire CodeDeploy operazioni in questo account di produzione.

    Utilizza la procedura dettagliata: delega l'accesso tra AWS account utilizzando i ruoli IAM come guida per aiutarti a creare il ruolo tra account. Invece di aggiungere le autorizzazioni di esempio riportate nella procedura dettagliata al documento relativo alla policy, dovresti allegare al ruolo almeno le seguenti due policy fornite: AWS

    • AmazonS3FullAccess: necessaria solo se il bucket S3 si trova nell'account di sviluppo. Fornisce al presunto ruolo dell'account di produzione l'accesso completo ai servizi e alle risorse Amazon S3 nell'account di sviluppo, in cui è archiviata la revisione.

    • AWSCodeDeployDeployerAccess: consente a un utente di registrare e distribuire le revisioni.

    Se desideri non solo avviare distribuzioni ma anche creare e gestire gruppi di distribuzione, aggiungi la policy AWSCodeDeployFullAccess anziché la policy AWSCodeDeployDeployerAccess. Per ulteriori informazioni sull'utilizzo delle policy gestite da IAM per concedere le autorizzazioni per le CodeDeploy attività, consulta. AWS politiche gestite (predefinite) per CodeDeploy

    È possibile collegare policy aggiuntive per eseguire attività in altri servizi AWS durante l'utilizzo di questo ruolo multiaccount.

Importante

Durante la creazione del ruolo IAM per più account, prendi nota dei dettagli necessari per accedere all'account di produzione.

Per utilizzare il comando AWS Management Console per passare da un ruolo all'altro, dovrai fornire uno dei seguenti elementi:

  • Un URL per accedere all'account di produzione con le credenziali del ruolo assunto. Troverai l'URL nella pagina Review (Revisione) visualizzata alla fine del processo di creazione del ruolo multiaccount.

  • Il nome del ruolo multiaccount e l'alias o il numero di ID dell'account.

Per utilizzare il comando AWS CLI per cambiare ruolo, è necessario fornire quanto segue:

  • L'ARN del ruolo multiaccount che assumerai.

Fase 4: caricare la revisione dell'applicazione nel bucket Amazon S3

Nell'account in cui hai creato il bucket Amazon S3:

Fase 5: Assumi il ruolo di più account e distribuisci le applicazioni

Nell'account di sviluppo, puoi utilizzare AWS CLI o AWS Management Console per assumere il ruolo tra account diversi e avviare la distribuzione nell'account di produzione.

Per istruzioni su come utilizzare il AWS Management Console per cambiare ruolo e avviare le distribuzioni, consulta Passare a un ruolo () e.AWS Management ConsoleCrea una distribuzione della piattaforma di elaborazione EC2/on-premise (console)

Per istruzioni su come utilizzare per assumere il AWS CLI ruolo tra account diversi e avviare le distribuzioni, consulta Switching to an IAM role () e.AWS Command Line InterfaceCrea un'implementazione della piattaforma di elaborazione (CLI) EC2/on-premise

Per ulteriori informazioni sull'assunzione di un ruolo tramite AWS STS, consulta la Guida per l'AWS Security Token Service utente e assume-role AssumeRolenel Command Reference.AWS CLI

Argomento correlato: