Crea una nuova versione di una ricetta di immagini - EC2Image 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 dalla 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. Versionamento semantico in Image Builder

    Marketplace AWS image
    • Sottoscrizioni: questa scheda dovrebbe essere aperta e l'immagine sottoscritta da Marketplace AWS deve essere preselezionato in modo che corrisponda alla ricetta 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 sull' Marketplace AWS prodotti, vedi Acquisto di prodotti nel Marketplace AWS Guida all'acquisto.

    Custom AMI
    • AMIID: obbligatorio. Tuttavia, questa impostazione non è precompilata con il dato originale. È necessario inserire l'AMIID 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 nella tuaAMI.

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

    CISi componenti di indurimento non seguono le regole standard di ordinamento dei componenti nelle ricette di Image Builder. I componenti di CIS protezione avanzata 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 iscritto Marketplace AWS, seleziona Third party managed dall'elenco dei tipi di proprietario, accanto alla barra di ricerca.

    È 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 . 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? nel AWS Secrets Manager Guida per l'utente. Per ulteriori informazioni sull' AWS Systems Manager Parameter Store, vedere AWS Systems Manager Parameter Store in AWS Systems Manager Guida 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. Il volume principale, il nome del dispositivo, l'istantanea e IOPSle selezioni 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 nel AWS CLI, segui questi passaggi:

Prerequisiti

Prima di eseguire i comandi Image Builder di questa sezione per creare una ricetta di immagini da AWS CLI, è necessario creare i componenti utilizzati dalla ricetta. L'esempio di ricetta illustrato nella fase seguente si riferisce ai componenti di esempio creati nella Creare un componente personalizzato dal AWS 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. Create un JSON file CLI di input

    È 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, potete invece fornire un JSON file che contenga tutte le impostazioni della ricetta.

    Nota

    La convenzione di denominazione per i valori dei dati nel JSON file segue lo schema specificato per i parametri della richiesta di azione Image API Builder. Per esaminare i parametri di richiesta del API comando, vedere il CreateImageRecipecomando nell'EC2Image Builder API Reference.

    Per fornire i valori dei dati come parametri della riga di comando, fate riferimento ai nomi dei parametri specificati nella AWS CLI Riferimento ai comandi.

    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(stringa, obbligatorio): l'immagine utilizzata dalla ricetta dell'immagine come base per l'immagine personalizzata. Il valore può essere l'immagine di base ARN o un AMI ID.

      Nota

      L'esempio Linux utilizza un Image Builder e AMI 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. Versionamento semantico in Image Builder

    • 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 CIS avanzata vengono sempre eseguiti per ultimi per garantire che i test di benchmark vengano eseguiti rispetto all'immagine di output.

      • component ARN (string, required) — Il componente. ARN

        Suggerimento

        Per utilizzare uno degli esempi per creare una ricetta personalizzata, è necessario sostituire l'esempio ARNs con quello relativo ai componenti utilizzati per la ricetta. ARNs

      • 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 . 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? nel AWS Secrets Manager Guida per l'utente. Per ulteriori informazioni sull' AWS Systems Manager Parameter Store, vedere AWS Systems Manager Parameter Store in AWS Systems Manager Guida 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 è 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 nuovaAMI. Il valore predefinito è false.

          Nota

          Se l'uninstallAfterBuildattributo non è incluso nel JSON file e sono soddisfatte le seguenti condizioni, Image Builder rimuove l'agente Systems Manager dall'immagine finale in modo che non sia disponibile in: AMI

          • userDataOverrideÈ vuoto o è stato omesso dal JSON file.

          • 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 è unAMI. Quando si utilizza unAMI, è necessario avere accesso a e AMI deve trovarsi nella regione di origine (la stessa regione in cui Image Builder esegue il comando). AMI Salvate il file con nome e utilizzatelo 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. ARNIn questo esempio fa riferimento all'immagine più recente in SKU 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. Versionamento semantico in Image Builder

  2. Crea la ricetta

    Usa il seguente comando per creare la ricetta. Fornisci il nome del JSON file 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 la file:// notazione all'inizio del percorso del JSON file.

    • Il percorso del JSON file deve seguire la convenzione appropriata per il sistema operativo di base su cui viene eseguito 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. Procedura guidata per la console: Crea 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 VMs 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.

IAMruolo

Per associare un IAM ruolo alla configurazione di importazione della macchina virtuale, seleziona il ruolo dall'elenco a discesa dei IAMruoli o scegli Crea nuovo ruolo per crearne uno nuovo. Se crei un nuovo ruolo, la pagina della console IAM Ruoli 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 AWS KMS key per l'importazione, selezionare un valore dall'elenco Crittografia (KMSchiave). L'elenco contiene KMS le chiavi 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: appropriata AWS la licenza per la piattaforma viene applicata all'immagine di base.

  • Porta la tua licenza (BYOL): conserva la licenza della tua macchina virtuale, se applicabile.

Per allegare configurazioni di licenza create con AWS License Manager all'immagine di base, selezionatela 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 licenzeBYOL.

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