Crea un componente personalizzato con Image Builder - 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 un componente personalizzato con Image Builder

Dopo aver completato il documento del componente, è possibile utilizzarlo per creare un componente personalizzato utilizzabile nelle ricette di Image Builder. È possibile creare un componente personalizzato dalla console Image Builder, da API o o SDKs dalla riga di comando. Per ulteriori informazioni su come creare un componente personalizzato con parametri di input e utilizzarlo nelle ricette, vedereTutorial: creare un componente personalizzato con parametri di input.

Le sezioni seguenti mostrano come creare componenti dalla console o da AWS CLI.

Crea un componente personalizzato dalla console

Per creare un componente AWSTOE dell'applicazione dalla console Image Builder, procedi nel seguente modo:

  1. Aprire la console EC2 Image Builder all'indirizzo. https://console.aws.amazon.com/imagebuilder/

  2. Seleziona Componenti dal pannello di navigazione. Quindi seleziona Crea componente.

  3. Nella pagina Crea componente, in Dettagli del componente, inserisci quanto segue:

    1. Image Operating System (OS). Specificare il sistema operativo con cui il componente è compatibile.

    2. Categoria di componenti. Dal menu a discesa, seleziona il tipo di componente di build o test che stai creando.

    3. Nome del componente. Immettete un nome per il componente.

    4. Versione del componente. Immettere il numero di versione del componente.

    5. Descrizione. Fornisci una descrizione opzionale per aiutarti a identificare il componente.

    6. Modifica la descrizione. Fornisci una descrizione facoltativa per aiutarti a comprendere le modifiche apportate a questa versione del componente.

  4. Nella sezione Definizione del documento, l'opzione predefinita è Definisci il contenuto del documento. Il documento del componente definisce le azioni che Image Builder esegue sulle istanze di compilazione e test per creare l'immagine.

    Nella casella Contenuto, inserite il contenuto del documento YAML componente. Per iniziare con un esempio di Hello World per Linux, scegli l'opzione Usa esempio. Per ulteriori informazioni su come creare un documento YAML componente o per copiare e incollare l'esempio UpdateOS da quella pagina, consulta. Creare un documento YAML componente per componenti personalizzati in Image Builder

  5. Dopo aver inserito i dettagli del componente, selezionate Crea componente.

    Nota

    Per vedere il nuovo componente quando crei o aggiorni una ricetta, applica il filtro Owned by me all'elenco dei componenti di compilazione o test. Il filtro si trova nella parte superiore dell'elenco dei componenti, accanto alla casella di ricerca.

  6. Per eliminare un componente, nella pagina Componenti, seleziona la casella di controllo accanto al componente che desideri eliminare. Dal menu a discesa Azioni, seleziona Elimina componente.

Aggiorna un componente

Per creare una nuova versione del componente, procedi nel seguente modo:

  1. A seconda di dove inizi:

    • Dalla pagina dell'elenco dei componenti: seleziona la casella di controllo accanto al nome del componente, quindi seleziona Crea nuova versione dal menu Azioni.

    • Dalla pagina dei dettagli del componente: scegli il pulsante Crea nuova versione nell'angolo in alto a destra dell'intestazione.

  2. Le informazioni sul componente sono già compilate con i valori correnti quando viene visualizzata la pagina Crea componente. Segui la procedura di creazione di un componente per aggiornare il componente. Ciò garantisce l'immissione di una versione semantica unica nella versione Component. Per ulteriori informazioni sul controllo delle versioni semantiche per le risorse di Image Builder, vedere. Versionamento semantico in Image Builder

Creare un componente personalizzato dal AWS CLI

In questa sezione, imparerete come configurare e utilizzare i comandi di Image Builder AWS CLI per creare un componente AWSTOE dell'applicazione, come segue.

  • Carica il documento del YAML componente in un bucket S3 a cui puoi fare riferimento dalla riga di comando.

  • Crea il componente AWSTOE dell'applicazione con il create-component comando.

  • Elenca le versioni dei componenti con il list-components comando e un filtro dei nomi per vedere quali versioni esistono già. È possibile utilizzare l'output per determinare quale dovrebbe essere la versione successiva per gli aggiornamenti.

Per creare un componente AWSTOE dell'applicazione da un YAML documento di input, seguite i passaggi corrispondenti alla piattaforma del sistema operativo di immagine.

Linux
Archivia il documento relativo ai componenti dell'applicazione in Amazon S3

Puoi utilizzare un bucket S3 come repository per il documento sorgente dei componenti AWSTOE dell'applicazione. Per archiviare il documento del componente, procedi nel seguente modo:

  • Carica il documento su Amazon S3

    Se il documento è più piccolo di 64 KB, puoi saltare questo passaggio. I documenti di dimensioni pari o superiori a 64 KB devono essere archiviati in Amazon S3.

    aws s3 cp update-linux-os.yaml s3://amzn-s3-demo-destination-bucket/my-path/update-linux-os.yaml
Crea un componente dal documento YAML

Per semplificare il create-component comando utilizzato in AWS CLI, create un JSON file che contenga tutti i parametri del componente che desiderate passare al comando. Includete la posizione del update-linux-os.yaml documento creato nei passaggi precedenti. La coppia uri chiave-valore contiene il riferimento al file.

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 CreateComponentcomando nell'EC2Image Builder API Reference.

Per fornire i valori dei dati come parametri della riga di comando, fate riferimento ai nomi dei parametri specificati nel AWS CLI Command Reference.

  1. Create un JSON file CLI di input

    Usa uno strumento di modifica dei file per creare un file denominatocreate-update-linux-os-component.json. Includi i seguenti contenuti:

    { "name": "update-linux-os", "semanticVersion": "1.1.2", "description": "An example component that updates the Linux operating system", "changeDescription": "Initial version.", "platform": "Linux", "uri": "s3://amzn-s3-demo-destination-bucket/my-path/update-linux-os.yaml", "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/98765432-b123-456b-7f89-0123456f789c", "tags": { "MyTagKey-purpose": "security-updates" } }
    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 (/).

  2. Create il componente

    Utilizzate il seguente comando per creare il componente, facendo riferimento al nome del JSON file creato nel passaggio precedente:

    aws imagebuilder create-component --cli-input-json file://create-update-linux-os-component.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 (/).

Windows
Archivia il documento relativo ai componenti dell'applicazione in Amazon S3

Puoi utilizzare un bucket S3 come repository per il documento sorgente dei componenti AWSTOE dell'applicazione. Per archiviare il documento del componente, procedi nel seguente modo:

  • Carica il documento su Amazon S3

    Se il documento è più piccolo di 64 KB, puoi saltare questo passaggio. I documenti di dimensioni pari o superiori a 64 KB devono essere archiviati in Amazon S3.

    aws s3 cp update-windows-os.yaml s3://amzn-s3-demo-destination-bucket/my-path/update-windows-os.yaml
Crea un componente dal documento YAML

Per semplificare il create-component comando utilizzato in AWS CLI, create un JSON file che contenga tutti i parametri del componente che desiderate passare al comando. Includete la posizione del update-windows-os.yaml documento creato nei passaggi precedenti. La coppia uri chiave-valore contiene il riferimento al file.

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 CreateComponentcomando nell'EC2Image Builder API Reference.

Per fornire i valori dei dati come parametri della riga di comando, fate riferimento ai nomi dei parametri specificati nel AWS CLI Command Reference.

  1. Crea un JSON file CLI di input

    Usa uno strumento di modifica dei file per creare un file denominatocreate-update-windows-os-component.json. Includi i seguenti contenuti:

    { "name": "update-windows-os", "semanticVersion": "1.1.2", "description": "An example component that updates the Windows operating system.", "changeDescription": "Initial version.", "platform": "Windows", "uri": "s3://amzn-s3-demo-destination-bucket/my-path/update-windows-os.yaml", "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/98765432-b123-456b-7f89-0123456f789c", "tags": { "MyTagKey-purpose": "security-updates" } }
    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 (/).

  2. Create il componente

    Utilizzate il seguente comando per creare il componente, facendo riferimento al nome del JSON file creato nel passaggio precedente:

    aws imagebuilder create-component --cli-input-json file://create-update-windows-os-component.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 (/).

AWSTOE controllo delle versioni dei componenti per gli aggiornamenti da AWS CLI

AWSTOE i nomi e le versioni dei componenti sono incorporati nell'Amazon Resource Name (ARN) del componente, dopo il prefisso del componente. Ogni nuova versione di un componente ha le sue caratteristiche unicheARN. I passaggi per creare una nuova versione sono esattamente gli stessi dei passaggi per creare un nuovo componente, purché la versione semantica sia unica per il nome del componente. Per ulteriori informazioni sul controllo delle versioni semantiche per le risorse di Image Builder, vedere. Versionamento semantico in Image Builder

Per assicurarvi di assegnare la versione logica successiva, procuratevi innanzitutto un elenco delle versioni esistenti del componente che desiderate modificare. Utilizzate il list-components comando con AWS CLI, e filtrate in base al nome.

In questo esempio, si filtra in base al nome del componente creato negli esempi precedenti di Linux. Per elencare il componente creato, utilizzate il valore del name parametro dal JSON file utilizzato nel create-component comando.

aws imagebuilder list-components --filters name="name",values="update-linux-os" { "requestId": "123a4567-b890-123c-45d6-ef789ab0cd1e", "componentVersionList": [ { "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.0", "name": "update-linux-os", "version": "1.0.0", "platform": "Linux", "type": "BUILD", "owner": "123456789012", "dateCreated": "2020-09-24T16:58:24.444Z" }, { "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.1", "name": "update-linux-os", "version": "1.0.1", "platform": "Linux", "type": "BUILD", "owner": "123456789012", "dateCreated": "2021-07-10T03:38:46.091Z" } ] }

In base ai risultati, è possibile determinare quale dovrebbe essere la versione successiva.

Importa uno script per creare un componente da AWS CLI

Per alcuni scenari, potrebbe essere più semplice iniziare con uno script preesistente. Per questo scenario, è possibile utilizzare l'esempio seguente.

Questo esempio presuppone che sia presente un file chiamato import-component.json (come illustrato). Notate che il file fa riferimento direttamente a uno PowerShell script chiamato AdminConfig.ps1 che è già stato caricato inamzn-s3-demo-source-bucket. Attualmente, SHELL è supportato per il componenteformat.

{ "name": "MyImportedComponent", "semanticVersion": "1.0.0", "description": "An example of how to import a component", "changeDescription": "First commit message.", "format": "SHELL", "platform": "Windows", "type": "BUILD", "uri": "s3://amzn-s3-demo-source-bucket/AdminConfig.ps1", "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/60763706-b131-418b-8f85-3420912f020c" }

Per creare il componente da uno script importato, eseguite il comando seguente.

aws imagebuilder import-component --cli-input-json file://import-component.json