Configura la distribuzione AMI tra account con Image Builder - EC2 Image Builder

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

Configura la distribuzione AMI tra account con Image Builder

Questa sezione descrive come configurare le impostazioni di distribuzione per fornire un'AMI Image Builder ad altri account da te specificati.

L'account di destinazione può quindi avviare o modificare l'AMI, se necessario.

Nota

AWS CLI gli esempi di comandi in questa sezione presuppongono che siano stati precedentemente creati file JSON di ricette di immagini e di configurazione dell'infrastruttura. Per creare il file JSON per una ricetta di immagini, vedere. Crea una ricetta di immagini con AWS CLI Per creare il file JSON per una configurazione dell'infrastruttura, consulta. Creazione di una configurazione dell'infrastruttura

Prerequisiti

Per garantire che gli account di destinazione possano avviare correttamente le istanze dall'immagine di Image Builder, è necessario configurare le autorizzazioni appropriate per tutti gli account di destinazione in tutte le regioni.

Se cripti la tua AMI usando AWS Key Management Service (AWS KMS), devi configurare un codice AWS KMS key per il tuo account che venga utilizzato per crittografare la nuova immagine.

Quando Image Builder esegue la distribuzione tra account per le AMI crittografate, l'immagine nell'account di origine viene decrittografata e inviata alla regione di destinazione, dove viene nuovamente crittografata utilizzando la chiave designata per tale regione. Poiché Image Builder agisce per conto dell'account di destinazione e utilizza un ruolo IAM creato nell'area di destinazione, tale account deve avere accesso alle chiavi sia nella regione di origine che in quella di destinazione.

Chiavi di crittografia

I seguenti prerequisiti sono necessari se l'immagine viene crittografata utilizzando. AWS KMS I prerequisiti IAM sono descritti nella sezione successiva.

Requisiti dell'account di origine
  • Crea una chiave KMS nel tuo account in tutte le regioni in cui crei e distribuisci la tua AMI. Puoi anche usare una chiave esistente.

  • Aggiorna la politica delle chiavi per tutte queste chiavi per consentire agli account di destinazione di utilizzare la tua chiave.

Requisiti dell'account di destinazione
  • Aggiungi una policy in linea EC2ImageBuilderDistributionCrossAccountRole che consenta al ruolo di eseguire le azioni richieste per distribuire un'AMI crittografata. Per i passaggi di configurazione di IAM, consulta la sezione sui Policy IAM prerequisiti.

Per ulteriori informazioni sull'utilizzo di una chiave KMS da più account AWS KMS, consulta Consentire agli utenti di altri account di utilizzare una chiave KMS nella Guida per gli AWS Key Management Service sviluppatori.

Specificate la chiave di crittografia nella ricetta dell'immagine, come segue:

  • Se utilizzi la console Image Builder, scegli la tua chiave di crittografia dall'elenco a discesa Encryption (alias KMS) nella sezione Storage (volumi) della ricetta.

  • Se stai utilizzando l'azione CreateImageRecipe API o il create-image-recipe comando contenuto in AWS CLI, configura la chiave blockDeviceMappings nella ebs sezione sottostante dell'input JSON.

    Il seguente frammento di codice JSON mostra le impostazioni di crittografia per una ricetta di immagini. Oltre a fornire la chiave di crittografia, è necessario impostare il encrypted flag su. true

    { ... "blockDeviceMappings": [ { "deviceName": "Example root volume", "ebs": { "deleteOnTermination": true, "encrypted": true, "iops": 100, "kmsKeyId": "image-owner-key-id", ... }, ... }], ... }

Policy IAM

Per configurare le autorizzazioni di distribuzione tra account in AWS Identity and Access Management (IAM), segui questi passaggi:

  1. Per utilizzare le AMI di Image Builder distribuite tra gli account, il proprietario dell'account di destinazione deve creare un nuovo ruolo IAM nel proprio account chiamato. EC2ImageBuilderDistributionCrossAccountRole

  2. Devono associarlo al ruolo Policy Ec2ImageBuilderCrossAccountDistributionAccess per consentire la distribuzione tra account. Per ulteriori informazioni sulle politiche gestite, vedere Managed Policies e Inline Policies nella Guida per l'AWS Identity and Access Management utente.

  3. Verifica che l'ID dell'account di origine venga aggiunto alla policy di fiducia allegata al ruolo IAM dell'account di destinazione. Per ulteriori informazioni sulle policy di fiducia, consulta Resource-Based Policies nella Guida per l'AWS Identity and Access Management utente.

  4. Se l'AMI che distribuisci è crittografato, il proprietario dell'account di destinazione deve aggiungere la seguente politica in linea al proprio account EC2ImageBuilderDistributionCrossAccountRole in modo da poter utilizzare le tue chiavi KMS. La Principal sezione contiene il loro numero di account. Ciò consente a Image Builder di agire per loro conto quando AWS KMS crittografa e decrittografa l'AMI con le chiavi appropriate per ciascuna regione.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleToPerformKMSOperationsOnBehalfOfTheDestinationAccount", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*" } ] }

    Per ulteriori informazioni sulle politiche in linea, vedere Inline Policies nella Guida per l'utente.AWS Identity and Access Management

  5. Se desideri specificare un modello launchTemplateConfigurations di lancio di Amazon EC2, devi anche aggiungere la seguente policy al tuo account EC2ImageBuilderDistributionCrossAccountRole di destinazione.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateLaunchTemplateVersion", "ec2:ModifyLaunchTemplate" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/CreatedBy": "EC2 Image Builder" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeLaunchTemplates" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:launch-template/*", "Condition": { "StringEquals": { "aws:RequestTag/CreatedBy": "EC2 Image Builder" } } } ] }

Limiti per la distribuzione tra account

Esistono alcune limitazioni nella distribuzione delle immagini di Image Builder tra gli account:

  • L'account di destinazione è limitato a 50 copie AMI simultanee per ogni regione di destinazione.

  • Se desideri copiare un'AMI di virtualizzazione paravirtuale (PV) in un'altra regione, la regione di destinazione deve supportare le AMI di virtualizzazione PV. Per ulteriori informazioni, consulta Tipi di virtualizzazione delle AMI Linux.

  • Non è possibile creare una copia non crittografata di un'istantanea crittografata. Se non specifichi una chiave gestita dal cliente AWS Key Management Service (AWS KMS) per il KmsKeyId parametro, Image Builder utilizza la chiave predefinita per Amazon Elastic Block Store (Amazon EBS) Elastic Block Store (Amazon EBS). Per ulteriori informazioni, consulta Crittografia Amazon EBS nella Guida per l'utente di Amazon Elastic Compute Cloud.

Per ulteriori informazioni, consulta il riferimento CreateDistributionConfigurationall'API EC2 Image Builder.

Configurazione della distribuzione tra account per un'AMI Image Builder (console)

Questa sezione descrive come creare e configurare le impostazioni di distribuzione per la distribuzione tra account delle AMI Image Builder utilizzando. AWS Management Console La configurazione della distribuzione tra account richiede autorizzazioni IAM specifiche. È necessario completare la sezione Prerequisiti relativa a questa sezione prima di continuare.

Per creare impostazioni di distribuzione nella console Image Builder, procedi nel seguente modo:

  1. Apri la console EC2 Image Builder all'indirizzo https://console.aws.amazon.com/imagebuilder/.

  2. Scegliete Impostazioni di distribuzione dal pannello di navigazione. Questo mostra un elenco delle impostazioni di distribuzione create con il tuo account.

  3. Nella parte superiore della pagina delle impostazioni di distribuzione, scegli Crea impostazioni di distribuzione. Verrà visualizzata la pagina Crea impostazioni di distribuzione.

  4. Nella sezione Tipo di immagine, scegli Amazon Machine Image (AMI) come tipo di output. Si tratta dell'impostazione di default.

  5. Nella sezione Generale, inserisci il nome della risorsa di impostazioni di distribuzione che desideri creare (obbligatorio).

  6. Nella sezione Impostazioni della regione, inserisci un ID account a 12 cifre su cui vuoi distribuire l'AMI negli account Target per la regione selezionata e premi Invio. Questo verifica la formattazione corretta, quindi visualizza l'ID dell'account che hai inserito sotto la casella. Ripeti la procedura per aggiungere altri account.

    Per rimuovere un account che hai inserito, scegli la X visualizzata a destra dell'ID dell'account.

    Inserisci il nome dell'AMI di uscita per ogni regione.

  7. Continua a specificare le impostazioni aggiuntive di cui hai bisogno e scegli Crea impostazioni per creare la nuova risorsa per le impostazioni di distribuzione.

Configurare la distribuzione tra account per un AMI AWS CLI Image Builder ()

Questa sezione descrive come configurare un file di impostazioni di distribuzione e utilizzare il create-image comando in AWS CLI per creare e distribuire un'AMI Image Builder tra gli account.

La configurazione della distribuzione tra account richiede autorizzazioni IAM specifiche. È necessario completare la sezione Prerequisiti per questa sezione prima di eseguire il comando. create-image

  1. Configurare un file di impostazioni di distribuzione

    Prima di utilizzare il create-image comando in AWS CLI per creare un'AMI Image Builder distribuita su un altro account, è necessario creare una struttura DistributionConfiguration JSON che specifichi gli ID degli account di destinazione nelle impostazioni. AmiDistributionConfiguration È necessario specificarne almeno uno AmiDistributionConfiguration nella regione di origine.

    Il seguente file di esempio, denominatocreate-distribution-configuration.json, mostra la configurazione per la distribuzione delle immagini tra account nella regione di origine.

    { "name": "cross-account-distribution-example", "description": "Cross Account Distribution Configuration Example", "distributions": [ { "amiDistributionConfiguration": { "targetAccountIds": ["123456789012", "987654321098"], "name": "Name {{ imagebuilder:buildDate }}", "description": "ImageCopy Ami Copy Configuration" }, "region": "us-west-2" } ] }
  2. Create le impostazioni di distribuzione

    Per creare una risorsa per le impostazioni di distribuzione di Image Builder utilizzando il create-distribution-configurationcomando in AWS CLI, fornire i seguenti parametri nel comando:

    • Immettete il nome della distribuzione nel --name parametro.

    • Allega il file JSON di configurazione della distribuzione che hai creato nel --cli-input-json parametro.

    aws imagebuilder create-distribution-configuration --name my distribution name --cli-input-json file://create-distribution-configuration.json
    Nota
    • È necessario includere l'annotazione file:// all'inizio del percorso del file JSON.

    • Il percorso del file JSON deve seguire la convenzione appropriata per il sistema operativo di base in cui si esegue il comando. Ad esempio, Windows utilizza la barra rovesciata (\) per fare riferimento al percorso della directory e Linux usa la barra (/).

Puoi anche fornire JSON direttamente nel comando, utilizzando il --distributions parametro.