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
nellaebs
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:
-
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
-
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.
-
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.
-
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. LaPrincipal
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
-
Se desideri specificare un modello
launchTemplateConfigurations
di lancio di Amazon EC2, devi anche aggiungere la seguente policy al tuo accountEC2ImageBuilderDistributionCrossAccountRole
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:
-
Apri la console EC2 Image Builder all'indirizzo https://console.aws.amazon.com/imagebuilder/
. -
Scegliete Impostazioni di distribuzione dal pannello di navigazione. Questo mostra un elenco delle impostazioni di distribuzione create con il tuo account.
-
Nella parte superiore della pagina delle impostazioni di distribuzione, scegli Crea impostazioni di distribuzione. Verrà visualizzata la pagina Crea impostazioni di distribuzione.
-
Nella sezione Tipo di immagine, scegli Amazon Machine Image (AMI) come tipo di output. Si tratta dell'impostazione di default.
-
Nella sezione Generale, inserisci il nome della risorsa di impostazioni di distribuzione che desideri creare (obbligatorio).
-
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.
-
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
-
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 unoAmiDistributionConfiguration
nella regione di origine.Il seguente file di esempio, denominato
create-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" } ] } -
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.