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 la distribuzione AMI tra account
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 crittografati AMIs, l'immagine nell'account di origine viene decrittografata e inviata alla regione di destinazione, dove viene nuovamente crittografata utilizzando la chiave designata per quella 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 dell'accesso tra account diversi 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 Image Builder AMIs distribuito su più account, il proprietario dell'account di destinazione deve creare un nuovo ruolo IAM nel proprio account chiamato.
EC2ImageBuilderDistributionCrossAccountRole
-
Devono associarlo Ec2ImageBuilderCrossAccountDistributionAccess policy al ruolo 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. L'esempio seguente mostra una politica di fiducia nell'account di destinazione che specifica l'ID dell'account dell'account di origine.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": "sts:AssumeRole" }] }
Per ulteriori informazioni sulle politiche di attendibilità, vedere Politiche basate sulle risorse nella Guida per l'utente.AWS Identity and Access Management
-
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 utilizza per crittografare e decrittografare l'AMI con le chiavi appropriate AWS KMS 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 utilizzi
launchTemplateConfigurations
per specificare un modello di EC2 lancio Amazon, devi anche aggiungere la seguente politica al tuo accountEC2ImageBuilderDistributionCrossAccountRole
in ogni 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 la virtualizzazione PV. AMIs 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 l'CreateDistributionConfigurationarticolo EC2 Image Builder API Reference.
Configurare la distribuzione tra account per un'AMI Image Builder dalla console
Questa sezione descrive come creare e configurare le impostazioni di distribuzione per la distribuzione tra account di Image AMIs Builder utilizzando. AWS Management Console La configurazione della distribuzione tra account richiede autorizzazioni IAM specifiche. È necessario completare la sezione Prerequisiti per la distribuzione AMI tra account relativa a questa sezione prima di continuare.
Per creare impostazioni di distribuzione nella console Image Builder, procedi nel seguente modo:
-
Aprire la console EC2 Image Builder all'indirizzo. https://console.aws.amazon.com/imagebuilder/
-
Scegli le 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 Image Builder da AWS CLI
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 la distribuzione AMI tra account per questa sezione prima di eseguire il comando. create-image
-
Configurare un file di impostazioni di distribuzione
Prima di utilizzare il create-image comando contenuto in AWS CLI per creare un'AMI Image Builder distribuita su un altro account, è necessario creare una struttura
DistributionConfiguration
JSON che specifichi l'account IDs 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, mentre Linux e macOS utilizzano la barra (/).
-
È inoltre possibile fornire JSON direttamente nel comando, utilizzando il parametro. --distributions