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.
Prerequisiti per i parametri di output SSM
Prima di creare una nuova configurazione di distribuzione AMI che imposti 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 è stato definito un ruolo di esecuzione del flusso di lavoro di Image Builder, è necessario aggiungere eventuali autorizzazioni di funzionalità aggiuntive a tale ruolo. In caso contrario, è necessario creare un nuovo ruolo personalizzato che includa le autorizzazioni richieste.
-
Per memorizzare l'ID AMI di output in un parametro SSM durante la distribuzione, è necessario specificare l'ssm:PutParameter
azione nel ruolo di esecuzione di Image Builder, con il parametro elencato come risorsa.
-
Quando impostate il tipo di dati del parametro su AWS EC2 Image
per segnalare a Systems Manager di convalidare il valore del parametro come ID AMI, dovete aggiungere anche l'ec2:DescribeImages
azione.
Creare una configurazione di distribuzione AMI
Le configurazioni di distribuzione includono il nome dell'AMI di output, impostazioni regionali specifiche per la crittografia, le autorizzazioni di avvio e Account AWS le organizzazioni e le unità organizzative (OUs) che possono avviare l'AMI di output e le configurazioni di licenza.
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 AWS regioni. Consente inoltre di esportare l'AMI in Amazon Simple Storage Service (Amazon S3) o di EC2 configurare Fast Launch per Windows di output. AMIs 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.
- Console
-
Segui questi passaggi per creare una nuova configurazione di distribuzione AMI in AWS Management Console:
-
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 configurazioni di distribuzione create con il tuo account.
-
Scegli Crea impostazioni di distribuzione nella parte superiore del pannello delle impostazioni di distribuzione.
-
Nella sezione Tipo di immagine, scegli il tipo di output Amazon Machine Image (AMI).
-
Nella sezione Generale, inserisci un nome per la configurazione di distribuzione e una descrizione facoltativa.
-
Nella sezione Impostazioni della regione, inserisci i seguenti dettagli per ogni regione in cui distribuisci l'AMI:
-
Per impostazione predefinita, l'AMI è distribuito nella regione corrente (Regione 1). La regione 1 è l'origine della distribuzione. Alcune impostazioni per la Regione 1 non sono modificabili. Per tutte le regioni che aggiungi, puoi scegliere una regione dall'elenco a discesa Regione.
La chiave Kms identifica la AWS KMS key chiave utilizzata per crittografare i volumi EBS per l'immagine nella regione di destinazione. È importante notare che ciò non si applica all'AMI originale creata dalla build con il tuo account nella regione di origine (Regione 1). La crittografia eseguita durante la fase di distribuzione della build è valida solo per le immagini distribuite ad altri account o regioni.
Per crittografare i volumi EBS per l'AMI creata nella regione di origine del tuo account, devi impostare la chiave KMS nella mappatura del dispositivo del blocco image recipe (Archiviazione (volumi) nella console).
Image Builder copia l'AMI negli account Target specificati per la regione.
Il nome dell'AMI di uscita è facoltativo. Se fornisci un nome, il nome dell'AMI di output finale include un timestamp aggiunto di quando viene creato l'AMI. Se non specificate un nome, Image Builder aggiunge il timestamp di compilazione al nome della ricetta. Ciò garantisce nomi AMI univoci per ogni build.
-
Con la condivisione AMI, puoi concedere l'accesso a determinati AWS Principal per avviare istanze dall'AMI. Se espandi la sezione di condivisione AMI, puoi inserire i seguenti dettagli:
-
Autorizzazioni di avvio: seleziona Privato se desideri mantenere privata l'AMI e consentire l'accesso a AWS Principali specifici per avviare un'istanza dall'AMI privata. Seleziona Pubblico se desideri rendere pubblica la tua AMI. Qualsiasi AWS Principal può avviare un'istanza dalla tua AMI pubblica.
-
Principali: puoi concedere l'accesso ai seguenti tipi di AWS Principal per avviare le istanze:
-
AWS account: concedi l'accesso a un account specifico AWS
-
Unità organizzativa (OU): concede l'accesso a un'unità organizzativa e a tutte le relative entità figlio. Le entità figlie includono AWS gli account OUs e.
-
Organizzazione: concedi l'accesso alla tua AWS Organizations entità e a tutte le relative entità figlie. Le entità figlie includono OUs gli AWS account.
Innanzitutto, seleziona il tipo principale. Quindi inserisci l'ID del AWS Principal a cui desideri concedere l'accesso nella casella a destra dell'elenco a discesa. Puoi inserire più IDs tipi diversi.
-
È possibile espandere la sezione Configurazione della licenza per allegare le configurazioni di licenza create con AWS License Manager alle immagini di Image Builder. Le configurazioni di licenza contengono regole di licenza basate sui termini dei contratti aziendali. Image Builder include automaticamente le configurazioni di licenza associate all'AMI di base.
-
Puoi espandere la sezione di configurazione del modello di avvio per specificare un modello di EC2 avvio da utilizzare per avviare le istanze dall'AMI che hai creato.
Se utilizzi un modello di EC2 avvio, puoi indicare a Image Builder di creare una nuova versione del modello di lancio che includa l'ID AMI più recente dopo il completamento della build. Per aggiornare il modello di avvio, configura le impostazioni come segue:
-
Nome modello di avvio: selezionare il nome del modello di lancio che si desidera aggiornare con Image Builder.
-
Imposta la versione predefinita: seleziona questa casella di controllo per aggiornare la versione predefinita del modello di lancio alla nuova versione.
Per aggiungere un'altra configurazione del modello di lancio, scegli Aggiungi configurazione del modello di lancio. Puoi avere fino a cinque configurazioni di modelli di lancio per regione.
-
Puoi espandere la sezione Configurazioni dei parametri SSM per configurare un parametro SSM che memorizzerà l'ID AMI di output per l'immagine distribuita nella regione di destinazione. Facoltativamente, puoi specificare un account di distribuzione nella regione.
Nome del parametro: immettere il nome del parametro. Ad esempio /output/image/param
.
Tipo di dati: mantiene il valore predefinito (AWS EC2 Image
). Ciò indica a Systems Manager di convalidare il valore del parametro per garantire che sia un ID AMI valido.
-
Per aggiungere impostazioni di distribuzione per un'altra regione, scegli Aggiungi regione.
-
Scegli Crea impostazioni quando hai finito.
- AWS CLI
-
L'esempio seguente mostra come utilizzare il create-distribution-configuration comando per creare una nuova configurazione di distribuzione per l'AMI, utilizzando il AWS CLI.
-
Creazione di un file JSON di input nella CLI
Utilizzate uno strumento di modifica dei file per creare un file JSON con le chiavi mostrate in uno degli esempi seguenti e valori validi per il vostro ambiente. Questi esempi definiscono quali Account AWS unità organizzative (OUs) sono autorizzate a lanciare l'AMI che distribuisci nelle regioni specificate. AWS Organizations Assegnate un nome al filecreate-ami-distribution-configuration.json
, da utilizzare nel passaggio successivo:
Esempio 1: Distribuisci a Account AWS
Questo esempio distribuisce un AMI in due regioni e specifica Account AWS che dispongono delle autorizzazioni di avvio in ciascuna regione.
{
"name": "MyExampleAccountDistribution",
"description": "Copies AMI to eu-west-1, and specifies accounts that can launch instances in each Region.",
"distributions": [
{
"region": "us-west-2",
"amiDistributionConfiguration": {
"name": "Name {{imagebuilder:buildDate}}",
"description": "An example image name with parameter references",
"amiTags": {
"KeyName": "Some Value"
},
"launchPermission": {
"userIds": [
"987654321012"
]
}
}
},
{
"region": "eu-west-1",
"amiDistributionConfiguration": {
"name": "My {{imagebuilder:buildVersion}} image {{imagebuilder:buildDate}}",
"amiTags": {
"KeyName": "Some value"
},
"launchPermission": {
"userIds": [
"100000000001"
]
}
}
}
]
}
Esempio 2: Distribuzione a Organizzazioni e OUs
Questo esempio distribuisce un AMI nella regione di origine e specifica l'organizzazione e le autorizzazioni di avvio dell'unità organizzativa.
{
"name": "MyExampleAWSOrganizationDistribution",
"description": "Shares AMI with the Organization and OU",
"distributions": [
{
"region": "us-west-2",
"amiDistributionConfiguration": {
"name": "Name {{ imagebuilder:buildDate }}",
"launchPermission": {
"organizationArns": [
"arn:aws:organizations::123456789012:organization/o-myorganization123"
],
"organizationalUnitArns": [
"arn:aws:organizations::123456789012:ou/o-123example/ou-1234-myorganizationalunit"
]
}
}
}
]
}
Esempio 3: memorizza l'ID AMI di output in un parametro SSM
Questo esempio memorizza l'ID AMI di output in un AWS Systems Manager parametro Parameter Store nella regione di distribuzione.
{
"name": "SSMParameterOutputAMI
",
"description": "Updates an SSM parameter with the output AMI ID for the distribution.
",
"distributions": [
{
"region": "us-west-2
",
"amiDistributionConfiguration": {
"name": "Name {{ imagebuilder:buildDate }}"
},
"ssmParameterConfigurations": [
{
"amiAccountId": "111122223333
",
"parameterName": "/output/image/param
",
"dataType": "aws:ec2:image
"
}
]
}
]
}
-
Esegui il comando seguente utilizzando il file creato come input.
aws imagebuilder create-distribution-configuration --cli-input-json file://create-ami-distribution-configuration.json
-
È 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 (/).
Per informazioni più dettagliate, consulta la sezione Command create-distribution-configuration Reference.AWS CLI
Aggiornare una configurazione di distribuzione AMI
È possibile modificare la configurazione di distribuzione AMI. Tuttavia, le modifiche apportate non si applicano alle risorse che Image Builder ha già distribuito. Ad esempio, se hai distribuito un AMI in una regione che successivamente rimuovi dalla distribuzione, l'AMI che era già distribuito rimane in quella regione finché non lo rimuovi manualmente.
- AWS Management Console
-
Segui questi passaggi per una configurazione di distribuzione AMI in AWS Management Console:
-
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 configurazioni di distribuzione create con il tuo account.
-
Per visualizzare i dettagli o aggiornare una configurazione di distribuzione, scegli il link Nome della configurazione. Verrà aperta la visualizzazione dettagliata delle impostazioni di distribuzione.
Puoi anche selezionare la casella di controllo accanto al nome della configurazione, quindi scegliere Visualizza dettagli.
-
Per modificare la configurazione di distribuzione, scegli Modifica nell'angolo in alto a destra della sezione Dettagli di distribuzione. Alcuni campi sono bloccati, come il nome della configurazione di distribuzione e la regione predefinita visualizzata come Regione 1. Per ulteriori informazioni sulle impostazioni di configurazione della distribuzione, vedereCreare una configurazione di distribuzione AMI.
-
Al termine, scegli Save changes (Salva modifiche).
- AWS CLI
-
L'esempio seguente mostra come utilizzare il update-distribution-configuration comando per aggiornare le impostazioni di distribuzione per l'AMI, utilizzando il AWS CLI.
-
Creazione di un file JSON di input nella CLI
Utilizzate uno strumento di modifica dei file per creare un file JSON con le chiavi mostrate nell'esempio seguente e valori validi per il vostro ambiente. Questo esempio utilizza un file denominato. update-ami-distribution-configuration.json
{
"distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/update-ami-distribution-configuration.json",
"description": "Copies AMI to eu-west-2, and specifies accounts that can launch instances in each Region.",
"distributions": [
{
"region": "us-west-2",
"amiDistributionConfiguration": {
"name": "Name {{imagebuilder:buildDate}}",
"description": "An example image name with parameter references",
"launchPermissions": {
"userIds": [
"987654321012"
]
}
}
},
{
"region": "eu-west-2",
"amiDistributionConfiguration": {
"name": "My {{imagebuilder:buildVersion}} image {{imagebuilder:buildDate}}",
"tags": {
"KeyName": "Some value"
},
"launchPermissions": {
"userIds": [
"100000000001"
]
}
}
}
]
}
-
Esegui il comando seguente utilizzando il file creato come input.
aws imagebuilder update-distribution-configuration --cli-input-json file://update-ami-distribution-configuration.json
-
È 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 (/).
Per informazioni più dettagliate, consulta la sezione Command update-distribution-configuration Reference.AWS CLI Per aggiornare i tag per la risorsa di configurazione della distribuzione, consulta la Aggiunta di tag alle risorse sezione.
Crea impostazioni di distribuzione per abilitare EC2 Fast Launch per l'output AMIs
L'esempio seguente mostra come utilizzare il create-distribution-configuration comando per creare impostazioni di distribuzione con EC2 Fast Launch configurato per l'AMI, da AWS CLI.
Image Builder non supporta la distribuzione tra account se EC2 Fast Launch è AMIs preabilitato. EC2 Fast Launch deve essere abilitato dall'account di destinazione.
-
Creazione di un file JSON di input nella CLI
Utilizzate uno strumento di modifica dei file per creare un file JSON con chiavi, come mostrato nell'esempio seguente, più valori validi per il vostro ambiente.
Questo esempio avvia le istanze per tutte le relative risorse di destinazione contemporaneamente, poiché il numero massimo di avvii paralleli è maggiore del conteggio delle risorse di destinazione. Questo file è denominato ami-dist-config-win-fast-launch.json
nell'esempio di comando illustrato 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
}]
}]
}
È possibile specificare il launchTemplateName
posto del launchTemplateId
nella launchTemplate
sezione, 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.json
-
È 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 (/).
Per informazioni più dettagliate, consulta la sezione Command create-distribution-configuration Reference.AWS CLI
Creare impostazioni di distribuzione per i dischi VM in uscita dal AWS CLI
L'esempio seguente mostra come utilizzare il create-distribution-configuration comando per creare impostazioni di distribuzione che esporteranno i dischi di immagine delle macchine virtuali in Amazon S3 con ogni build di immagine.
-
Creazione di un file JSON di input nella CLI
Puoi semplificare il create-distribution-configuration comando che usi in. AWS CLI A tale scopo, create un file JSON che contenga tutta la configurazione di esportazione che desiderate passare al comando.
La convenzione di denominazione per i valori dei dati nel file JSON segue lo schema specificato per i parametri di richiesta operativa dell'API Image Builder. Per esaminare i parametri di richiesta dell'operazione API, vedere il CreateDistributionConfiguration comando nell'EC2 Image Builder API Reference.
Per fornire i valori dei dati come parametri della riga di comando, fate riferimento ai nomi dei parametri specificati in AWS CLI Command Reference. Al create-distribution-configuration comando come opzioni.
Ecco un riepilogo dei parametri che specifichiamo nell'oggetto s3ExportConfiguration
JSON per questo esempio:
-
roleName (stringa, obbligatorio): il nome del ruolo che concede alla VM l' Import/Export autorizzazione per esportare immagini nel bucket S3.
-
diskImageFormat(stringa, obbligatorio) — Esporta l'immagine del disco aggiornata in uno dei seguenti formati supportati:
-
Disco rigido virtuale (VHD): compatibile con i prodotti di virtualizzazione Citrix Xen e Microsoft Hyper-V.
-
ESX Virtual Machine Disk (VMDK) ottimizzato per lo streaming: compatibile con le versioni 4, 5 VMware e 6 di ESX e VMware vSphere.
-
Raw: formato Raw.
-
S3bucket (stringa, obbligatorio): il bucket S3 in cui archiviare le immagini del disco di output per la macchina virtuale.
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.json
-
È 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 (/).
Per informazioni più dettagliate, consulta la sezione Command create-distribution-configuration Reference.AWS CLI