

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

# Configurazione di immagini personalizzate con Image Builder
<a name="manage-resources"></a>

Le risorse di configurazione sono gli elementi costitutivi che costituiscono le pipeline di immagini, nonché le immagini prodotte da tali pipeline. Questo capitolo tratta la creazione, la manutenzione e la condivisione delle risorse di Image Builder, inclusi componenti, ricette e immagini, insieme alla configurazione dell'infrastruttura e alle impostazioni di distribuzione.

**Nota**  
Per aiutarti a gestire le risorse di Image Builder, puoi assegnare i tuoi metadati a ciascuna risorsa sotto forma di tag. I tag vengono utilizzati per classificare le AWS risorse in diversi modi, ad esempio per scopo, proprietario o ambiente. Questa funzione è utile quando si dispone di numerose risorse dello stesso tipo. Puoi identificare più facilmente una risorsa specifica in base ai tag che le hai assegnato.  
Per ulteriori informazioni sull'etichettatura delle risorse utilizzando i comandi Image Builder in, AWS CLI consultate [Aggiunta di tag alle risorse ](tag-resources.md) la sezione di questa guida.

**Topics**
+ [Gestire le ricette in Image Builder](manage-recipes.md)
+ [Gestione della configurazione dell'infrastruttura Image Builder](manage-infra-config.md)
+ [Gestione delle impostazioni di distribuzione di Image Builder](manage-distribution-settings.md)

# Gestire le ricette in Image Builder
<a name="manage-recipes"></a>

Una ricetta di EC2 Image Builder definisce l'immagine di base da utilizzare come punto di partenza per creare una nuova immagine, insieme al set di componenti da aggiungere per personalizzare l'immagine e verificare che tutto funzioni come previsto. Image Builder offre scelte di versione automatiche per ogni componente. Per impostazione predefinita, è possibile applicare fino a 20 componenti a una ricetta. Ciò include sia i componenti di compilazione che quelli di test.

Dopo aver creato una ricetta, non puoi modificarla o sostituirla. Per aggiornare i componenti dopo aver creato una ricetta, è necessario creare una nuova ricetta o una nuova versione della ricetta. Puoi sempre applicare tag alle tue ricette esistenti. Per ulteriori informazioni sull'etichettatura delle risorse utilizzando i comandi Image Builder in, AWS CLI consultate [Aggiunta di tag alle risorse ](tag-resources.md) la sezione di questa guida.

**Suggerimento**  
Puoi utilizzare i componenti gestiti da Amazon nelle tue ricette oppure puoi sviluppare componenti personalizzati. Per ulteriori informazioni, consulta [Sviluppa componenti personalizzati per la tua immagine Image Builder](create-custom-components.md). Per le ricette di immagini che creano output AMIs, puoi anche utilizzare prodotti e componenti di Marketplace AWS immagini. Per ulteriori informazioni sull'integrazione con Marketplace AWS i prodotti, consulta[Marketplace AWS integrazione in Image Builder](integ-marketplace.md).

Questa sezione spiega come elencare, visualizzare e creare ricette.

**Topics**
+ [Elenca e visualizza i dettagli della ricetta tramite immagine](image-recipe-details.md)
+ [Elenca e visualizza i dettagli della ricetta del contenitore](container-recipe-details.md)
+ [Crea una nuova versione di una ricetta di immagini](create-image-recipes.md)
+ [Crea una nuova versione di una ricetta contenitore](create-container-recipes.md)
+ [Pulizia delle risorse](#recipes-cleanup)

# Elenca e visualizza i dettagli della ricetta tramite immagine
<a name="image-recipe-details"></a>

Questa sezione descrive i vari modi in cui è possibile trovare informazioni e visualizzare i dettagli delle ricette di immagini EC2 Image Builder.

**Topics**
+ [Elenca le ricette di immagini dalla console](#list-image-recipes-console)
+ [Elenca le ricette con immagini tratte da AWS CLI](#cli-list-image-recipes)
+ [Visualizza i dettagli delle ricette tramite immagine dalla console](#view-image-recipe-details-console)
+ [Ottieni i dettagli dell'immagine della ricetta dal AWS CLI](#cli-get-image-recipe)
+ [Ottieni i dettagli della policy relativa alle ricette relative alle immagini dal AWS CLI](#cli-get-image-recipe-policy)

## Elenca le ricette di immagini dalla console
<a name="list-image-recipes-console"></a>

Per visualizzare un elenco delle ricette di immagini create con il tuo account nella console Image Builder, procedi nel seguente modo:

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

1. Scegli **Ricette di immagini** dal pannello di navigazione. Questo mostra un elenco delle ricette di immagini create con il tuo account.

1. Per visualizzare i dettagli o creare una nuova versione della ricetta, scegli il link **Nome ricetta**. Verrà aperta la visualizzazione dettagliata della ricetta.
**Nota**  
Puoi anche selezionare la casella di controllo accanto al **nome della ricetta**, quindi scegliere **Visualizza dettagli**.

## Elenca le ricette con immagini tratte da AWS CLI
<a name="cli-list-image-recipes"></a>

L'esempio seguente mostra come elencare tutte le tue ricette di immagini, utilizzando AWS CLI.

```
aws imagebuilder list-image-recipes
```

## Visualizza i dettagli delle ricette tramite immagine dalla console
<a name="view-image-recipe-details-console"></a>

Per visualizzare i dettagli di una ricetta di immagini specifica utilizzando la console Image Builder, selezionare la ricetta dell'immagine da esaminare, seguendo i passaggi descritti in. [Elenca le ricette di immagini dalla console](#list-image-recipes-console)

Nella pagina dei dettagli della ricetta, puoi:
+ Eliminare la ricetta. Per ulteriori informazioni sull'eliminazione di risorse in Image Builder, vedere. [Eliminare risorse Image Builder obsolete o inutilizzate](delete-resources.md)
+ Creare una nuova versione.
+ Crea una pipeline a partire dalla ricetta. Dopo aver scelto **Crea pipeline da questa ricetta**, verrai indirizzato alla procedura guidata per la pipeline. Per ulteriori informazioni sulla creazione di una pipeline Image Builder utilizzando la procedura guidata per la pipeline, vedere [Tutorial: crea una pipeline di immagini con l'AMI di output dalla procedura guidata della console Image Builder](start-build-image-pipeline.md)
**Nota**  
Quando si crea una pipeline da una ricetta esistente, l'opzione per creare una nuova ricetta non è disponibile.

## Ottieni i dettagli dell'immagine della ricetta dal AWS CLI
<a name="cli-get-image-recipe"></a>

L'esempio seguente mostra come utilizzare un comando **imagebuilder** CLI per ottenere i dettagli di una ricetta di immagine specificandone l'Amazon Resource Name (ARN).

```
aws imagebuilder get-image-recipe --image-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2020.12.03
```

## Ottieni i dettagli della policy relativa alle ricette relative alle immagini dal AWS CLI
<a name="cli-get-image-recipe-policy"></a>

L'esempio seguente mostra come utilizzare un comando **imagebuilder** CLI per ottenere i dettagli di una policy di image recipe specificandone l'ARN.

```
aws imagebuilder get-image-recipe-policy --image-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2020.12.03
```

# Elenca e visualizza i dettagli della ricetta del contenitore
<a name="container-recipe-details"></a>

Questa sezione descrive i modi in cui è possibile trovare informazioni e visualizzare i dettagli per le ricette dei contenitori EC2 Image Builder.

**Topics**
+ [Elenca le ricette dei contenitori nella console](#list-container-recipes-console)
+ [Elenca le ricette contenute nei contenitori con AWS CLI](#cli-list-container-recipes)
+ [Visualizza i dettagli della ricetta del contenitore nella console](#view-container-recipe-details-console)
+ [Ottieni i dettagli della ricetta del contenitore con AWS CLI](#cli-get-container-recipe)
+ [Ottieni i dettagli della politica sulla ricetta del contenitore con AWS CLI](#cli-get-container-recipe-policy)

## Elenca le ricette dei contenitori nella console
<a name="list-container-recipes-console"></a>

Per visualizzare un elenco delle ricette di contenitori che sono state create con il tuo account nella console Image Builder, procedi nel seguente modo:

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

1. Scegli **Container recipes** dal pannello di navigazione. Questo mostra un elenco delle ricette in contenitore create con il tuo account.

1. Per visualizzare i dettagli o creare una nuova versione della ricetta, scegli il link **Nome ricetta**. Verrà aperta la visualizzazione dettagliata della ricetta.
**Nota**  
Puoi anche selezionare la casella di controllo accanto al **nome della ricetta**, quindi scegliere **Visualizza dettagli**.

## Elenca le ricette contenute nei contenitori con AWS CLI
<a name="cli-list-container-recipes"></a>

L'esempio seguente mostra come elencare tutte le ricette del contenitore, utilizzando il AWS CLI.

```
aws imagebuilder list-container-recipes
```

## Visualizza i dettagli della ricetta del contenitore nella console
<a name="view-container-recipe-details-console"></a>

Per visualizzare i dettagli di una ricetta contenitore specifica con la console Image Builder, selezionare la ricetta del contenitore da esaminare e utilizzare i passaggi descritti in. [Elenca le ricette dei contenitori nella console](#list-container-recipes-console)

Nella pagina dei dettagli della ricetta, puoi fare quanto segue:
+ Eliminare la ricetta. Per ulteriori informazioni su come eliminare risorse in Image Builder, vedere. [Eliminare risorse Image Builder obsolete o inutilizzate](delete-resources.md)
+ Creare una nuova versione.
+ Crea una pipeline a partire dalla ricetta. Dopo aver scelto **Crea pipeline da questa ricetta**, si passa alla procedura guidata per la pipeline. Per ulteriori informazioni su come creare una pipeline Image Builder utilizzando la procedura guidata per la pipeline, vedere [Tutorial: crea una pipeline di immagini con l'AMI di output dalla procedura guidata della console Image Builder](start-build-image-pipeline.md)
**Nota**  
Quando si crea una pipeline da una ricetta esistente, l'opzione per creare una nuova ricetta non è disponibile.

## Ottieni i dettagli della ricetta del contenitore con AWS CLI
<a name="cli-get-container-recipe"></a>

L'esempio seguente mostra come utilizzare un comando **imagebuilder** CLI per ottenere i dettagli di una ricetta contenitore specificandone l'ARN.

```
aws imagebuilder get-container-recipe --container-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:container-recipe/my-example-recipe/2020.12.03
```

## Ottieni i dettagli della politica sulla ricetta del contenitore con AWS CLI
<a name="cli-get-container-recipe-policy"></a>

L'esempio seguente mostra come utilizzare un comando **imagebuilder** CLI per ottenere i dettagli di una politica di ricetta del contenitore specificandone l'ARN.

```
aws imagebuilder get-container-recipe-policy --container-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:container-recipe/my-example-recipe/2020.12.03
```

# Crea una nuova versione di una ricetta di immagini
<a name="create-image-recipes"></a>

Questa sezione descrive come creare una nuova versione di una ricetta di immagini.

**Topics**
+ [Crea una nuova versione di image recipe dalla console](#create-image-recipe-version-console)
+ [Crea una ricetta di immagini con AWS CLI](#create-image-recipe-cli)
+ [Importa una macchina virtuale come immagine di base nella console](#import-vm-recipes)

## Crea una nuova versione di image recipe dalla console
<a name="create-image-recipe-version-console"></a>

Quando crei una nuova versione di ricetta, è praticamente come creare una nuova ricetta. La differenza è che alcuni dettagli sono preselezionati in base alla ricetta di base, nella maggior parte dei casi. L'elenco seguente descrive le differenze tra la creazione di una nuova ricetta e la creazione di una nuova versione di una ricetta esistente.

**Dettagli della ricetta di base nella nuova versione**
+ **Nome**: *non modificabile.*
+ **Versione**: richiesta. Inserisci il numero di versione che desideri creare nel formato *<major>. <minor>. *<patch>. Image Builder supporta l'incremento automatico delle versioni per le ricette, che consente di utilizzare modelli jolly nelle versioni delle ricette. Quando create una ricetta con una versione con caratteri jolly come `1.0.x` Image Builder incrementa automaticamente la versione (ad esempio`1.0.1`, `1.0.2``1.0.3`, e così via). Ciò elimina la necessità di tracciare e incrementare manualmente le versioni delle ricette. 
+ L'opzione **Seleziona immagine**: preselezionata, ma è possibile modificarla. Se modificate la scelta della fonte dell'immagine di base, potreste perdere altri dettagli che dipendono dall'opzione originale scelta.

  Per visualizzare i dettagli associati alla selezione dell'immagine di base, scegliete la scheda corrispondente alla selezione.

------
#### [ Managed image ]
  + **Image Operating System (OS)**: *non modificabile.*
  + **Nome dell'immagine**: preselezionato, in base alla combinazione di immagini di base scelte per la ricetta esistente. Tuttavia, se si modifica l'opzione **Seleziona immagine**, si perde il nome dell'**immagine** preselezionato.
  + **Opzioni di creazione automatica delle versioni**: *non* corrisponde alla ricetta base. L'impostazione predefinita di questa opzione di immagine è l'opzione **Usa la versione del sistema operativo selezionata**.
**Importante**  
**Se utilizzi il controllo delle versioni semantiche per avviare le build della pipeline, assicurati di modificare questo valore in Usa l'ultima versione del sistema operativo disponibile.** Per ulteriori informazioni sul controllo delle versioni semantiche per le risorse di Image Builder, vedere. [Versionamento semantico in Image Builder](ibhow-semantic-versioning.md)

------
#### [ Marketplace AWS image ]
  + **Abbonamenti**: questa scheda deve essere aperta e l'immagine da cui è stata effettuata la sottoscrizione Marketplace AWS deve essere preselezionata in modo che corrisponda alla ricetta di base. Se modifichi l'immagine utilizzata dalla ricetta come immagine di base, potresti perdere altri dettagli che dipendono dall'immagine originale che hai scelto.

  Per ulteriori informazioni sui Marketplace AWS prodotti, consulta la sezione [Acquisto di prodotti](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-subscribing-to-products.html) nella *Guida Marketplace AWS all'acquisto*.

------
#### [ Custom AMI ]

  **Sorgente AMI** (obbligatorio): immettere l'ID AMI o un parametro AWS Systems Manager (SSM) Parameter Store che contiene un ID AMI da utilizzare come immagine di base. L'agente SSM deve essere preinstallato nell'AMI selezionata. 
  + **ID AMI**: questa impostazione non è precompilata con l'immissione originale. Inserisci l'ID AMI per l'immagine di base. Esempio: `ami-1234567890abcdef1`.
  + **Parametro SSM**: inserisci il nome o l'ARN del parametro SSM Parameter Store che contiene l'ID AMI per l'immagine di base. Esempio: `/ib/test/param` o `arn:aws:ssm:us-east-1:111122223333:parameter/ib/test/param`.

------
+ **Configurazione dell'istanza**: le impostazioni sono preselezionate, ma è possibile modificarle.
  + **Agente Systems Manager**: è possibile selezionare o deselezionare questa casella di controllo per controllare l'installazione dell'agente Systems Manager sulla nuova immagine. Per impostazione predefinita, la casella di controllo è deselezionata per includere l'agente Systems Manager nella nuova immagine. Per rimuovere l'agente Systems Manager dall'immagine finale, seleziona la casella di controllo in modo che l'agente non sia incluso nell'AMI.
  + **Dati utente**: è possibile utilizzare quest'area per fornire comandi o uno script di comando da eseguire all'avvio dell'istanza di build. Tuttavia, questo valore sostituisce tutti i comandi che Image Builder potrebbe aver aggiunto per garantire l'installazione di Systems Manager. Questi comandi includono lo script di pulizia che Image Builder normalmente esegue per le immagini Linux prima di creare la nuova immagine.

    Quando Image Builder avvia un'istanza, gli script dei dati utente vengono eseguiti durante la fase di inizializzazione del cloud, prima che inizi l'esecuzione dei componenti. Questo passaggio viene registrato nel seguente file sull'istanza:. `var/log/cloud-init.log`
**Nota**  
Se inserisci dati utente, assicurati che l'agente Systems Manager sia preinstallato sull'immagine di base o che includa l'installazione nei dati utente.
Per le immagini Linux, assicuratevi che la procedura di pulizia venga eseguita includendo un comando per creare un file vuoto denominato `perform_cleanup` nello script dei dati utente. Image Builder rileva questo file ed esegue lo script di pulizia prima di creare la nuova immagine. Per ulteriori informazioni e uno script di esempio, vedere. [Best practice di sicurezza per Image Builder](security-best-practices.md)
+ **Cartella di lavoro**: preselezionata, ma è possibile modificarla.
+ **Componenti**: i componenti già inclusi nella ricetta vengono visualizzati nella sezione **Componenti selezionati** alla fine di ciascuno degli elenchi di componenti (build e test). È possibile rimuovere o riordinare i componenti selezionati in base alle proprie esigenze.

  I componenti di protezione avanzata CIS non seguono le regole standard di ordinamento dei componenti nelle ricette di Image Builder. I componenti di protezione avanzata CIS funzionano sempre per ultimi per garantire che i test di benchmark vengano eseguiti rispetto all'immagine di output.
**Nota**  
Gli elenchi dei componenti di compilazione e test mostrano i componenti disponibili in base al tipo di proprietario del componente. Per aggiungere un componente, scegli **Aggiungi componenti di compilazione** e seleziona il filtro di proprietà applicabile. Ad esempio, per aggiungere un componente di compilazione associato a un Marketplace AWS prodotto, seleziona`Marketplace AWS`. Si apre un pannello di selezione sul lato destro dell'interfaccia della console che elenca Marketplace AWS i componenti.  
Per il componente CIS, selezionate`Third party managed`.

  È possibile configurare le seguenti impostazioni per il componente selezionato:
  + **Opzioni di controllo delle versioni**: preselezionate, ma è possibile modificarle. Ti consigliamo di scegliere l'opzione **Usa l'ultima versione disponibile del componente** per assicurarti che le tue build di immagini utilizzino sempre la versione più recente del componente. Se devi utilizzare una versione specifica del componente nella tua ricetta, puoi scegliere **Specificare la versione del componente** e inserire la versione nella casella **Versione del componente** che appare.
  + **Parametri di** input: visualizza i parametri di input accettati dal componente. Il **valore** è precompilato con il valore della versione precedente della ricetta. Se si utilizza questo componente per la prima volta in questa ricetta ed è stato definito un valore predefinito per il parametro di input, il valore predefinito viene visualizzato nella casella **Valore** con testo in grigio. Se non viene immesso nessun altro valore, Image Builder utilizza il valore predefinito.

    Se un parametro di input è obbligatorio, ma non ha un valore predefinito definito nel componente, è necessario fornire un valore. Image Builder non creerà la versione della ricetta se mancano dei parametri obbligatori e non è stato definito un valore predefinito.
**Importante**  
I parametri dei componenti sono valori di testo semplice e vengono registrati. AWS CloudTrail Ti consigliamo di utilizzare Gestione dei segreti AWS o il AWS Systems Manager Parameter Store per archiviare i tuoi segreti. Per ulteriori informazioni su Secrets Manager, vedi [Cos'è Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) nella *Guida Gestione dei segreti AWS per l'utente*. Per ulteriori informazioni su AWS Systems Manager Parameter Store, vedere [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) nella *Guida AWS Systems Manager per l'utente*.

  Per espandere le impostazioni per le **opzioni di controllo delle versioni** o **i parametri di input**, puoi scegliere la freccia accanto al nome dell'impostazione. Per espandere tutte le impostazioni per tutti i componenti selezionati, è possibile disattivare e attivare l'opzione **Espandi tutto**.
+ **Archiviazione (volumi)**: sono precompilate. Le selezioni **Device Name**, **Snapshot** e **IOPS** del volume principale non sono modificabili. **Tuttavia, è possibile modificare tutte le impostazioni rimanenti, ad esempio la dimensione.** È inoltre possibile aggiungere nuovi volumi e crittografare volumi nuovi o esistenti.

  Per crittografare i volumi per le immagini che Image Builder crea con il proprio account nella regione di origine (dove viene eseguita la build), è necessario utilizzare la crittografia del volume di archiviazione nella ricetta dell'immagine. La crittografia eseguita durante la fase di distribuzione della build riguarda solo le immagini distribuite ad altri account o regioni.
**Nota**  
Se si utilizza la crittografia per i volumi, è necessario selezionare la chiave per ogni volume separatamente, anche se la chiave è la stessa utilizzata per il volume principale.

**Per creare una nuova versione della ricetta di immagini:**

1. Nella parte superiore della pagina dei dettagli della ricetta, scegli **Crea nuova versione**. Verrai indirizzato alla pagina **Crea ricetta con immagine**.

1. Per creare la nuova versione, apporta le modifiche, quindi scegli **Crea ricetta**.

   L'immagine finale può contenere fino a quattro codici prodotto tratti da Marketplace AWS immagini di prodotti e componenti. Se l'immagine di base e i componenti selezionati contengono più di quattro codici prodotto, Image Builder restituisce un errore quando si tenta di creare la ricetta.

Per ulteriori informazioni su come creare una ricetta di immagini quando si crea una pipeline di immagini, consulta la sezione [Passaggio 2: scegli la ricetta](start-build-image-pipeline.md#start-build-image-step2) Guida **introduttiva** di questa guida.

## Crea una ricetta di immagini con AWS CLI
<a name="create-image-recipe-cli"></a>

Per creare una ricetta di immagini con il `create-image-recipe` comando Image Builder in AWS CLI, procedi nel seguente modo:

**Prerequisiti**  
Prima di eseguire i comandi Image Builder in questa sezione per creare una ricetta di immagini da AWS CLI, potete facoltativamente creare componenti utilizzati dalla ricetta. L'esempio di image recipe riportato nel passaggio seguente si riferisce ai componenti di esempio creati nella [Creare un componente personalizzato dal AWS CLI](create-component.md#create-component-ib-cli) sezione di questa guida.

Se desideri includere componenti nella tua ricetta, prendi nota dei componenti ARNs che desideri includere. Puoi anche creare ricette senza componenti per testare i flussi di lavoro esistenti AMIs o di sola distribuzione.

1. 

**Creazione di un file JSON di input nella CLI**

   È possibile fornire tutto l'input per il **create-image-recipe** comando con parametri di comando in linea. Tuttavia, il comando risultante può essere piuttosto lungo. Per semplificare il comando, puoi invece fornire un file JSON che contenga tutte le impostazioni della ricetta.
**Nota**  
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 delle operazioni API, consulta il [CreateImageRecipe](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateImageRecipe.html)comando nel riferimento all'API *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.

   Di seguito è riportato un riepilogo dei parametri specificati da questi esempi:
   + **name** (string, required) — Il nome della ricetta dell'immagine.
   + **description** (string) — La descrizione della ricetta dell'immagine.
   + **parentImage** (string, required) — L'immagine che la ricetta dell'immagine utilizza come base per l'immagine personalizzata. È possibile specificare l'immagine principale utilizzando una delle seguenti opzioni:
     + ID AMI
     + ARN della risorsa di immagini Image Builder
     + AWS Systems Manager (SSM) Parametro Store, con il prefisso e seguito dal `ssm:` nome del parametro o dall'ARN.
     + Marketplace AWS ID del prodotto
**Nota**  
Gli esempi Linux e macOS utilizzano un'AMI Image Builder e l'esempio Windows utilizza un ARN.
   + **SemanticVersion** *<major>(stringa, obbligatorio): immettere il numero di versione che si desidera creare nel formato. <minor>. *<patch>. Image Builder supporta l'incremento automatico delle versioni per le ricette, che consente di utilizzare modelli jolly nelle versioni delle ricette. Quando create una ricetta con una versione con caratteri jolly come `1.0.x` Image Builder incrementa automaticamente la versione (ad esempio`1.0.1`, `1.0.2``1.0.3`, e così via). Ciò elimina la necessità di tracciare e incrementare manualmente le versioni delle ricette. Per ulteriori informazioni sul controllo delle versioni semantiche per le risorse di Image Builder, vedere. [Versionamento semantico in Image Builder](ibhow-semantic-versioning.md)
   + **components** (array, opzionale): contiene una serie di oggetti. `ComponentConfiguration` I componenti sono opzionali: puoi creare ricette senza componenti per i flussi di lavoro di test o distribuzione:
**Nota**  
Image Builder installa i componenti nell'ordine specificato nella ricetta. Tuttavia, i componenti di protezione avanzata CIS funzionano sempre per ultimi per garantire che i test di benchmark vengano eseguiti rispetto all'immagine di output.
     + **componentARN** (stringa, obbligatorio) — L'ARN del componente.
**Suggerimento**  
Per utilizzare uno degli esempi per creare una ricetta di immagini personalizzata, è necessario sostituire l'esempio ARNs con il ARNs relativo ai componenti utilizzati per la ricetta.
     + **parameters** (matrice di oggetti) — Contiene una serie di `ComponentParameter` oggetti. Se un parametro di input è obbligatorio, ma non ha un valore predefinito definito nel componente, è necessario fornire un valore. Image Builder non creerà la versione della ricetta se mancano dei parametri obbligatori e non è stato definito un valore predefinito.
**Importante**  
I parametri dei componenti sono valori di testo semplice e vengono registrati. AWS CloudTrail Ti consigliamo di utilizzare Gestione dei segreti AWS o il AWS Systems Manager Parameter Store per archiviare i tuoi segreti. Per ulteriori informazioni su Secrets Manager, vedi [Cos'è Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) nella *Guida Gestione dei segreti AWS per l'utente*. Per ulteriori informazioni su AWS Systems Manager Parameter Store, vedere [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) nella *Guida AWS Systems Manager per l'utente*.
       + **name** (string, required) — Il nome del parametro del componente da impostare.
       + **value** (array of string, obbligatorio) — Contiene una matrice di stringhe per impostare il valore per il parametro del componente denominato. Se è stato definito un valore predefinito per il componente e non viene fornito nessun altro valore, AWSTOE utilizza il valore predefinito.
   + **additionalInstanceConfiguration**(oggetto): specifica impostazioni aggiuntive e avvia gli script per le tue istanze di build.
     + **systemsManagerAgent**(oggetto) — Contiene le impostazioni per l'agente Systems Manager sull'istanza di build.
       + **uninstallAfterBuild**(Boolean) — Controlla se l'agente Systems Manager viene rimosso dall'immagine di build finale prima di creare la nuova AMI. Se questa opzione è impostata su`true`, l'agente viene rimosso dall'immagine finale. Se l'opzione è impostata su`false`, l'agente viene lasciato attivo in modo da essere incluso nella nuova AMI. Il valore predefinito è `false`.
**Nota**  
Se l'`uninstallAfterBuild`attributo non è incluso nel file JSON e le seguenti condizioni sono vere, Image Builder rimuove l'agente Systems Manager dall'immagine finale in modo che non sia disponibile nell'AMI:  
`userDataOverride`È vuoto o è stato omesso dal file JSON.
Image Builder ha installato automaticamente l'agente Systems Manager sull'istanza di build per un sistema operativo che non aveva l'agente preinstallato nell'immagine di base.
     + **userDataOverride**(stringa) — Fornisce comandi o uno script di comando da eseguire all'avvio dell'istanza di compilazione.
**Nota**  
I dati utente sono sempre codificati in base 64. Ad esempio, i seguenti comandi sono codificati come `IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhcg==`:  

       ```
       #!/bin/bash
       mkdir -p /var/bb/
       touch /var
       ```
L'esempio Linux utilizza questo valore codificato.

------
#### [ Linux ]

   L'immagine di base (`parentImage`proprietà) nell'esempio seguente è un AMI. Quando si utilizza un'AMI, è necessario avere accesso all'AMI e l'AMI deve trovarsi nella regione di origine (la stessa regione in cui Image Builder esegue il comando). Salva il file con nome e utilizzalo nel **create-image-recipe** comando. `create-image-recipe.json`

   ```
   {
   "name": "BB Ubuntu Image recipe",
   "description": "Hello World image recipe for Linux.",
   "parentImage": "ami-1234567890abcdef1",
   "semanticVersion": "1.0.0",
   "components": [
   	{
   		"componentArn": "arn:aws:imagebuilder:us-west-2:111122223333:component/bb$"
   	}
   ],
   "additionalInstanceConfiguration": {
   	"systemsManagerAgent": {
   	 	"uninstallAfterBuild": true
   	},
   	"userDataOverride": "IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhcg=="
   }
   }
   ```

------
#### [ Windows ]

   L'esempio seguente si riferisce alla versione più recente dell'immagine Full Base in inglese di Windows Server 2016. L'ARN in questo esempio fa riferimento all'immagine più recente in base ai filtri della versione semantica che hai specificato:. `arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/x.x.x`

   ```
   {
   "name": "MyBasicRecipe",
   "description": "This example image recipe creates a Windows 2016 image.",
   "parentImage": "arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/x.x.x",
   "semanticVersion": "1.0.0",
   "components": [
   	{
   		"componentArn": "arn:aws:imagebuilder:us-west-2:111122223333:component/my-example-component/2019.12.02/1"
   	},
   	{
   		"componentArn": "arn:aws:imagebuilder:us-west-2:111122223333:component/my-imported-component/1.0.0/1"
   	}
   ]
   }
   ```

**Nota**  
Per ulteriori informazioni sul controllo delle versioni semantiche per le risorse di Image Builder, vedere. [Versionamento semantico in Image Builder](ibhow-semantic-versioning.md)

------
#### [ macOS ]

   L'immagine di base (`parentImage`proprietà) nell'esempio seguente è un AMI. Quando si utilizza un'AMI, è necessario avere accesso all'AMI e l'AMI deve trovarsi nella regione di origine (la stessa regione in cui Image Builder esegue il comando). Salva il file con nome e utilizzalo nel **create-image-recipe** comando. `create-image-recipe.json`

   ```
   {
   "name": "macOS Catalina Image recipe",
   "description": "Hello World image recipe for macOS.",
   "parentImage": "ami-1234567890abcdef1",
   "semanticVersion": "1.0.0",
   "components": [
   	{
   		"componentArn": "arn:aws:imagebuilder:us-west-2:111122223333:component/catalina$"
   	}
   ],
   "additionalInstanceConfiguration": {
   	"systemsManagerAgent": {
   	 	"uninstallAfterBuild": true
   	},
   	"userDataOverride": "IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhcg=="
   }
   }
   ```

------

   **Esempio: ricetta senza componenti**

   È possibile creare ricette senza componenti per testare i flussi di lavoro esistenti AMIs o di sola distribuzione. L'esempio seguente mostra una ricetta che utilizza un'AMI esistente senza applicare componenti aggiuntivi:

   ```
   {
   	"name": "Test Distribution Recipe",
   	"description": "Recipe for testing and distributing existing AMI without modifications.",
   	"parentImage": "ami-1234567890abcdef1",
   	"semanticVersion": "1.0.0",
   	"additionalInstanceConfiguration": {
   		"systemsManagerAgent": {
   		 	"uninstallAfterBuild": true
   		}
   	}
   }
   ```

1. 

**Crea la ricetta**

   Usa il seguente comando per creare la ricetta. Fornisci il nome del file JSON che hai creato nel passaggio precedente nel `--cli-input-json` parametro:

   ```
   aws imagebuilder create-image-recipe --cli-input-json file://create-image-recipe.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 (\$1) per fare riferimento al percorso della directory, mentre Linux e macOS utilizzano la barra (/).

   L'immagine finale può contenere fino a quattro codici prodotto tratti da prodotti e componenti di Marketplace AWS immagini. Se l'immagine di base e i componenti selezionati contengono più di quattro codici prodotto, Image Builder restituisce un errore quando esegue il `create-image-recipe` comando.

## Importa una macchina virtuale come immagine di base nella console
<a name="import-vm-recipes"></a>

In questa sezione, ci concentriamo su come importare una macchina virtuale (VM) come immagine di base per la ricetta dell'immagine. Non trattiamo gli altri passaggi relativi alla creazione di una ricetta o di una versione di ricetta qui. Per ulteriori passaggi per creare una nuova ricetta di immagini con la procedura guidata di creazione della pipeline nella console Image Builder, vedere. [Procedura guidata per la pipeline: crea AMI](start-build-image-pipeline.md) Per ulteriori passaggi per creare una nuova ricetta di immagini o una nuova versione di ricetta, consulta. [Crea una nuova versione di una ricetta di immagini](#create-image-recipes)

Per importare una macchina virtuale come immagine di base per la tua ricetta di immagini nella console Image Builder, segui questi passaggi, insieme a tutti gli altri passaggi richiesti, per creare la tua ricetta o versione della ricetta.

1. Nella sezione **Seleziona immagine** per l'immagine di base, seleziona l'opzione **Importa immagine di base**.

1. Scegliete il **sistema operativo (OS) dell'immagine** e la **versione del sistema operativo** come fareste normalmente.

### Configurazione di importazione delle macchine virtuali
<a name="import-vm-recipe-console-config"></a>

Quando si esporta una macchina virtuale dal relativo ambiente di virtualizzazione, tale processo crea un set di uno o più file contenitore su disco che fungono da istantanee dell'ambiente, delle impostazioni e dei dati della macchina virtuale. È possibile utilizzare questi file per importare la macchina virtuale come immagine di base per la ricetta dell'immagine. Per ulteriori informazioni sull'importazione VMs in Image Builder, vedere [Importa ed esporta immagini VM](vm-import-export.md)

Per specificare la posizione della fonte di importazione, procedi nel seguente modo:

**Fonte di importazione**  
Specificare la fonte per il primo contenitore o istantanea di immagini VM da importare nella sezione **Contenitore disco 1**.

1. **Fonte**: può essere un bucket S3 o un'istantanea EBS.

1. **Seleziona la posizione S3 del disco**: inserisci la posizione in Amazon S3 in cui sono archiviate le immagini del disco. Per cercare la posizione, scegli **Browse** S3.

1. Per aggiungere un contenitore per dischi, scegli **Aggiungi contenitore disco**.

**Ruolo IAM**  
Per associare un ruolo IAM alla configurazione di importazione della macchina virtuale, seleziona il ruolo dall'elenco a discesa dei **ruoli IAM** o scegli **Crea nuovo ruolo** per crearne uno nuovo. Se crei un nuovo ruolo, la pagina della console IAM Roles si apre in una scheda separata.

#### Impostazioni avanzate: *facoltative*
<a name="import-vm-recipe-console-opt"></a>

Le seguenti impostazioni sono opzionali. Con queste impostazioni, è possibile configurare la crittografia, le licenze, i tag e altro per l'immagine di base creata dall'importazione.

**Ambito generale**

1. Specificate un **nome** univoco per l'immagine di base. Se non si inserisce un valore, l'immagine di base eredita il nome della ricetta.

1. Specificate una **versione** per l'immagine di base. Utilizza il seguente formato: `<major>.<minor>.<patch>`. Se non si inserisce un valore, l'immagine di base eredita la versione della ricetta.

1. È inoltre possibile inserire una **descrizione** per l'immagine di base.

**Architettura dell'immagine di base**  
Per specificare l'architettura della sorgente di importazione delle macchine virtuali, selezionare un valore dall'elenco **Architettura**.

**Encryption (Crittografia)**  
Se le immagini del disco della macchina virtuale sono crittografate, è necessario fornire una chiave da utilizzare per il processo di importazione. Per specificare un valore AWS KMS key per l'importazione, selezionare un valore dall'elenco **Encryption (chiave KMS)**. L'elenco contiene le chiavi KMS a cui il tuo account ha accesso nella regione corrente.

**Gestione delle licenze**  
Quando si importa una macchina virtuale, il processo di importazione rileva automaticamente il sistema operativo della macchina virtuale e applica la licenza appropriata all'immagine di base. A seconda della piattaforma del sistema operativo, i tipi di licenza sono i seguenti:
+ **Licenza inclusa**: all'immagine di base viene applicata una AWS licenza appropriata per la piattaforma in uso.
+ **Bring your own license (BYOL)**: conserva la licenza della macchina virtuale, se applicabile.

**Per allegare le configurazioni di licenza create con AWS License Manager all'immagine di base, selezionatele dall'elenco dei nomi di configurazione della licenza.** Per ulteriori informazioni su License Manager, vedere [Working with AWS License Manager]()

**Nota**  
Le configurazioni delle licenze contengono regole di licenza basate sui termini dei contratti aziendali.
Linux supporta solo le licenze BYOL.

**Tag (immagine di base)**  
I tag utilizzano coppie chiave-valore per assegnare testo ricercabile alla risorsa Image Builder. ****Per specificare i tag per l'immagine di base importata, inserite le coppie chiave-valore nelle caselle Chiave e Valore.****

Per aggiungere un tag, scegli **Add tag (Aggiungi tag)**. Per rimuovere un tag, scegli **Remove (Rimuovi)**.

# Crea una nuova versione di una ricetta contenitore
<a name="create-container-recipes"></a>

Questa sezione mostra come creare una nuova versione di una ricetta contenitore.

**Topics**
+ [Crea una nuova versione di ricetta in contenitore con la console](#create-container-recipe-version)
+ [Crea una ricetta in un contenitore con AWS CLI](#create-container-recipe-cli)

## Crea una nuova versione di ricetta in contenitore con la console
<a name="create-container-recipe-version"></a>

Creare una nuova versione di una ricetta contenitore è praticamente la stessa cosa che creare una nuova ricetta. La differenza è che alcuni dettagli sono preselezionati in base alla ricetta di base, nella maggior parte dei casi. L'elenco seguente descrive le differenze tra la creazione di una nuova ricetta e la creazione di una nuova versione di una ricetta esistente.

**Dettagli della ricetta**
+ **Nome**: *non modificabile.*
+ **Versione**: obbligatoria. Questo dettaglio non è precompilato con la versione corrente o con alcun tipo di sequenza. Immettete il numero di versione che desiderate creare nel formato *major.minor.patch*. Se la versione esiste già, si verifica un errore.

**Immagine di base**
+ Opzione **Seleziona immagine**: preselezionata, ma modificabile. Se modificate la scelta della fonte dell'immagine di base, potreste perdere altri dettagli che dipendono dall'opzione originale scelta.

  Per le immagini dei container Docker, puoi scegliere tra immagini pubbliche ospitate su DockerHub, immagini di container esistenti in Amazon ECR o immagini di container gestite da Amazon. Per visualizzare i dettagli associati alla selezione dell'immagine di base, scegli la scheda corrispondente alla selezione.

------
#### [ Managed images ]
  + **Image Operating System (OS)**: *non modificabile.*
  + **Nome dell'immagine**: preselezionato, in base alla combinazione di immagini di base scelte per la ricetta esistente. Tuttavia, se si modifica l'opzione **Seleziona immagine**, si perde il nome dell'**immagine** preselezionato.
  + **Opzioni di creazione automatica delle versioni**: *non* corrisponde alla ricetta base. **Per impostazione predefinita, le opzioni di controllo automatico delle versioni utilizzano l'opzione Usa la versione del sistema operativo selezionata.**
**Importante**  
**Se utilizzi il controllo delle versioni semantiche per avviare le build della pipeline, assicurati di modificare questo valore in Usa l'ultima versione del sistema operativo disponibile.** Per ulteriori informazioni sul controllo delle versioni semantiche per le risorse di Image Builder, vedere. [Versionamento semantico in Image Builder](ibhow-semantic-versioning.md)

------
#### [ ECR image ]
  + **Image Operating System (OS)**: preselezionato, ma modificabile.
  + **Versione del sistema operativo**: preselezionata, ma modificabile.
  + **ID immagine ECR**: precompilato, ma modificabile.

------
#### [ Docker Hub image ]
  + **Image Operating System (OS)***: non modificabile.*
  + **Versione del sistema operativo**: preselezionata, ma modificabile.
  + **ID immagine Docker**: precompilato, ma modificabile.

------

**Configurazione dell’istanza**
+ **Sorgente AMI** (obbligatorio): identifica un AMI personalizzato da utilizzare come immagine di base per la creazione e l'istanza di test del contenitore. Può essere un ID AMI o un parametro AWS Systems Manager (SSM) Parameter Store che contiene un ID AMI.
  + **ID AMI**: questa impostazione non è precompilata con l'immissione originale. Inserisci l'ID AMI per l'immagine di base. Esempio: `ami-1234567890abcdef1`.
  + **Parametro SSM**: inserisci il nome o l'ARN del parametro SSM Parameter Store che contiene l'ID AMI per l'immagine di base. Esempio: `/ib/test/param` o `arn:aws:ssm:us-east-1:111122223333:parameter/ib/test/param`.
+ 

**Storage (volumi)**  
**EBS volume 1 (AMI root)** — Precompilato. **Non è possibile modificare le selezioni **Device Name**, **Snapshot** o IOPS del volume root.** **Tuttavia, è possibile modificare tutte le impostazioni rimanenti, ad esempio la dimensione.** Puoi anche aggiungere nuovi volumi.
**Nota**  
Se hai specificato un'AMI di base che è stata condivisa con te da un altro account, anche le istantanee per tutti i volumi secondari specificati devono essere condivise con il tuo account.

**Directory di lavoro**
+ **Percorso della directory di lavoro**: precompilato, ma modificabile.

**Componenti**
+ **Componenti**: i componenti già inclusi nella ricetta vengono visualizzati nella sezione **Componenti selezionati** alla fine di ogni elenco di componenti (build e test). È possibile rimuovere o riordinare i componenti selezionati in base alle proprie esigenze.

  I componenti di protezione avanzata CIS non seguono le regole standard di ordinamento dei componenti nelle ricette di Image Builder. I componenti di protezione avanzata CIS funzionano sempre per ultimi per garantire che i test di benchmark vengano eseguiti rispetto all'immagine di output.
**Nota**  
Gli elenchi dei componenti di compilazione e test mostrano i componenti disponibili in base al tipo di proprietario del componente. Per aggiungere un componente, scegli **Aggiungi componenti di compilazione** e seleziona il filtro di proprietà applicabile. Ad esempio, per aggiungere un componente di compilazione associato a un Marketplace AWS prodotto, seleziona`Marketplace AWS`. Si apre un pannello di selezione sul lato destro dell'interfaccia della console che elenca Marketplace AWS i componenti.  
Per il componente CIS, selezionate`Third party managed`.

  È possibile configurare le seguenti impostazioni per il componente selezionato:
  + **Opzioni di controllo delle versioni**: preselezionate, ma è possibile modificarle. Ti consigliamo di scegliere l'opzione **Usa l'ultima versione disponibile del componente** per assicurarti che le tue build di immagini utilizzino sempre la versione più recente del componente. Se devi utilizzare una versione specifica del componente nella tua ricetta, puoi scegliere **Specificare la versione del componente** e inserire la versione nella casella **Versione del componente** che appare.
  + **Parametri di** input: visualizza i parametri di input accettati dal componente. Il **valore** è precompilato con il valore della versione precedente della ricetta. Se si utilizza questo componente per la prima volta in questa ricetta ed è stato definito un valore predefinito per il parametro di input, il valore predefinito viene visualizzato nella casella **Valore** con testo in grigio. Se non viene immesso nessun altro valore, Image Builder utilizza il valore predefinito.

    Se un parametro di input è obbligatorio, ma non ha un valore predefinito definito nel componente, è necessario fornire un valore. Image Builder non creerà la versione della ricetta se mancano dei parametri obbligatori e non è stato definito un valore predefinito.
**Importante**  
I parametri dei componenti sono valori di testo semplice e vengono registrati. AWS CloudTrail Ti consigliamo di utilizzare Gestione dei segreti AWS o il AWS Systems Manager Parameter Store per archiviare i tuoi segreti. Per ulteriori informazioni su Secrets Manager, vedi [Cos'è Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) nella *Guida Gestione dei segreti AWS per l'utente*. Per ulteriori informazioni su AWS Systems Manager Parameter Store, vedere [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) nella *Guida AWS Systems Manager per l'utente*.

  Per espandere le impostazioni per le **opzioni di controllo delle versioni** o **i parametri di input**, puoi scegliere la freccia accanto al nome dell'impostazione. Per espandere tutte le impostazioni per tutti i componenti selezionati, è possibile disattivare e attivare l'opzione **Espandi tutto**.

**Modello di file Dockerfile**
+ **Modello Dockerfile**: precompilato, ma modificabile. È possibile specificare una qualsiasi delle seguenti variabili contestuali che Image Builder sostituisce con le informazioni di build in fase di esecuzione.

     
**parentImage (obbligatorio)**  
In fase di compilazione, questa variabile diventa l'immagine di base della ricetta.  
Esempio:  

  ```
  FROM
  {{{ imagebuilder:parentImage }}}
  ```  
**ambienti (richiesti se vengono specificati i componenti)**  
Questa variabile si risolverà in uno script che esegue i componenti.  
Esempio:  

  ```
  {{{ imagebuilder:environments }}}
  ```  
**componenti (opzionale)**  
Image Builder risolve gli script dei componenti di compilazione e test per i componenti inclusi nella ricetta del contenitore. Questa variabile può essere posizionata in qualsiasi punto del Dockerfile, dopo la variabile environment.  
Esempio:  

  ```
  {{{ imagebuilder:components }}}
  ```

**Archivio Target**
+ **Nome del repository di destinazione**: l'archivio Amazon ECR in cui è archiviata l'immagine di output se non è specificato nessun altro repository nella configurazione di distribuzione della pipeline per la regione in cui viene eseguita la pipeline (Regione 1).

**Per creare una nuova versione della ricetta del contenitore:**

1. Nella parte superiore della pagina dei dettagli della ricetta del contenitore, scegli **Crea nuova versione**. Verrai indirizzato alla pagina **Crea ricetta** per le ricette in contenitore.

1. Per creare la nuova versione, apporta le modifiche, quindi scegli **Crea ricetta**.

Per ulteriori informazioni su come creare una ricetta contenitore quando si crea una pipeline di immagini, consulta [Passaggio 2: scegli la ricetta](start-build-container-pipeline.md#start-build-container-step2) la sezione Guida **introduttiva** di questa guida.

## Crea una ricetta in un contenitore con AWS CLI
<a name="create-container-recipe-cli"></a>

Per creare una ricetta contenitore Image Builder con il `imagebuilder create-container-recipe` comando in AWS CLI, procedi nel seguente modo:

**Prerequisiti**  
Prima di eseguire i comandi Image Builder in questa sezione per creare una ricetta contenitore con AWS CLI, è necessario creare i componenti che la ricetta utilizzerà. L'esempio di ricetta del contenitore riportato nel passaggio seguente si riferisce ai componenti di esempio creati nella [Creare un componente personalizzato dal AWS CLI](create-component.md#create-component-ib-cli) sezione di questa guida.

Dopo aver creato i componenti, o se state utilizzando componenti esistenti, prendete nota di quelli ARNs che desiderate includere nella ricetta.

1. 

**Creazione di un file JSON di input nella CLI**

   È possibile fornire tutto l'input per il **create-container-recipe** comando con parametri di comando in linea. Tuttavia, il comando risultante può essere piuttosto lungo. Per semplificare il comando, puoi invece fornire un file JSON che contenga tutte le impostazioni delle ricette del contenitore
**Nota**  
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 delle operazioni API, consulta il [CreateContainerRecipe](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateContainerRecipe.html)comando nel riferimento all'API *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.

   Ecco un riepilogo dei parametri di questo esempio:
   + **components** (array di oggetti, obbligatorio) — Contiene un array di `ComponentConfiguration` oggetti. È necessario specificare almeno un componente di build:
**Nota**  
Image Builder installa i componenti nell'ordine specificato nella ricetta. Tuttavia, i componenti di protezione avanzata CIS funzionano sempre per ultimi per garantire che i test di benchmark vengano eseguiti rispetto all'immagine di output.
     + **componentARN** (stringa, obbligatorio) — L'ARN del componente.
**Suggerimento**  
Per utilizzare l'esempio per creare la tua ricetta di contenitore, sostituisci l'esempio ARNs con la ARNs per i componenti che stai utilizzando per la tua ricetta,. Questi includono Regione AWS il nome e il numero di versione di ciascuno.
     + **parametri** (matrice di oggetti): contiene una matrice di `ComponentParameter` oggetti. Se un parametro di input è obbligatorio, ma non ha un valore predefinito definito nel componente, è necessario fornire un valore. Image Builder non creerà la versione della ricetta se mancano dei parametri obbligatori e non è stato definito un valore predefinito.
**Importante**  
I parametri dei componenti sono valori di testo semplice e vengono registrati. AWS CloudTrail Ti consigliamo di utilizzare Gestione dei segreti AWS o il AWS Systems Manager Parameter Store per archiviare i tuoi segreti. Per ulteriori informazioni su Secrets Manager, vedi [Cos'è Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) nella *Guida Gestione dei segreti AWS per l'utente*. Per ulteriori informazioni su AWS Systems Manager Parameter Store, vedere [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) nella *Guida AWS Systems Manager per l'utente*.
       + **name** (string, required) — Il nome del parametro del componente da impostare.
       + **value** (array of string, obbligatorio) — Contiene una matrice di stringhe per impostare il valore per il parametro del componente denominato. Se è stato definito un valore predefinito per il componente e non viene fornito nessun altro valore, AWSTOE utilizza il valore predefinito.
   + **containerType** (string, required) — Il tipo di contenitore da creare. I valori validi includono. `DOCKER`
   + **dockerfileTemplateData**(stringa) — Il modello Dockerfile utilizzato per creare l'immagine, espresso come blob di dati in linea.
   + **name** (string, required) — Il nome della ricetta del contenitore.
   + **description** (string) — La descrizione della ricetta del contenitore.
   + **parentImage** (string, required) — L'immagine del contenitore Docker da utilizzare nella ricetta del contenitore come base per l'immagine personalizzata.
     + Immagini pubbliche ospitate su DockerHub
     + Immagini di container esistenti in Amazon ECR
     + Immagini di container gestite da Amazon
   + **PlatformOverride** (stringa): specifica la piattaforma del sistema operativo quando si utilizza un'immagine di base personalizzata.
   + **SemanticVersion** *<major>(string, required) — La versione semantica della ricetta del contenitore specificata nel formato seguente, con valori numerici in ogni posizione per indicare una versione specifica:. <minor>. *<patch>. Ad esempio, sarebbe `1.0.0`. Per ulteriori informazioni sul controllo delle versioni semantiche per le risorse di Image Builder, vedere. [Versionamento semantico in Image Builder](ibhow-semantic-versioning.md)
   + **tags** (string map) — Tag allegati alla ricetta del contenitore.
   + **instanceConfiguration** (oggetto): un gruppo di opzioni che possono essere utilizzate per configurare un'istanza per la creazione e il test delle immagini dei container.
     + **image** (string) — L'immagine di base per un'istanza di compilazione e test di un container. Può contenere un ID AMI o specificare un parametro AWS Systems Manager (SSM) Parameter Store, preceduto da`ssm:`, seguito dal nome del parametro o dall'ARN. Se si utilizza un parametro SSM, il valore del parametro deve contenere un ID AMI. Se non specifichi un'immagine di base, Image Builder utilizza l'AMI ottimizzata Amazon ECS appropriata come immagine di base.
     + **blockDeviceMappings**(matrice di oggetti) — Definisce i dispositivi a blocchi da collegare per creare un'istanza dall'AMI Image Builder specificata nel **image** parametro.
       + **deviceName** (stringa) — Il dispositivo a cui si applicano queste mappature.
       + **ebs** (object) — Utilizzato per gestire la configurazione specifica di Amazon EBS per questa mappatura.
         + **deleteOnTermination**(Boolean) — Utilizzato per configurare l'eliminazione alla chiusura del dispositivo associato.
         + **criptato** (booleano) — Utilizzato per configurare la crittografia del dispositivo.
         + **VolumeSize** (numero intero): utilizzato per sovrascrivere la dimensione del volume del dispositivo.
         + **volumeType** (string) — Utilizzato per sovrascrivere il tipo di volume del dispositivo.
   + **targetRepository** (oggetto, obbligatorio): l'archivio di destinazione per l'immagine del contenitore se non è specificato nessun altro repository nella configurazione di distribuzione della pipeline per la regione in cui viene eseguita la pipeline (Regione 1).
     + **repositoryName (stringa, obbligatorio) — Il nome** del repository del contenitore in cui è archiviata l'immagine del contenitore di output. Questo nome ha come prefisso la posizione del repository.
     + **service** (string, required): specifica il servizio in cui è stata registrata l'immagine.
   + **workingDirectory** (string) — La directory di lavoro da utilizzare durante i flussi di lavoro di compilazione e test.

   ```
   {
   	"components": [ 
   	  { 
   		 "componentArn": "arn:aws:imagebuilder:us-west-2:111122223333:component/helloworldal2/x.x.x"
   	  }
   	],
   	"containerType": "DOCKER",
   	"description": "My Linux Docker container image",
   	"dockerfileTemplateData": "FROM {{{ imagebuilder:parentImage }}}\n{{{ imagebuilder:environments }}}\n{{{ imagebuilder:components }}}",
   	"name": "amazonlinux-container-recipe",
   	"parentImage": "amazonlinux:latest",
   	"platformOverride": "Linux",
   	"semanticVersion": "1.0.2",
   	"tags": { 
   	  "sometag" : "Tag detail" 
   	},
   	"instanceConfiguration": {
   	  "image": "ami-1234567890abcdef1",
   	  "blockDeviceMappings": [
   		 {
   			"deviceName": "/dev/xvda",
   			"ebs": {
   				"deleteOnTermination": true,
   				"encrypted": false,
   				"volumeSize": 8,
   				"volumeType": "gp2"
   			 }
   		  }			
   	  ]
   	},
   	"targetRepository": { 
   	  "repositoryName": "myrepo",
   	  "service": "ECR"
   	},
   	"workingDirectory": "/tmp"
   }
   ```

1. 

**Crea la ricetta**

   Usa il seguente comando per creare la ricetta. Fornisci il nome del file JSON che hai creato nel passaggio precedente nel `--cli-input-json` parametro:

   ```
   aws imagebuilder create-container-recipe --cli-input-json file://create-container-recipe.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 (\$1) per fare riferimento al percorso della directory, mentre Linux e macOS utilizzano la barra (/).

## Pulizia delle risorse
<a name="recipes-cleanup"></a>

Per evitare addebiti imprevisti, assicurati di ripulire le risorse e le pipeline che hai creato sulla base degli esempi di questa guida. Per ulteriori informazioni sull'eliminazione di risorse in Image Builder, vedere. [Eliminare risorse Image Builder obsolete o inutilizzate](delete-resources.md)

# Gestione della configurazione dell'infrastruttura Image Builder
<a name="manage-infra-config"></a>

Puoi utilizzare le configurazioni dell'infrastruttura per specificare l'infrastruttura Amazon EC2 utilizzata da Image Builder per creare e testare l'immagine EC2 Image Builder. Le impostazioni dell'infrastruttura includono:
+ Tipi di istanze per la tua infrastruttura di build e test. Si consiglia di specificare più di un tipo di istanza perché ciò consente a Image Builder di avviare un'istanza da un pool con capacità sufficiente. In questo modo è possibile ridurre gli errori di compilazione temporanei.

  Per le immagini Mac, potresti scegliere tipi di istanze che supportano nativamente il sistema operativo macOS. Per ulteriori informazioni, consulta le [istanze Mac di Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-mac-instances.html) nella Guida per l'utente di *Amazon* EC2.
+ Impostazioni di posizionamento delle istanze in cui è possibile specificare l'host, il gruppo di collocamento dell'host o la zona di disponibilità a cui devono essere collocate le istanze avviate dall'immagine.
+ Un profilo di istanza che fornisce alle istanze di compilazione e test le autorizzazioni necessarie per eseguire attività di personalizzazione. Ad esempio, se disponi di un componente che recupera risorse da Amazon S3, il profilo dell'istanza richiede le autorizzazioni per accedere a tali file. Il profilo dell'istanza richiede anche un set minimo di autorizzazioni per consentire a EC2 Image Builder di comunicare correttamente con l'istanza. Per ulteriori informazioni, consulta [Preparati per creare immagini personalizzate con Image Builder](set-up-ib-env.md).
+ I VPC, la sottorete e i gruppi di sicurezza per le istanze di compilazione e test della pipeline.
+ La posizione Amazon S3 in cui Image Builder archivia i log delle applicazioni relativi alla compilazione e al test. Se configuri la registrazione, il profilo di istanza specificato nella configurazione dell'infrastruttura deve disporre delle `s3:PutObject` autorizzazioni per il bucket di destinazione (). `arn:aws:s3:::BucketName/*`
+ Una coppia di chiavi Amazon EC2 che ti consente di accedere alla tua istanza per risolvere i problemi se la compilazione fallisce e se decidi di farlo. `terminateInstanceOnFailure` `false`
+ Un argomento SNS in cui Image Builder invia notifiche di eventi. Per ulteriori informazioni su come Image Builder si integra con Amazon SNS, consulta. [Integrazione di Amazon SNS in Image Builder](integ-sns.md)
**Nota**  
Se l'argomento SNS è crittografato, la chiave che crittografa questo argomento deve risiedere nell'account in cui viene eseguito il servizio Image Builder. Image Builder non può inviare notifiche ad argomenti SNS crittografati con chiavi di altri account.

È possibile creare e gestire configurazioni dell'infrastruttura utilizzando la console Image Builder, tramite l'API Image Builder o **imagebuilder** con i comandi in. AWS CLI

**Topics**
+ [Elenca e visualizza i dettagli di configurazione dell'infrastruttura](infra-config-details.md)
+ [Creazione di una configurazione dell'infrastruttura](create-infra-config.md)
+ [Aggiornare una configurazione dell'infrastruttura](update-infra-config.md)
+ [Image Builder e endpoint AWS PrivateLink VPC di interfaccia](vpc-interface-endpoints.md)

**Suggerimento**  
Quando hai più risorse dello stesso tipo, l'etichettatura ti aiuta a identificare una risorsa specifica in base ai tag che le hai assegnato. Per ulteriori informazioni sull'etichettatura delle risorse utilizzando i comandi Image Builder in, AWS CLI consultate [Aggiunta di tag alle risorse ](tag-resources.md) la sezione di questa guida.

# Elenca e visualizza i dettagli di configurazione dell'infrastruttura
<a name="infra-config-details"></a>

Questa sezione descrive i vari modi in cui è possibile trovare informazioni e visualizzare i dettagli per le configurazioni dell'infrastruttura EC2 Image Builder.

**Topics**
+ [Elenca le configurazioni dell'infrastruttura da AWS CLI](#cli-list-infrastructure-configurations)
+ [Ottieni i dettagli sulla configurazione dell'infrastruttura da AWS CLI](#cli-get-infrastructure-configuration-details)

## Elenca le configurazioni dell'infrastruttura da AWS CLI
<a name="cli-list-infrastructure-configurations"></a>

L'esempio seguente mostra come elencare tutte le configurazioni dell'infrastruttura, utilizzando il **[list-infrastructure-configurations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/list-infrastructure-configurations.html)** comando in. AWS CLI

```
aws imagebuilder list-infrastructure-configurations
```

## Ottieni i dettagli sulla configurazione dell'infrastruttura da AWS CLI
<a name="cli-get-infrastructure-configuration-details"></a>

L'esempio seguente mostra come utilizzare il **[get-infrastructure-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/get-infrastructure-configuration.html)** comando in AWS CLI per ottenere i dettagli di una configurazione dell'infrastruttura specificandone Amazon Resource Name (ARN).

```
aws imagebuilder get-infrastructure-configuration --infrastructure-configuration-arn arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration
```

# Creazione di una configurazione dell'infrastruttura
<a name="create-infra-config"></a>

Questa sezione descrive come utilizzare la console Image Builder o **imagebuilder** i comandi in AWS CLI per creare una configurazione dell'infrastruttura,

------
#### [ Console ]

Per creare una risorsa di configurazione dell'infrastruttura dalla console Image Builder, procedi nel seguente modo:

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

1. Dal pannello di navigazione, scegli Configurazione **dell'infrastruttura**.

1. Scegli **Crea configurazione dell'infrastruttura**.

1. Nella sezione **Generale**, inserisci le seguenti informazioni obbligatorie:
   + Inserisci il **nome** della risorsa di configurazione dell'infrastruttura.
   + Seleziona un **ruolo IAM** da associare al profilo dell'istanza per le autorizzazioni dei componenti sulle tue istanze di build e test. Image Builder utilizza queste autorizzazioni per scaricare ed eseguire i componenti, caricare i log ed eseguire eventuali azioni aggiuntive specificate dai componenti della ricetta. CloudWatch

1. Nel pannello dell'**AWS infrastruttura**, è possibile configurare le impostazioni dell'infrastruttura rimanenti disponibili. Immetti le seguenti informazioni necessarie:
   + **Tipo di istanza**: puoi specificare uno o più tipi di istanza da utilizzare per questa build. Il servizio sceglierà uno di questi tipi di istanza in base alla disponibilità.
**Nota**  
Le istanze Mac vengono eseguite su tipi di `.metal` istanze su un host dedicato. Il tipo di istanza deve corrispondere a uno dei tipi definiti per l'host su cui viene eseguita. *Per ulteriori informazioni sulle istanze Mac e un elenco di tipi di istanze che supportano nativamente il sistema operativo macOS, consulta le [istanze Mac di Amazon EC2 nella Guida per l'utente di Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-mac-instances.html).*
   + **Argomento SNS (opzionale)**: seleziona un argomento SNS per ricevere notifiche e avvisi da EC2 Image Builder.

   Se non fornisci valori per le seguenti impostazioni, esse utilizzano valori predefiniti specifici del servizio, ove applicabile.
   + **VPC, sottorete e gruppi di sicurezza**: Image Builder utilizza il VPC e la sottorete predefiniti. Per ulteriori informazioni sulla configurazione degli endpoint dell'interfaccia VPC, consulta. [Image Builder e endpoint AWS PrivateLink VPC di interfaccia](vpc-interface-endpoints.md)
   + Nella sezione **Impostazioni di risoluzione dei problemi**, puoi configurare i seguenti valori:
     + Per impostazione predefinita, è selezionata la casella di controllo **Termina istanza in caso di errore**. Tuttavia, quando una build fallisce, puoi accedere all'istanza EC2 per risolvere i problemi. Se desideri che l'istanza continui a funzionare dopo un errore di compilazione, deseleziona la casella di controllo.
     + **Coppia di chiavi**: se l'istanza EC2 continua a funzionare dopo un errore di compilazione, puoi creare una coppia di chiavi o utilizzare una coppia di chiavi esistente per accedere all'istanza e risolvere i problemi.
     + **Registri: è** possibile specificare un bucket S3 in cui Image Builder può scrivere i log delle applicazioni per facilitare la risoluzione dei problemi di build e test. Se non specificate un bucket S3, Image Builder scrive i log dell'applicazione nell'istanza.
   + Nella sezione **Impostazioni dei metadati dell'istanza**, puoi configurare i seguenti valori da applicare alle istanze EC2 utilizzate da Image Builder per creare e testare l'immagine:
     + Seleziona la **versione dei metadati** per determinare se EC2 richiede un'intestazione token firmata, ad esempio per le richieste di recupero dei metadati.
       + **V1 e V2 (token opzionale)**: valore predefinito se non selezioni nulla.
       + **V2 (token richiesto)**
**Nota**  
Ti consigliamo di configurare tutte le istanze EC2 che Image Builder avvia da una build di pipeline da IMDSv2 utilizzare in modo che le richieste di recupero dei metadati dell'istanza richiedano un'intestazione token firmata.
     + **Limite dell'hop di risposta del token di metadati: il numero di hop** di rete che il token di metadati può percorrere. Salti minimi: 1, hop massimi: 64, con il valore predefinito di un hop.
   + Nella sezione **Instance placement settings**, puoi configurare i seguenti valori da applicare alle istanze EC2 utilizzate da Image Builder per creare e testare l'immagine:
     + È possibile selezionare la **zona di disponibilità** in cui Image Builder avvia le istanze durante la creazione dell'immagine.
     + Facoltativamente, seleziona **Tenancy** per i server che eseguono le istanze avviate. Per impostazione predefinita, le istanze EC2 vengono eseguite su hardware di tenancy condiviso. Ciò significa che più dispositivi Account AWS potrebbero condividere lo stesso hardware fisico. Un'istanza con `dedicated` tenancy viene eseguita su hardware single-tenant. Un'istanza con `host` tenancy viene eseguita su un host dedicato.

       Le istanze Mac richiedono un host dedicato creato come prerequisito prima di creare un'immagine personalizzata. Seleziona `host` per la tua immagine macOS. È quindi possibile selezionare un host di destinazione o un gruppo di risorse host per avviare le istanze, ma non è necessario se l'host dedicato ha abilitato il posizionamento automatico. Per ulteriori informazioni, consulta [Auto-placement](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-understanding.html#dedicated-hosts-auto-placement) nella Guida per l'utente di *Amazon EC2*.
       + **Tenancy host ID**: l'ID dell'host dedicato su cui vengono eseguite le istanze.
       + **Tenancy host resource group**: Amazon Resource Name (ARN) del gruppo di risorse host in cui avviare le istanze.

1. Nella sezione **Infrastructure tags** (opzionale), puoi assegnare tag di metadati all'istanza Amazon EC2 che Image Builder avvia durante il processo di creazione. I tag vengono inseriti come coppie di valori chiave.

1. Nella sezione **Tag** (opzionale), è possibile assegnare tag di metadati alla risorsa di configurazione dell'infrastruttura creata da Image Builder come output. I tag vengono inseriti come coppie di valori chiave.

------
#### [ AWS CLI ]

La procedura seguente mostra come configurare l'infrastruttura per l'immagine con il **[create-infrastructure-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-infrastructure-configuration.html)** comando Image Builder in. AWS CLI Il comando nel passaggio 2 utilizza il file creato nel passaggio 1. Per questi esempi, viene chiamato il file del passaggio 1`create-infrastructure-configuration.json`.

1. 

**Creazione di un file JSON di input nella CLI**

   Gli esempi seguenti mostrano le varianti del file JSON che è possibile creare per la configurazione dell'infrastruttura. Usa uno strumento di modifica dei file per creare un tuo file JSON.

   **Esempio 1: configurazione per conservare un'istanza di una build fallita**

   Questo esempio specifica due tipi di istanza `m5.large` e`m5.xlarge`. Si consiglia di specificare più di un tipo di istanza perché ciò consente a Image Builder di avviare un'istanza da un pool con capacità sufficiente. In questo modo è possibile ridurre gli errori di compilazione temporanei.

   `instanceProfileName`specifica il profilo dell'istanza che fornisce all'istanza le autorizzazioni richieste dal profilo per eseguire attività di personalizzazione. Ad esempio, se disponi di un componente che recupera risorse da Amazon S3, il profilo dell'istanza richiede le autorizzazioni per accedere a tali file. Il profilo dell'istanza richiede anche un set minimo di autorizzazioni per consentire a EC2 Image Builder di comunicare correttamente con l'istanza. Per ulteriori informazioni, consulta [Preparati per creare immagini personalizzate con Image Builder](set-up-ib-env.md).

   ```
   {
       "name": "ExampleInfraConfigDontTerminate",
       "description": "An example that will retain instances of failed builds",
       "instanceTypes": [
           "m5.large", "m5.xlarge"
       ],
       "instanceProfileName": "myIAMInstanceProfileName",
       "securityGroupIds": [
           "sg-12345678"
       ],
       "subnetId": "sub-12345678",
       "logging": {
           "s3Logs": {
               "s3BucketName": "my-logging-bucket",
               "s3KeyPrefix": "my-path"
           }
       },
       "keyPair": "myKeyPairName",
       "terminateInstanceOnFailure": false,
       "snsTopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic"
   }
   ```

**Esempio 2: configurazione macOS con posizionamento automatico**  
Questo esempio specifica i tipi di istanza e il posizionamento per un'istanza Mac in cui l'host dedicato ha il posizionamento automatico abilitato.

   ```
   {
      "name": "macOSInfraConfigAutoPlacement",
      "description": "An example infrastructure configuration for macOS.",
      "instanceProfileName": "EC2InstanceProfileForImageBuilder",
      "instanceTypes": ["mac1.metal, mac2.metal"],
      "terminateInstanceOnFailure": false,
      "placement": {
         "tenancy": "host"
      }
   }
   ```

**Esempio 3: configurazione macOS con ID host specificato**  
Questo esempio specifica il tipo e il posizionamento di un'istanza Mac destinata a un host dedicato specifico.

   ```
   {
      "name": "macOSInfraConfigHostPlacement",
      "description": "An example infrastructure configuration for macOS.",
      "instanceProfileName": "EC2InstanceProfileForImageBuilder",
      "instanceTypes": ["mac2-m1ultra.metal"],
      "terminateInstanceOnFailure": false,
      "placement": {
         "tenancy": "host",
         "hostId" : "h-1234567890abcdef0"
      }
   }
   ```

1. 

**Utilizzate il file creato come input quando eseguite il comando seguente.**

   ```
   aws imagebuilder create-infrastructure-configuration --cli-input-json file://create-infrastructure-configuration.json
   ```

------

# Aggiornare una configurazione dell'infrastruttura
<a name="update-infra-config"></a>

Questa sezione illustra come utilizzare la console Image Builder o **imagebuilder** i comandi in AWS CLI per aggiornare una risorsa di configurazione dell'infrastruttura. Per tenere traccia delle risorse, è possibile applicare i tag come segue. I tag vengono inseriti come coppie di valori chiave.
+ I *tag di risorsa* assegnano tag di metadati all'istanza Amazon EC2 che Image Builder avvia durante il processo di creazione.
+ I *tag* assegnano tag di metadati alla risorsa di configurazione dell'infrastruttura creata da Image Builder come output.

------
#### [ Console ]

È possibile modificare i seguenti dettagli di configurazione dell'infrastruttura dalla console Image Builder:
+ La **descrizione** della configurazione dell'infrastruttura.
+ Il **ruolo IAM** da associare al profilo dell'istanza.
+ **AWS infrastruttura**, incluso il **tipo di istanza** e un **argomento SNS** per le notifiche.
+ **VPC, sottorete e gruppi di sicurezza**.
+ **Impostazioni per la risoluzione dei problemi**, tra cui **Terminate Instance in caso di errore**, la **coppia di chiavi** per la connessione e una posizione opzionale del bucket S3 per i log delle istanze.

Per aggiornare una risorsa di configurazione dell'infrastruttura dalla console Image Builder, procedi nel seguente modo:

**Scegli una configurazione dell'infrastruttura Image Builder esistente**

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

1. Per visualizzare un elenco delle risorse di configurazione dell'infrastruttura disponibili nel tuo account, scegli **Configurazione dell'infrastruttura** dal pannello di navigazione.

1. Per visualizzare i dettagli o modificare una configurazione dell'infrastruttura, scegli il link **Nome della configurazione**. Verrà aperta la visualizzazione dettagliata della configurazione dell'infrastruttura.
**Nota**  
Puoi anche selezionare la casella di controllo accanto al **nome della configurazione**, quindi scegliere **Visualizza dettagli**.

1. Dall'angolo in alto a destra del pannello dei **dettagli dell'infrastruttura**, scegli **Modifica**.

1. Quando sei pronto a salvare gli aggiornamenti che hai apportato alla configurazione dell'infrastruttura, scegli **Salva modifiche**.

------
#### [ AWS CLI ]

L'esempio seguente mostra come aggiornare la configurazione dell'infrastruttura per l'immagine con il **[update-infrastructure-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/update-infrastructure-configuration.html)** comando Image Builder in. AWS CLI

1. 

**Creazione di un file JSON di input nella CLI**

   Questo esempio di configurazione dell'infrastruttura utilizza le stesse impostazioni dell'esempio create, tranne per il fatto che abbiamo aggiornato l'`terminateInstanceOnFailure`impostazione a`false`. Dopo aver eseguito il **update-infrastructure-configuration** comando, le pipeline che utilizzano questa configurazione dell'infrastruttura interrompono le istanze di compilazione e test quando la compilazione fallisce.

   Utilizza uno strumento di modifica dei file per creare un file JSON con le chiavi mostrate nell'esempio seguente, oltre a valori validi per il tuo ambiente. In questo esempio viene utilizzato un file denominato `update-infrastructure-configuration.json`:

   ```
   {
   "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration",
   "description": "An example that will terminate instances of failed builds",
   "instanceTypes": [
       "m5.large", "m5.2xlarge"
   ],
   "instanceProfileName": "myIAMInstanceProfileName",
   "securityGroupIds": [
       "sg-12345678"
   ],
   "subnetId": "sub-12345678",
   "logging": {
       "s3Logs": {
           "s3BucketName": "my-logging-bucket",
           "s3KeyPrefix": "my-path"
       }
   },
   "terminateInstanceOnFailure": true,
   "snsTopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic"
   }
   ```

1. 

**Usa il file che hai creato come input quando esegui il comando seguente.**

   ```
   aws imagebuilder update-infrastructure-configuration --cli-input-json file://update-infrastructure-configuration.json
   ```

------

# Image Builder e endpoint AWS PrivateLink VPC di interfaccia
<a name="vpc-interface-endpoints"></a>

*È possibile stabilire una connessione privata tra il VPC e EC2 Image Builder creando un endpoint VPC di interfaccia.* Gli endpoint di interfaccia sono alimentati da [AWS PrivateLink](https://aws.amazon.com/privatelink/), una tecnologia che consente di accedere in modo privato a Image APIs Builder senza un gateway Internet, un dispositivo NAT, una connessione VPN o una connessione. Direct Connect Le istanze nel tuo VPC non necessitano di indirizzi IP pubblici per comunicare con Image Builder. APIs Il traffico tra il tuo VPC e Image Builder non esce dalla rete Amazon.

Ogni endpoint dell'interfaccia è rappresentato da una o più [interfacce di rete elastiche](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) nelle sottoreti. Quando crei una nuova immagine, puoi specificare il subnet-id VPC nella configurazione dell'infrastruttura.

**Nota**  
Ogni servizio a cui accedi dall'interno di un VPC ha un proprio endpoint di interfaccia, con una propria policy per gli endpoint. Image Builder scarica l'applicazione di gestione AWSTOE dei componenti e accede alle risorse gestite dai bucket S3 per creare immagini personalizzate. Per concedere l'accesso a tali bucket, è necessario aggiornare la policy degli endpoint S3 per consentirlo. Per ulteriori informazioni, consulta [Politiche personalizzate per l'accesso ai bucket S3](#vpc-endpoint-policy-s3).

Per ulteriori informazioni sugli endpoint dei VPC, consulta [Endpoint VPC di interfaccia (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) nella *Guida per l'utente di Amazon VPC*.

## Considerazioni sugli endpoint VPC di Image Builder
<a name="vpc-endpoint-considerations"></a>

*Prima di configurare un endpoint VPC di interfaccia per Image Builder, assicurati di esaminare le proprietà [e le limitazioni degli endpoint dell'interfaccia nella Amazon VPC User Guide](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#vpce-interface-limitations).*

Image Builder supporta l'esecuzione di chiamate a tutte le sue azioni API dal tuo VPC. 

## Creare un endpoint VPC di interfaccia per Image Builder
<a name="vpc-endpoint-create"></a>

Per creare un endpoint VPC per il servizio Image Builder, puoi utilizzare la console Amazon VPC o (). AWS Command Line Interface AWS CLI Per ulteriori informazioni, consultare [Creazione di un endpoint di interfaccia](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint) nella *Guida per l’utente di Amazon VPC*.

Crea un endpoint VPC per Image Builder utilizzando il seguente nome di servizio: 
+ com.amazonaws. *region*.generatore di immagini

Se abiliti il DNS privato per l'endpoint, puoi effettuare richieste API a Image Builder utilizzando il nome DNS predefinito per la regione, ad esempio:. `imagebuilder.us-east-1.amazonaws.com` Per cercare l'endpoint che si applica alla tua regione di destinazione, consulta [Endpoint e quote di EC2 Image Builder](https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#imagebuilder_region) nel. *Riferimenti generali di Amazon Web Services*

Per ulteriori informazioni, consultare [Accesso a un servizio tramite un endpoint di interfaccia](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#access-service-though-endpoint) in *Guida per l'utente di Amazon VPC*.

## Crea una policy per gli endpoint VPC per Image Builder
<a name="vpc-endpoint-policy"></a>

Puoi allegare una policy per gli endpoint all'endpoint VPC che controlla l'accesso a Image Builder. La policy specifica le informazioni riportate di seguito:
+ Il principale che può eseguire operazioni.
+ Le azioni che possono essere eseguite.
+ Le risorse sui cui si possono eseguire azioni.

Se utilizzi componenti gestiti da Amazon nella tua ricetta, l'endpoint VPC per Image Builder deve consentire l'accesso alla seguente libreria di componenti di proprietà del servizio:

`arn:aws:imagebuilder:region:aws:component/*`

**Importante**  
Quando viene applicata una policy non predefinita a un endpoint VPC di interfaccia per EC2 Image Builder, alcune richieste API non riuscite, come quelle che non `RequestLimitExceeded` riescono, potrebbero non essere registrate su Amazon o su Amazon. AWS CloudTrail CloudWatch

Per ulteriori informazioni, consulta [Controllo degli accessi ai servizi con endpoint VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) nella *Guida per l’utente di Amazon VPC.*

### Politiche personalizzate per l'accesso ai bucket S3
<a name="vpc-endpoint-policy-s3"></a>

Image Builder utilizza un bucket S3 disponibile pubblicamente per archiviare e accedere a risorse gestite, come i componenti. Inoltre, scarica l'applicazione per la gestione dei AWSTOE componenti da un bucket S3 separato. Se utilizzi un endpoint VPC per Amazon S3 nel tuo ambiente, dovrai assicurarti che la policy degli endpoint VPC S3 consenta a Image Builder di accedere ai seguenti bucket S3. I nomi dei bucket sono univoci per AWS regione () e ambiente applicativo (). *region* *environment* Image Builder e AWSTOE supportano i seguenti ambienti applicativi: `prod``preprod`, e. `beta`
+ Il bucket di gestione dei AWSTOE componenti:

  ```
  s3://ec2imagebuilder-toe-region-environment
  ```

  **Esempio:** s3://ec2 imagebuilder-toe-us-west -2-prod/\$1
+ Il bucket di risorse gestite di Image Builder:

  ```
  s3://ec2imagebuilder-managed-resources-region-environment/components
  ```

  **Esempio: s3://ec2** -west-2-prod/components/\$1 imagebuilder-managed-resources-us

### Esempi di policy di endpoint VPC
<a name="vpc-endpoint-policy-examples"></a>

Questa sezione include esempi di policy personalizzate per gli endpoint VPC.

**Politica generale degli endpoint VPC per le azioni di Image Builder**  
L'esempio seguente di policy endpoint per Image Builder nega l'autorizzazione all'eliminazione di immagini e componenti di Image Builder. La policy di esempio concede anche il permesso di eseguire tutte le altre azioni di EC2 Image Builder.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": "imagebuilder:*",
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": "imagebuilder:DeleteImage",
            "Effect": "Deny",
            "Resource": "*"
        },
        {
            "Action": "imagebuilder:DeleteComponent",
            "Effect": "Deny",
            "Resource": "*"
        }
    ]
}
```

------

**Limita l'accesso per organizzazione, consenti l'accesso gestito ai componenti**  
Il seguente esempio di policy sugli endpoint mostra come limitare l'accesso alle identità e alle risorse che appartengono alla tua organizzazione e fornire l'accesso ai componenti di Image Builder gestiti da Amazon. Sostituisci *region* e *resource-org-id* con *principal-org-id* i valori della tua organizzazione.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRequestsByOrgsIdentitiesToOrgsResources",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:PrincipalOrgID": "principal-org-id",
                    "aws:ResourceOrgID": "resource-org-id"
                }
            }
        },
        {
            "Sid": "AllowAccessToEC2ImageBuilderComponents",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": [
                "imagebuilder:GetComponent"
            ],
            "Resource": [
                "arn:aws:imagebuilder:us-east-1:aws:component/*"
            ]
        }
    ]
}
```

------

**Policy degli endpoint VPC per l'accesso ai bucket Amazon S3**  
Il seguente esempio di policy per gli endpoint S3 mostra come fornire l'accesso ai bucket S3 utilizzati da Image Builder per creare immagini personalizzate. Sostituisci *region* e *environment* con i valori della tua organizzazione. Aggiungi eventuali altre autorizzazioni richieste alla policy in base ai requisiti dell'applicazione.

**Nota**  
Per le immagini Linux, se non specificate i dati utente nella ricetta dell'immagine, Image Builder aggiunge uno script per scaricare e installare l'agente Systems Manager sulle istanze di compilazione e test dell'immagine. Per scaricare l'agente, Image Builder accede al bucket S3 della regione di compilazione.  
Per garantire che Image Builder possa avviare le istanze di build e test, aggiungi la seguente risorsa aggiuntiva alla tua policy sugli endpoint S3:  
"`arn:aws:s3:::amazon-ssm-region/*`"

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowImageBuilderAccessToAppAndComponentBuckets",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::ec2imagebuilder-toe-region-environment/*",
        "arn:aws:s3:::ec2imagebuilder-managed-resources-region-environment/components/*"
      ]
    }
  ]
}
```

------

# Gestione delle impostazioni di distribuzione di Image Builder
<a name="manage-distribution-settings"></a>

Prima di configurare le impostazioni di distribuzione per le immagini di output, si consiglia di verificare la disponibilità di qualsiasi infrastruttura sottostante o altri requisiti per le istanze avviate dall'immagine di output nelle regioni target di distribuzione. Ad esempio, non tutte le regioni supportano gli host dedicati EC2 per Mac, necessari per avviare istanze da un'immagine macOS. Per ulteriori informazioni sui tipi di istanze e sui prezzi degli host dedicati, consulta i prezzi degli [host dedicati di Amazon EC2](https://aws.amazon.com/ec2/dedicated-hosts/pricing/).

Dopo aver creato le impostazioni di distribuzione con Image Builder, è possibile gestirle utilizzando la console Image Builder, l'API Image Builder o i comandi in. **imagebuilder** AWS CLI Con le impostazioni di distribuzione, è possibile eseguire le seguenti azioni:

**Distribuzione AMI**
+ Specificate il nome e la descrizione dell'AMI di uscita.
+ Autorizza altre Account AWS organizzazioni e OUs ad avviare l'AMI dall'account del proprietario. All'account del proprietario vengono fatturati gli addebiti associati all'AMI.
**Nota**  
Per rendere pubblica un'AMI, impostare l'autorizzazione di avvio account autorizzati su `all`. Per informazioni ed esempi, consulta **[ModifyImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html)** il riferimento alle *API di Amazon EC2*.
+ Crea una copia dell'AMI di output per ciascuno degli account di destinazione, delle organizzazioni e della OUs regione di destinazione specificati. Gli account, le organizzazioni e le organizzazioni destinatarie OUs possiedono le relative copie AMI e vengono fatturati gli eventuali costi associati. Per ulteriori informazioni sulla distribuzione dell'AMI a AWS Organizations e OUs, consulta [Condividere un AMI con organizzazioni o OUs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/share-amis-with-organizations-and-OUs.html).
+ Copia l'AMI nell'account del proprietario in altro Regioni AWS.
+ Esporta dischi di immagini VM su Amazon Simple Storage Service (Amazon S3). Per ulteriori informazioni, consulta [Esempio: creare impostazioni di distribuzione per i dischi VM in uscita da AWS CLI](cr-upd-ami-distribution-settings.md#cli-create-vm-dist-config).

**Distribuzione delle immagini dei container**
+ Specificare il repository ECR in cui Image Builder memorizza l'immagine di output nella regione di distribuzione.

È possibile utilizzare le impostazioni di distribuzione nei seguenti modi per distribuire le immagini alle regioni, agli account AWS Organizations e alle unità organizzative di destinazione (OUs) una sola volta o con ogni creazione della pipeline:
+ Fornire automaticamente immagini aggiornate a regioni, account, Organizzazioni specifici e OUs utilizzare le impostazioni di distribuzione con una pipeline di Image Builder che viene eseguita secondo una pianificazione.
+ **Per creare una nuova immagine e distribuirla alle regioni, agli account e alle organizzazioni specificati OUs, utilizzare le impostazioni di distribuzione con una pipeline di Image Builder che si esegue una sola volta dalla console Image Builder, utilizzando **Run pipeline** dal menu Azioni.**
+ Per creare una nuova immagine e distribuirla alle Regioni, agli account, alle Organizzazioni specificati e OUs, utilizzare le impostazioni di distribuzione con la seguente azione API o il comando Image Builder in: AWS CLI
  + L'**[CreateImage](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateImage.html)**azione nell'API Image Builder.
  + Il **[create-image](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-image.html)** comando in. AWS CLI
+ Per esportare dischi di immagini di macchine virtuali (VM) in bucket S3 nelle regioni di destinazione come parte del normale processo di creazione delle immagini.

**Suggerimento**  
Quando disponi di più risorse dello stesso tipo, i tag ti aiutano a identificare una risorsa specifica in base ai tag che le hai assegnato. Per ulteriori informazioni sull'etichettatura delle risorse utilizzando i comandi Image Builder in, AWS CLI consultate [Aggiunta di tag alle risorse ](tag-resources.md) la sezione di questa guida.

**Topics**
+ [Elenca e visualizza i dettagli della configurazione della distribuzione](distribution-settings-detail.md)
+ [Creare e aggiornare le configurazioni di distribuzione AMI](cr-upd-ami-distribution-settings.md)
+ [Crea e aggiorna le impostazioni di distribuzione per le immagini dei contenitori](cr-upd-container-distribution-settings.md)
+ [Configura la distribuzione AMI tra account con Image Builder](cross-account-dist.md)
+ [Configura la distribuzione AMI con un modello di lancio EC2](dist-using-launch-template.md)
+ [Usa funzionalità di distribuzione AMI avanzate](distribution-enhanced_functionality.md)

# Elenca e visualizza i dettagli della configurazione della distribuzione
<a name="distribution-settings-detail"></a>

Questa sezione descrive i vari modi in cui è possibile trovare informazioni e visualizzare i dettagli per la configurazione della distribuzione di EC2 Image Builder.

**Topics**
+ [Elenca le configurazioni di distribuzione dalla console](#list-distribution-config-console)
+ [Visualizza i dettagli della configurazione della distribuzione dalla console](#view-distribution-config-details-console)
+ [Elenca le distribuzioni provenienti da AWS CLI](#cli-list-distributions)
+ [Ottieni i dettagli sulla configurazione della distribuzione da AWS CLI](#cli-get-distribution-configuration)

## Elenca le configurazioni di distribuzione dalla console
<a name="list-distribution-config-console"></a>

Per visualizzare un elenco delle configurazioni di distribuzione create con il tuo account nella console Image Builder, procedi nel seguente modo:

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

1. Scegli **le impostazioni di distribuzione** dal pannello di navigazione. Questo mostra un elenco delle configurazioni di distribuzione create con il tuo account.

1. Per visualizzare i dettagli o creare una nuova configurazione di distribuzione, scegli il link **Nome della configurazione**. Si apre la visualizzazione dettagliata delle impostazioni di distribuzione.
**Nota**  
Puoi anche selezionare la casella di controllo accanto al **nome della configurazione**, quindi scegliere **Visualizza dettagli**.

## Visualizza i dettagli della configurazione della distribuzione dalla console
<a name="view-distribution-config-details-console"></a>

Per visualizzare i dettagli di una configurazione di distribuzione specifica utilizzando la console Image Builder, selezionare la configurazione da esaminare, seguendo i passaggi descritti in. [Elenca le configurazioni di distribuzione dalla console](#list-distribution-config-console)

Nella pagina dei dettagli della distribuzione, è possibile:
+ **Eliminare** la configurazione di distribuzione. Per ulteriori informazioni sull'eliminazione di risorse in Image Builder, vedere. [Eliminare risorse Image Builder obsolete o inutilizzate](delete-resources.md)
+ **Modificare i dettagli** della distribuzione.

## Elenca le distribuzioni provenienti da AWS CLI
<a name="cli-list-distributions"></a>

L'esempio seguente mostra come utilizzare il **[list-distribution-configurations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/list-distribution-configurations.html)** comando contenuto in AWS CLI per elencare tutte le distribuzioni.

```
aws imagebuilder list-distribution-configurations
```

## Ottieni i dettagli sulla configurazione della distribuzione da AWS CLI
<a name="cli-get-distribution-configuration"></a>

L'esempio seguente mostra come utilizzare il **[get-distribution-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/get-distribution-configuration.html)** comando in AWS CLI per ottenere i dettagli di una configurazione di distribuzione specificandone il nome Amazon Resource Name (ARN).

```
aws imagebuilder get-distribution-configuration --distribution-configuration-arn arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-example-distribution-configuration
```

# Creare e aggiornare le configurazioni di distribuzione AMI
<a name="cr-upd-ami-distribution-settings"></a>

Questa sezione descrive la creazione e l'aggiornamento delle configurazioni di distribuzione per un'AMI Image Builder.

**Topics**
+ [Prerequisiti per la distribuzione AMI](#ami-distribution-config-prereqs)
+ [Creare una configurazione di distribuzione AMI](#create-ami-distribution-config)
+ [Aggiornare una configurazione di distribuzione AMI](#update-ami-distribution-config)
+ [Esempio: abilita EC2 Fast Launch con un modello di avvio per l'output AMIs](#create-ami-dist-win-fast-launch)
+ [Esempio: creare impostazioni di distribuzione per i dischi VM in uscita da AWS CLI](#cli-create-vm-dist-config)

## Prerequisiti per la distribuzione AMI
<a name="ami-distribution-config-prereqs"></a>

Alcune impostazioni di distribuzione hanno dei prerequisiti, come segue:

**Topics**
+ [Prerequisiti dei parametri di output SSM](#ami-distribution-prereqs-ssm-param)
+ [Prerequisiti di EC2 Fast Launch](#ami-distribution-prereqs-fast-launch)

### Prerequisiti per i parametri di output SSM
<a name="ami-distribution-prereqs-ssm-param"></a>

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.

### Prerequisiti per EC2 Fast Launch
<a name="ami-distribution-prereqs-fast-launch"></a>

Prima di creare una nuova configurazione di distribuzione per EC2 Fast Launch for Windows AMIs, 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/win-fast-launch-configure.html#win-fast-launch-with-template) Fast Launch.
+ Se non utilizzi un modello di avvio personalizzato per configurare le impostazioni, devi collegare la [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-iam-awsmanpol-EC2FastLaunchFullAccess.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-iam-awsmanpol-EC2FastLaunchFullAccess.html)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 è 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.

  Quindi, quando Image Builder copia l'immagine, EC2 Fast Launch crea automaticamente uno CloudFormation stack con le seguenti risorse. Account AWS
  + Un cloud privato virtuale (VPC)
  + Sottoreti private in più zone di disponibilità
  + Un modello di lancio configurato con Instance Metadata Service versione 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.

## Creare una configurazione di distribuzione AMI
<a name="create-ami-distribution-config"></a>

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 (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 configurare EC2 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](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html)**.

------
#### [ Console ]

Segui questi passaggi per creare una nuova configurazione di distribuzione AMI in Console di gestione AWS:

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

1. Scegli **le impostazioni di distribuzione** dal pannello di navigazione. Questo mostra un elenco delle configurazioni di distribuzione create con il tuo account.

1. Scegli **Crea impostazioni di distribuzione** nella parte superiore del pannello delle **impostazioni di distribuzione**.

1. Nella sezione **Tipo di immagine**, scegli il tipo di output **Amazon Machine Image (AMI)**.

1. Nella sezione **Generale**, inserisci un **nome** per la configurazione di distribuzione e una descrizione facoltativa.

1. Nella sezione **Impostazioni della regione**, inserisci i seguenti dettagli per ogni regione in cui distribuisci l'AMI:

   1. 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.
**Prerequisito**  
Per copiare un'immagine tra più account, è necessario creare il `EC2ImageBuilderDistributionCrossAccountRole` ruolo in tutti gli account del target di distribuzione e allegare la politica [Policy Ec2ImageBuilderCrossAccountDistributionAccess](security-iam-awsmanpol.md#sec-iam-manpol-Ec2ImageBuilderCrossAccountDistributionAccess) gestita al ruolo.

      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.

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

      1. È 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.

      1. Puoi espandere la sezione di **configurazione del modello Launch** per specificare un modello di avvio EC2 da utilizzare per avviare le istanze dall'AMI che crei.

         Se utilizzi un modello di lancio EC2, 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 lancio, 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.

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

   1. Per aggiungere impostazioni di distribuzione per un'altra regione, scegli **Aggiungi regione.**

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

1. 

**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 file`create-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"
   				}
   			]
   		}
   	]
   }
   ```

1. 

**Esegui il comando seguente utilizzando il file creato come input.**

   ```
   aws imagebuilder create-distribution-configuration --cli-input-json file://create-ami-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 (\$1) 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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-distribution-configuration.html)** Reference.AWS CLI *

------

## Aggiornare una configurazione di distribuzione AMI
<a name="update-ami-distribution-config"></a>

Puoi modificare la configurazione della 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.

------
#### [ Console di gestione AWS ]

Segui questi passaggi per una configurazione di distribuzione AMI in Console di gestione AWS:

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

1. Scegli **le impostazioni di distribuzione** dal pannello di navigazione. Questo mostra un elenco delle configurazioni di distribuzione create con il tuo account.

1. 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.
**Nota**  
Puoi anche selezionare la casella di controllo accanto al **nome della configurazione**, quindi scegliere **Visualizza dettagli**.

1. 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, vedere[Creare una configurazione di distribuzione AMI](#create-ami-distribution-config).

1. Al termine, scegli **Save changes (Salva modifiche)**.

------
#### [ AWS CLI ]

L'esempio seguente mostra come utilizzare il **[update-distribution-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/update-distribution-configuration.html)** comando per aggiornare le impostazioni di distribuzione per l'AMI, utilizzando il AWS CLI.

1. 

**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"
   					]
   				}
   			}
   		}
   	]
   }
   ```

1. 

**Esegui il comando seguente utilizzando il file creato come input.**

   ```
   aws imagebuilder update-distribution-configuration --cli-input-json file://update-ami-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 (\$1) 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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/update-distribution-configuration.html)** Reference.AWS CLI * Per aggiornare i tag per la risorsa di configurazione della distribuzione, consulta la [Aggiunta di tag alle risorse ](tag-resources.md) sezione.

------

## Esempio: abilita EC2 Fast Launch con un modello di avvio per l'output AMIs
<a name="create-ami-dist-win-fast-launch"></a>

L'esempio seguente mostra come utilizzare il **[create-distribution-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-distribution-configuration.html)** comando con un modello di avvio per creare impostazioni di distribuzione con EC2 Fast Launch configurato per la tua AMI, da. AWS CLI

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](#ami-distribution-prereqs-fast-launch) prima di creare la configurazione di distribuzione.

1. 

**Creazione di un file JSON di input nella CLI**

   Utilizza uno strumento di modifica dei file per creare un file JSON con chiavi, come mostrato nell'esempio seguente, più valori validi per il tuo 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
   		  }]
   	}]
   }
   ```
**Nota**  
È possibile specificare il `launchTemplateName` posto del `launchTemplateId` nella `launchTemplate` sezione, ma non è possibile specificare sia il nome che l'ID.

1. 

**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
   ```
**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 (\$1) 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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-distribution-configuration.html)** Reference.AWS CLI *

## Esempio: creare impostazioni di distribuzione per i dischi VM in uscita da AWS CLI
<a name="cli-create-vm-dist-config"></a>

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.

1. 

**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.
**Nota**  
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 delle operazioni API, consulta il **[CreateDistributionConfiguration](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateDistributionConfiguration.html)** comando nel riferimento all'API *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 `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"
   }
   ```

1. 

**Esegui il comando seguente utilizzando il file creato come input.**

   ```
   aws imagebuilder create-distribution-configuration --cli-input-json file://export-vm-disks.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 (\$1) 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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-distribution-configuration.html)** Reference.AWS CLI *

# Crea e aggiorna le impostazioni di distribuzione per le immagini dei contenitori
<a name="cr-upd-container-distribution-settings"></a>

Questa sezione descrive la creazione e l'aggiornamento delle impostazioni di distribuzione per le immagini dei contenitori Image Builder.

**Topics**
+ [Creare impostazioni di distribuzione per le immagini dei contenitori Image Builder da AWS CLI](#cli-create-container-distribution-configuration)
+ [Aggiorna le impostazioni di distribuzione per l'immagine del contenitore dal AWS CLI](#cli-update-container-distribution-configuration)

## Creare impostazioni di distribuzione per le immagini dei contenitori Image Builder da AWS CLI
<a name="cli-create-container-distribution-configuration"></a>

Una configurazione di distribuzione consente di specificare il nome e la descrizione dell'immagine del contenitore di output e di replicare l'immagine del contenitore in altre AWS regioni. È inoltre possibile applicare tag separati alla risorsa di configurazione della distribuzione e alle immagini del contenitore all'interno di ciascuna regione.

1. 

**Creazione di un file JSON di input nella CLI**

   Utilizzate il vostro strumento di modifica dei file preferito per creare un file JSON con le chiavi mostrate nell'esempio seguente, più valori validi per il vostro ambiente. In questo esempio viene utilizzato un file denominato `create-container-distribution-configuration.json`:

   ```
   {
   	"name": "distribution-configuration-name",
   	"description": "Distributes container image to Amazon ECR repository in two regions.",
   	"distributions": [
   		{
   			"region": "us-west-2",
   			"containerDistributionConfiguration": {
   				"description": "My test image.",
   				"targetRepository": {
   					"service": "ECR",
   					"repositoryName": "testrepo"
   				},
   				"containerTags": ["west2", "image1"]
   			}
   		},
   		{
   			"region": "us-east-1",
   			"containerDistributionConfiguration": {
   				"description": "My test image.",
   				"targetRepository": {
   					"service": "ECR",
   					"repositoryName": "testrepo"
   				},
   			   "containerTags": ["east1", "imagedist"]
   			}
   		}
   	],
   	"tags": {
   	   "DistributionConfigurationTestTagKey1": "DistributionConfigurationTestTagValue1",
   	   "DistributionConfigurationTestTagKey2": "DistributionConfigurationTestTagValue2"
   	}
   }
   ```

1. 

**Esegui il comando seguente utilizzando il file creato come input.**

   ```
   aws imagebuilder create-distribution-configuration --cli-input-json file://create-container-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 (\$1) 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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-distribution-configuration.html)** Reference.AWS CLI *

## Aggiorna le impostazioni di distribuzione per l'immagine del contenitore dal AWS CLI
<a name="cli-update-container-distribution-configuration"></a>

L'esempio seguente mostra come utilizzare il **[update-distribution-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/update-distribution-configuration.html)** comando per aggiornare le impostazioni di distribuzione per l'immagine del contenitore, utilizzando il AWS CLI. È inoltre possibile aggiornare i tag per le immagini del contenitore all'interno di ciascuna regione.

1. 

**Creazione di un file JSON di input nella CLI**

   Usa il tuo strumento di modifica dei file preferito per creare un file JSON con le chiavi mostrate nell'esempio seguente, oltre a valori validi per il tuo ambiente. In questo esempio viene utilizzato un file denominato `update-container-distribution-configuration.json`:

   ```
   {
   	"distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/update-container-distribution-configuration.json",
   	"description": "Distributes container image to Amazon ECR repository in two regions.",
   	"distributions": [
   		{
   			"region": "us-west-2",
   			"containerDistributionConfiguration": {
   				"description": "My test image.",
   				"targetRepository": {
   					"service": "ECR",
   					"repositoryName": "testrepo"
   				},
   				"containerTags": ["west2", "image1"]
   			}
   		},
   		{
   			"region": "us-east-2",
   			"containerDistributionConfiguration": {
   				"description": "My test image.",
   				"targetRepository": {
   					"service": "ECR",
   					"repositoryName": "testrepo"
   				},
   			   "containerTags": ["east2", "imagedist"]
   			}
   		}
   	]
   }
   ```

1. 

**Esegui il comando seguente, utilizzando il file che hai creato come input:**

   ```
   aws imagebuilder update-distribution-configuration --cli-input-json file://update-container-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 (\$1) 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](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/update-distribution-configuration.html)** Reference.AWS CLI * Per aggiornare i tag per la risorsa di configurazione della distribuzione, consulta la [Aggiunta di tag alle risorse ](tag-resources.md) sezione.

# Configura la distribuzione AMI tra account con Image Builder
<a name="cross-account-dist"></a>

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](create-image-recipes.md#create-image-recipe-cli) Per creare il file JSON per una configurazione dell'infrastruttura, consulta. [Creazione di una configurazione dell'infrastruttura](create-infra-config.md)

## Prerequisiti per la distribuzione AMI tra account
<a name="cross-account-dist-prereqs"></a>

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
<a name="cross-account-prereqs-encryption"></a>

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](#cross-account-prereqs-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](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) 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
<a name="cross-account-prereqs-iam"></a>

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

1. 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`

1. Devono associarlo [Policy Ec2ImageBuilderCrossAccountDistributionAccess](security-iam-awsmanpol.md#sec-iam-manpol-Ec2ImageBuilderCrossAccountDistributionAccess) al ruolo per consentire la distribuzione tra account. Per ulteriori informazioni sulle politiche gestite, vedere [Managed Policies e Inline Policies nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) per l'*AWS Identity and Access Management utente*.

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

------
#### [ JSON ]

****  

   ```
   {
       "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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) nella Guida per l'utente.AWS Identity and Access Management *

1. 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 utilizza per crittografare e decrittografare l'AMI con le chiavi appropriate AWS KMS per ciascuna regione.

------
#### [ JSON ]

****  

   ```
   {
   	"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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#inline-policies) Policies nella Guida per l'utente.AWS Identity and Access Management *

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

------
#### [ JSON ]

****  

   ```
   {
       "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"
                   }
               }
           }
       ]
   }
   ```

------

1. Se utilizzi un AWS Systems Manager parametro Parameter Store per memorizzare l'ID AMI dell'AMI di output per l'account di distribuzione e la regione, devi aggiungere la seguente politica al tuo account di destinazione `EC2ImageBuilderDistributionCrossAccountRole` in ogni account di destinazione.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:PutParameter"
               ],
               "Resource": "arn:aws:ssm:*:111122223333:parameter/ImageBuilder-*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:DescribeImages"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

## Limiti per la distribuzione tra account
<a name="cross-account-dist-limits"></a>

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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html).
+ 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) nella *Guida per l'utente di Amazon Elastic Compute Cloud*.

Per ulteriori informazioni, consulta la Guida di riferimento [CreateDistributionConfiguration](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateDistributionConfiguration.html)all'*API EC2 Image Builder*.

## Configurare la distribuzione tra account per un'AMI Image Builder dalla console
<a name="cross-account-dist-console-create-ami"></a>

Questa sezione descrive come creare e configurare le impostazioni di distribuzione per la distribuzione tra account di Image AMIs Builder utilizzando. Console di gestione AWS La configurazione della distribuzione tra account richiede autorizzazioni IAM specifiche. È necessario completare la sezione [Prerequisiti per la distribuzione AMI tra account](#cross-account-dist-prereqs) 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 [https://console.aws.amazon.com/imagebuilder/](https://console.aws.amazon.com/imagebuilder/)all'indirizzo.

1. Scegli **le impostazioni di distribuzione** dal pannello di navigazione. Questo mostra un elenco delle impostazioni di distribuzione create con il tuo account.

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

1. Nella sezione **Tipo di immagine**, scegli **Amazon Machine Image (AMI)** come **tipo di output**. Questa è l'impostazione predefinita.

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

1. **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.

1. 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
<a name="cross-account-dist-cli-ami-create"></a>

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](#cross-account-dist-prereqs) 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 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 uno `AmiDistributionConfiguration` 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"
   		}
   	]
   }
   ```

1. 

**Create le impostazioni di distribuzione**

   Per creare una risorsa per le impostazioni di distribuzione di Image Builder utilizzando il [create-distribution-configuration](https://docs.aws.amazon.com/cli/latest/reference/imagebuilder/create-distribution-configuration.html)comando 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 (\$1) 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`*

# Configura la distribuzione AMI con un modello di lancio EC2
<a name="dist-using-launch-template"></a>

Per garantire un'esperienza di lancio coerente per l'AMI Image Builder negli account e nelle regioni di destinazione, puoi specificare un modello di lancio di Amazon EC2 nelle impostazioni di distribuzione, utilizzando. `launchTemplateConfigurations` Quando `launchTemplateConfigurations` sono presenti durante il processo di distribuzione, Image Builder crea una nuova versione del modello di lancio che include tutte le impostazioni originali del modello e il nuovo ID AMI della build. Per ulteriori informazioni sull'avvio di un'istanza EC2 utilizzando un modello di avvio, consulta uno dei seguenti link, a seconda del sistema operativo di destinazione.
+ [Avvia un'istanza Linux da un modello di avvio](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)
+ [Avvia un'istanza Windows da un modello di avvio](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)

**Nota**  
Quando si include un modello di avvio per abilitare Windows Fast Launch nell'immagine, il modello di avvio deve includere il tag seguente in modo che Image Builder possa abilitare Windows Fast Launch per conto dell'utente.  
`CreatedBy: EC2 Image Builder`

## Aggiungi un modello di avvio EC2 alle impostazioni di distribuzione AMI dalla console
<a name="dist-using-launch-template-console"></a>

Per fornire un modello di lancio con l'AMI di output, segui questi passaggi nella console:

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

1. Scegli **le impostazioni di distribuzione** dal pannello di navigazione. Questo mostra un elenco delle impostazioni di distribuzione create con il tuo account.

1. Nella parte superiore della pagina delle **impostazioni di distribuzione**, scegli **Crea impostazioni di distribuzione**. Si apre la pagina **Crea impostazioni di distribuzione**.

1. Nella sezione **Tipo di immagine**, scegli il **tipo di output** di **Amazon Machine Image (AMI)**. Questa è l'impostazione predefinita.

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

1. Nella sezione **Impostazioni regionali**, seleziona il nome di un modello di lancio EC2 dall'elenco. Se non ci sono modelli di lancio nel tuo account, scegli **Crea nuovo modello di lancio**, che apre i **modelli di lancio** nella dashboard di **EC2**.

   Seleziona la casella di controllo **Imposta la versione predefinita** per aggiornare la versione predefinita del modello di avvio alla nuova versione creata da Image Builder con l'AMI di output.

   Per aggiungere un altro modello di avvio alla regione selezionata, scegli **Aggiungi configurazione del modello di avvio**.

   Per rimuovere un modello di lancio, scegli **Rimuovi**.

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

## Aggiungi un modello di avvio EC2 alle impostazioni di distribuzione AMI dal AWS CLI
<a name="dist-using-launch-template-cli"></a>

Questa sezione descrive come configurare un file di impostazioni di distribuzione con un modello di avvio e utilizzare il **create-image** comando in AWS CLI per creare e distribuire un'AMI Image Builder e una nuova versione del modello di avvio che la utilizza.

1. 

**Configurare un file delle impostazioni di distribuzione**

   Prima di poter creare un'AMI Image Builder con un modello di avvio, utilizzando AWS CLI, è necessario creare una struttura JSON di configurazione della distribuzione che specifichi le impostazioni. `launchTemplateConfigurations` È necessario specificare almeno una `launchTemplateConfigurations` voce nella regione di origine.

   Il seguente file di esempio, denominato`create-distribution-config-launch-template.json`, mostra alcuni possibili scenari per la configurazione del modello di avvio nella regione di origine.

   ```
   {
       "name": "NewDistributionConfiguration",
       "description": "This is just a test",
       "distributions": [
           {
               "region": "us-west-2",
               "amiDistributionConfiguration": {
                   "name": "test-{{imagebuilder:buildDate}}-{{imagebuilder:buildVersion}}",
                   "description": "description"
               },
               "launchTemplateConfigurations": [
                   {
                       "launchTemplateId": "lt-0a1bcde2fgh34567",
                       "accountId": "935302948087",
                       "setDefaultVersion": true
                   },
                   {
                       "launchTemplateId": "lt-0aaa1bcde2ff3456"
                   },
                   {
                       "launchTemplateId": "lt-12345678901234567",
                       "accountId": "123456789012"
                   }
               ]
           }
       ],
       "clientToken": "clientToken1"
   }
   ```

1. 

**Create le impostazioni di distribuzione**

   Per creare una risorsa per le impostazioni di distribuzione di Image Builder utilizzando il [create-distribution-configuration](https://docs.aws.amazon.com/cli/latest/reference/imagebuilder/create-distribution-configuration.html)comando 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-config-launch-template.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 (\$1) 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`*

# Usa funzionalità di distribuzione AMI avanzate
<a name="distribution-enhanced_functionality"></a>

Image Builder offre funzionalità di distribuzione avanzate che offrono flessibilità e controllo sulla modalità di distribuzione tra regioni e account. AMIs Queste funzionalità separano la distribuzione dal processo di creazione, consentendo di distribuire le immagini esistenti su richiesta, ripristinare in modo efficiente gli errori di distribuzione e implementare strategie di distribuzione controllate e in più fasi attraverso flussi di lavoro personalizzabili. 

È possibile utilizzare le funzionalità di distribuzione AMI avanzate in Image Builder per eseguire direttamente le attività di distribuzione senza la necessità di eseguire nuovamente una build di immagine completa. 

## Distribuzione disaccoppiata
<a name="decoupled-distribution"></a>

L' DistributeImage API accetta tre tipi di riferimenti alle immagini di origine: 
+ **ID AMI**: un identificatore AMI standard (ad esempio,`ami-0abcdef1234567890`)
+ **Parametro SSM**: un parametro SSM che memorizza un ID AMI (ad esempio,) `ssm:/my/ami/parameter`
+ **Image Builder versione ARN — Una versione di immagine di Image Builder ARN**

## Riprova di distribuzione
<a name="distribution-retry"></a>

Se la distribuzione di un'immagine fallisce, utilizza l'`RetryImage`API per riprovare la distribuzione. In questo modo si riduce il tempo necessario per risolvere la causa dell'errore evitando una ricostruzione completa dell'immagine. Utilizzare `RetryImage` dopo aver risolto la causa alla base dell'errore di distribuzione. 

L' RetryImage API accetta una versione di build dell'immagine ARN (ad esempio,`arn:aws:imagebuilder:us-west-2:123456789012:image/my-image/1.0.0/1`). Quando si richiama l'API, Image Builder riprende automaticamente il processo di distribuzione dal punto di errore utilizzando la configurazione e le impostazioni di distribuzione originali. L'`RetryImage`API può riprovare le distribuzioni che hanno avuto esito negativo durante la fase di distribuzione, la fase di test o la fase di integrazione. Funziona AMIs nei seguenti stati: in sospeso, non riuscito, eliminato o disponibile. 

**Prerequisiti** 

Prima di riprovare una distribuzione, assicurati quanto segue: 
+ Avete identificato e risolto la causa principale dell'errore. Consulta i log di distribuzione in CloudWatch Logs per i dettagli sugli errori.
+ Disponi delle autorizzazioni IAM necessarie per riprovare a creare l'immagine.
+ In caso di errori di distribuzione tra account diversi, verifica che `EC2ImageBuilderDistributionCrossAccountRole` all'account di destinazione sia associata la policy. `Ec2ImageBuilderCrossAccountDistributionAccess`

**Importante:** se riprovi senza risolvere il problema sottostante, si verificheranno errori ripetuti. 

## Flussi di lavoro di distribuzione
<a name="distribution-workflows"></a>

I flussi di lavoro di distribuzione sono un nuovo tipo di flusso di lavoro che integra i flussi di lavoro di compilazione e test e consente di definire e controllare il processo di distribuzione con passaggi sequenziali. Con i flussi di lavoro di distribuzione, puoi creare processi di distribuzione personalizzati che includono operazioni di copia AMI, wait-for-action checkpoint, modifiche degli attributi dell'immagine e altri passaggi relativi alla distribuzione. Ciò fornisce un controllo strutturato sulla modalità di distribuzione, con visibilità a livello di fase, funzionalità di distribuzione parallela e segnalazione granulare degli errori. AMIs 

[Per ulteriori informazioni sulla creazione e la personalizzazione dei flussi di lavoro, consulta Manage Image Workflows.](manage-image-workflows.html) 