Crea un componente personalizzato con EC2 Image Builder - 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 un componente personalizzato con EC2 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, dall'API o dagli SDK o dalla riga di comando. Per ulteriori informazioni su come creare un componente personalizzato con parametri di input e utilizzarlo nelle ricette, consulta. Tutorial: creare un componente personalizzato con parametri di input da EC2 Image Builder

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

Creare un componente personalizzato dalla console Image Builder

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

  1. Apri 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 del componente YAML. Per iniziare con un esempio di Hello World per Linux, scegli l'opzione Usa esempio. Per ulteriori informazioni su come creare un documento componente YAML o per copiare e incollare l'esempio UpdateOS da quella pagina, consulta. Creare un documento componente YAML per componenti personalizzati in Image Builder

  5. Dopo aver inserito i dettagli del componente, seleziona 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 componente YAML in un bucket S3 a cui puoi fare riferimento dalla riga di comando.

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

  • 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 documento YAML 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://my-s3-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 file JSON 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 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 CreateComponentcomando 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.

  1. Creazione di un file JSON di input nella CLI

    Utilizzate 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://my-s3-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 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 (/).

  2. Crea il componente

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

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

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://my-s3-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 file JSON 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 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 CreateComponentcomando 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.

  1. Creazione di un file JSON di input nella CLI

    Utilizzate 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://my-s3-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 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 (/).

  2. Crea il componente

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

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

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 il proprio ARN univoco. 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 file JSON 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 inmy-s3-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://my-s3-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