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 e aggiorna le configurazioni di distribuzione AMI
Questa sezione descrive la creazione e l'aggiornamento delle configurazioni di distribuzione per un'AMI Image Builder.
Indice
Prerequisiti per la distribuzione AMI
Alcune impostazioni di distribuzione hanno dei prerequisiti, come segue:
Prerequisiti per i parametri di output SSM
Prima di creare una nuova configurazione di distribuzione AMI che imposta un AWS Systems Manager parametro Parameter Store (parametro SSM), assicurati di aver soddisfatto i seguenti prerequisiti.
- Ruolo di esecuzione
-
Quando si crea una pipeline o si utilizza il comando create-image in AWS CLI, è possibile specificare un solo ruolo di esecuzione di Image Builder. Se hai definito un ruolo di esecuzione del flusso di lavoro di Image Builder, dovresti aggiungere eventuali autorizzazioni aggiuntive per le funzionalità a quel ruolo. Altrimenti, creeresti un nuovo ruolo personalizzato che includa le autorizzazioni richieste.
Importante
Ti consigliamo di non passare il ruolo AWSServiceRoleForImageBuilder collegato al servizio come ruolo di esecuzione. Crea invece un ruolo IAM personalizzato e allega la policy EC2ImageBuilderExecutionPolicy AWS gestita. Questa policy concede le stesse autorizzazioni di cui Image Builder ha bisogno per chiamare per tuo Servizi AWS conto. L'utilizzo di un ruolo personalizzato ti dà il pieno controllo sulle autorizzazioni utilizzate da Image Builder. Inoltre, mantiene in vigore le politiche di controllo dei servizi (SCP) e le politiche di controllo delle risorse (RCP) per le operazioni che Image Builder esegue per conto dell'utente.
-
Per memorizzare l'ID AMI di output in un parametro SSM durante la distribuzione, è necessario specificare l'
ssm:PutParameterazione nel ruolo di esecuzione di Image Builder, con il parametro elencato come risorsa. -
Quando si imposta il tipo di dati del parametro su
AWS EC2 Imageper indicare a Systems Manager di convalidare il valore del parametro come ID AMI, è inoltre necessario aggiungere l'azioneec2:DescribeImages.
-
- Opt-in Region
-
È necessario abilitare una regione di attivazione (regione disattivata per impostazione predefinita) nell'account di origine. Questo requisito si applica quando la configurazione di distribuzione è destinata a tale regione
ssmParameterConfigurations, indipendentemente dal fatto che si utilizzi il ruolo collegato al servizio Image Builder o un ruolo di esecuzione personalizzato.Nota
La copia dell'AMI in una regione opt-in può avere successo anche se l'account di origine non ha abilitato la regione. Solo la scrittura del parametro di output SSM ha esito negativo.
Senza questo prerequisito, la compilazione fallisce con un errore simile al seguente:
In region 'af-south-1' - 'STS Client Error: The provided execution role does not exist or does not have sufficient permissions.'Per risolvere il problema, procedi in uno dei seguenti modi:
-
Abilita le regioni opt-in nell'account di origine. Per istruzioni su come abilitare una regione, consulta Abilitare o disabilitare AWS le regioni nel tuo account nella Guida di riferimento per la gestione degli AWS account.
-
Ometti
ssmParameterConfigurationsper le regioni che hanno aderito. Utilizza invece una EventBridge regola Amazon per reagire all'evento EC2 Image Builder Image State Change e scrivi tu stesso i parametri.
-
Prerequisiti per EC2 Fast Launch
Prima di creare una nuova configurazione di distribuzione per le AMI EC2 Fast Launch for Windows, assicurati di aver soddisfatto i seguenti prerequisiti.
-
Se fornisci un modello di avvio personalizzato quando configuri EC2 Fast Launch, il servizio utilizza il VPC e altre impostazioni di configurazione che hai definito nel modello di avvio. Per ulteriori informazioni, consulta Utilizzare un modello di avvio quando si configura EC2 Fast Launch.
-
Se non utilizzi un modello di avvio personalizzato per configurare le impostazioni, devi allegare la EC2FastLaunchFullAccess policy al ruolo IAM utilizzato da Image Builder per creare l'immagine. Quando si crea una pipeline o si utilizza il comando create-image in AWS CLI, è possibile specificare un solo ruolo di esecuzione di Image Builder. Se hai definito un ruolo di esecuzione del flusso di lavoro di Image Builder, dovresti aggiungere eventuali autorizzazioni aggiuntive per le funzionalità a quel ruolo. Altrimenti, creeresti un nuovo ruolo personalizzato che includa le autorizzazioni richieste.
Questa funzionalità richiede autorizzazioni aggiuntive oltre a quelle della politica di esecuzione di base, pertanto è necessario utilizzare un ruolo personalizzato. È consigliabile creare un ruolo personalizzato con la policy EC2ImageBuilderExecutionPolicy AWS gestita allegata e quindi aggiungere la EC2FastLaunchFullAccess policy a quel ruolo.
Quindi, quando Image Builder copia l'immagine, EC2 Fast Launch crea automaticamente uno CloudFormation stack con le seguenti risorse nel tuo Account AWS.
-
Un cloud privato virtuale (VPC)
-
Sottoreti private in più zone di disponibilità
-
Un modello di avvio configurato con Instance Metadata Service Version 2 (IMDSv2)
-
Un gruppo di sicurezza senza regole in entrata o in uscita
-
Nota
Image Builder non supporta la distribuzione tra account per le AMI con EC2 Fast Launch preabilitato. EC2 Fast Launch deve essere abilitato dall'account di destinazione.
Crea una configurazione di distribuzione AMI
Le configurazioni di distribuzione includono il nome dell'AMI di output, le impostazioni regionali specifiche per la crittografia, le autorizzazioni di avvio e Account AWS le organizzazioni e le unità organizzative (OU) che possono avviare l'AMI di output e le configurazioni delle licenze.
Una configurazione di distribuzione consente di specificare il nome e la descrizione dell'AMI di output, autorizzare altri Account AWS ad avviare l'AMI, copiare l'AMI su altri account e replicare l'AMI in altre regioni. AWS Consente inoltre di esportare l'AMI in Amazon Simple Storage Service (Amazon S3) o configurare EC2 Fast Launch per le AMI Windows di output. Per rendere pubblica un'AMI, impostare l'autorizzazione di avvio account autorizzati su all. Guarda gli esempi per rendere pubblica un'AMI su EC2. ModifyImageAttribute
Aggiornare una configurazione di distribuzione AMI
È possibile modificare la configurazione della distribuzione AMI. Tuttavia, le modifiche apportate non si applicano alle risorse già distribuite da Image Builder. Ad esempio, se hai distribuito un'AMI a una regione che successivamente rimuovi dalla tua distribuzione, l'AMI già distribuita rimane in quella regione finché non la rimuovi manualmente.
Esempio: abilita EC2 Fast Launch con un modello di avvio per le AMI di output
L'esempio seguente mostra come utilizzare il create-distribution-configuration
Per configurare le impostazioni di EC2 Fast Launch senza un modello di avvio, assicurati di aver soddisfatto tutti i requisiti Prerequisiti di EC2 Fast Launch prima di creare la configurazione di distribuzione.
-
Creazione di un file JSON di input nella CLI
Usa uno strumento di modifica dei file per creare un file JSON con le chiavi, come mostrato nell'esempio seguente, più i valori validi per il tuo ambiente.
Questo esempio avvia le istanze per tutte le risorse di destinazione contemporaneamente, poiché il numero massimo di avvii paralleli è maggiore del numero di risorse di destinazione. Questo file è denominato
ami-dist-config-win-fast-launch.jsonnell'esempio di comando mostrato nel passaggio successivo.{ "name": "WinFastLaunchDistribution", "description": "An example of Windows AMI EC2 Fast Launch settings in the distribution configuration.", "distributions": [ { "region": "us-west-2", "amiDistributionConfiguration": { "name": "Name {{imagebuilder:buildDate}}", "description": "Includes Windows AMI EC2 Fast Launch settings.", "amiTags": { "KeyName": "Some Value" } }, "fastLaunchConfigurations": [{ "enabled": true, "snapshotConfiguration": { "targetResourceCount": 5 }, "maxParallelLaunches": 6, "launchTemplate": { "launchTemplateId": "lt-0ab1234c56d789012", "launchTemplateVersion": "1" } }], "launchTemplateConfigurations": [{ "launchTemplateId": "lt-0ab1234c56d789012", "setDefaultVersion": true }] }] }Nota
È possibile specificare il
launchTemplateNameanziché illaunchTemplateIdnellalaunchTemplatesezione, ma non è possibile specificare sia il nome che l'ID. -
Esegui il comando seguente utilizzando il file creato come input.
aws imagebuilder create-distribution-configuration --cli-input-json file://ami-dist-config-win-fast-launch.jsonNota
-
È 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 rovesciata (/).
Per informazioni più dettagliate, vedere create-distribution-configuration
nel Command Reference. AWS CLI -
Esempio: creazione di impostazioni di distribuzione per i dischi VM di output da AWS CLI
L'esempio seguente mostra come utilizzare il create-distribution-configuration comando per creare impostazioni di distribuzione che esporteranno i dischi di immagine VM in Amazon S3 con ogni creazione di immagine.
-
Creazione di un file JSON di input nella CLI
Puoi semplificare il create-distribution-configuration comando che usi in. AWS CLI Per fare ciò, crea un file JSON che contenga tutta la configurazione di esportazione che desideri passare al comando.
Nota
La convenzione di denominazione per i valori dei dati nel file JSON segue lo schema specificato per i parametri della richiesta di operazione dell'API Image Builder. Per esaminare i parametri della richiesta di operazione API, consulta il CreateDistributionConfiguration comando nell'API Reference di EC2 Image Builder.
Per fornire i valori dei dati come parametri della riga di comando, fate riferimento ai nomi dei parametri specificati nel AWS CLI Command Reference. Al create-distribution-configuration comando come opzioni.
Ecco un riepilogo dei parametri che specifichiamo nell'oggetto
s3ExportConfigurationJSON per questo esempio:-
roleName (string, required) — Il nome del ruolo che concede alla VM il Import/Export permesso di esportare immagini nel bucket S3.
-
disk ImageFormat (string, required) — Esporta l'immagine del disco aggiornata in uno dei seguenti formati supportati:
-
Virtual Hard Disk (VHD): compatibile con i prodotti di virtualizzazione Citrix Xen e Microsoft Hyper-V.
-
Stream-optimized ESX Virtual Machine Disk (VMDK): compatibile con VMware ESX e VMware vSphere versioni 4, 5 e 6.
-
Raw: formato Raw.
-
-
S3bucket (string, required) — Il bucket S3 in cui archiviare le immagini del disco di output per la tua VM.
Salva il file con nome
export-vm-disks.json. Usa il nome del file nel comando. create-distribution-configuration{ "name": "example-distribution-configuration-with-vm-export", "description": "example", "distributions": [ { "region": "us-west-2", "amiDistributionConfiguration": { "description": "example-with-vm-export" }, "s3ExportConfiguration": { "roleName": "vmimport", "diskImageFormat": "RAW", "s3Bucket": "vm-bucket-export" } }], "clientToken": "abc123def4567ab" } -
-
Esegui il comando seguente utilizzando il file creato come input.
aws imagebuilder create-distribution-configuration --cli-input-json file://export-vm-disks.jsonNota
-
È 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 rovesciata (/).
Per informazioni più dettagliate, vedere create-distribution-configuration
nel Command Reference. AWS CLI -