Crea una nuova versione di una ricetta di immagini - EC2 Image Builder

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea una nuova versione di una ricetta di immagini

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

Crea una nuova versione di image recipe (console)

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. Questo dettaglio di base non è precompilato con la versione corrente o con alcun tipo di sequenza. <major>Immettete il numero di versione che desiderate creare nel formato. <minor>. <patch>. Se la versione esiste già, si verifica un errore.

  • 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. Versione semantica

    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 nella Guida Marketplace AWS all'acquisto.

    Custom AMI
    • ID AMI: obbligatorio. Tuttavia, questa impostazione non è precompilata con l'immissione originale. È necessario inserire l'ID AMI per l'immagine di base.

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

      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 EC2 Image Builder

  • 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 o aggiornare componenti per la tua ricetta, seleziona il tipo di proprietario del componente che stai cercando. Ad esempio, se desideri aggiungere un componente associato a un'immagine di base a cui ti sei abbonato Marketplace AWS, selezionalo Third party managed dall'elenco dei tipi di proprietario, accanto alla barra di ricerca.

    Puoi 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 AWS Secrets Manager o il AWS Systems Manager Parameter Store per archiviare i tuoi segreti. Per ulteriori informazioni su Secrets Manager, vedi Cos'è Secrets Manager? nella Guida AWS Secrets Manager per l'utente. Per ulteriori informazioni su AWS Systems Manager Parameter Store, vedere AWS Systems Manager Parameter Store 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.

  2. Per creare la nuova versione, apporta le modifiche, quindi scegli Crea ricetta per immagini.

Per ulteriori informazioni su come creare una ricetta di immagini quando si crea una pipeline di immagini, consulta Fase 2: Scegli la ricetta la sezione Guida introduttiva di questa guida.

Crea una ricetta di immagini con AWS CLI

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, è necessario creare i componenti utilizzati dalla ricetta. L'esempio di image recipe riportato nel passaggio seguente si riferisce ai componenti di esempio creati nella Crea un componente con AWS CLI sezione di questa guida.

Dopo aver creato i componenti, o se utilizzi componenti esistenti, annota gli ARN che desideri includere nella ricetta.

  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 di azione dell'API Image Builder. Per esaminare i parametri di richiesta del comando API, consulta il CreateImageRecipecomando 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. Il valore può essere l'ARN dell'immagine di base o un ID AMI.

      Nota

      L'esempio Linux utilizza un'AMI Image Builder e l'esempio Windows utilizza un ARN.

    • SemanticVersion <major>(string, required) — La versione semantica della ricetta dell'immagine, espressa nel seguente formato, con valori numerici in ogni posizione per indicare una versione specifica:. <minor>. <patch>. Ad esempio, un valore potrebbe essere1.0.0. Per ulteriori informazioni sul controllo delle versioni semantiche per le risorse di Image Builder, vedere. Versione semantica

    • components (array, obbligatorio): contiene una serie di oggetti. ComponentConfiguration È 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 uno degli esempi per creare una ricetta di immagini personalizzata, è necessario sostituire gli ARN di esempio con gli ARN dei componenti utilizzati per la ricetta.

      • 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 AWS Secrets Manager o il AWS Systems Manager Parameter Store per archiviare i tuoi segreti. Per ulteriori informazioni su Secrets Manager, vedi Cos'è Secrets Manager? nella Guida AWS Secrets Manager per l'utente. Per ulteriori informazioni su AWS Systems Manager Parameter Store, vedere AWS Systems Manager Parameter Store 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 sutrue, l'agente viene rimosso dall'immagine finale. Se l'opzione è impostata sufalse, l'agente viene lasciato attivo in modo da essere incluso nella nuova AMI. Il valore predefinito è false.

          Nota

          Se l'uninstallAfterBuildattributo 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 (parentImageproprietà) 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-0a01b234c5de6fabc", "semanticVersion": "1.0.0", "components": [ { "componentArn": "arn:aws:imagebuilder:us-west-2:123456789012: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 dello SKU 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:123456789012:component/my-example-component/2019.12.02/1" }, { "componentArn": "arn:aws:imagebuilder:us-west-2:123456789012:component/my-imported-component/1.0.0/1" } ] }
    Nota

    Per ulteriori informazioni sul controllo delle versioni semantiche per le risorse di Image Builder, vedere. Versione semantica

  2. 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 (\) per fare riferimento al percorso della directory e Linux usa la barra (/).

Importa una macchina virtuale come immagine di base nella console

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. Creare una pipeline di immagini (AMI) 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

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.

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

Configurazione di importazione delle macchine virtuali

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 di macchine virtuali in Image Builder, vedere Importa ed esporta immagini VM

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.

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

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

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.

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

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

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

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