View a markdown version of this page

Configurazione dei flussi di lavoro della pipeline di immagini in 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à.

Configurazione dei flussi di lavoro della pipeline di immagini in Image Builder

Con i flussi di lavoro relativi alle immagini, puoi personalizzare i flussi di lavoro eseguiti dalla pipeline per creare, testare e distribuire immagini in base alle tue esigenze. I flussi di lavoro definiti vengono eseguiti nel contesto del framework dei flussi di lavoro di Image Builder. Per ulteriori informazioni sulle fasi che costituiscono il framework del flusso di lavoro, vedereGestisci i flussi di lavoro di creazione, test e distribuzione per le immagini di Image Builder.

Crea flusso di lavoro

Crea flussi di lavoro eseguiti durante la Build fase del framework del flusso di lavoro. Puoi specificare un solo flusso di lavoro di compilazione per la tua pipeline. Oppure puoi saltare completamente la compilazione per configurare una pipeline di soli test.

Workflow di test

I flussi di lavoro di test vengono eseguiti durante la Test fase del framework del flusso di lavoro. Puoi aggiungere uno o più flussi di lavoro di test alla tua pipeline, fino al limite di dieci flussi di lavoro in totale, che include anche i flussi di lavoro di creazione e distribuzione. I flussi di lavoro di test possono essere eseguiti in parallelo o uno alla volta, a seconda di come definisci i gruppi di test. Puoi anche saltare completamente i test se desideri solo che la pipeline venga creata.

Workflow di distribuzione

I flussi di lavoro di distribuzione vengono eseguiti durante la Distribution fase del framework del flusso di lavoro. Un flusso di lavoro di distribuzione è facoltativo. Se non ne specifichi uno, Image Builder distribuisce comunque la tua AMI eseguendo la configurazione di distribuzione che alleghi alla pipeline o all'immagine. Specificate un flusso di lavoro di distribuzione quando desiderate sovrascrivere tale configurazione di distribuzione con impostazioni di distribuzione diverse o per ottenere maggiore visibilità nel processo di distribuzione. Puoi specificare un flusso di lavoro di distribuzione per la tua pipeline. Se crei immagini di contenitori e non specifichi un flusso di lavoro di distribuzione, Image Builder aggiunge il flusso di lavoro di distribuzione dei container gestito da Amazon per te.

Definisci gruppi di test per i flussi di lavoro di test

I flussi di lavoro di test vengono definiti all'interno dei gruppi di test. Puoi eseguire più flussi di lavoro di test per la tua pipeline. Il limite combinato è di dieci flussi di lavoro in totale, inclusi i flussi di lavoro di creazione e distribuzione. Sei tu a decidere se eseguire i flussi di lavoro di test in un ordine specifico o eseguirne il maggior numero possibile contemporaneamente. Il modo in cui vengono eseguiti dipende da come definisci i gruppi di test. Gli scenari seguenti illustrano diversi modi in cui è possibile definire i flussi di lavoro dei test.

Nota

Le onFailure impostazioni parallelGroup and si applicano solo ai flussi di lavoro di test. Image Builder li rifiuta in un flusso di lavoro di compilazione o distribuzione con un. InvalidParameterCombinationException

Come vengono eseguiti i gruppi di test

Image Builder esegue i flussi di lavoro di test in gruppi di test. Esegue i gruppi uno alla volta. I flussi di lavoro di test all'interno di un singolo gruppo vengono eseguiti contemporaneamente (in parallelo). Image Builder esegue fino a cinque flussi di lavoro di test contemporaneamente; se un gruppo ne ha più di cinque, Image Builder avvia il flusso di lavoro di test successivo al termine di ognuno di essi. Un flusso di lavoro di test che non fa parte di un gruppo viene eseguito da solo.

La modalità di definizione dei gruppi di test dipende dall'utilizzo della console o dell'API AWS CLI and. Seleziona la scheda che corrisponde al metodo utilizzato.

Console di gestione AWS

Quando crei o modifichi una pipeline nella console, definisci i flussi di lavoro di test nella sezione Flusso di lavoro di test del processo di creazione dell'immagine. Per eseguire i test, scegli l'opzione per selezionare i flussi di lavoro di test. Per creare immagini senza test, scegli l'opzione per saltare i flussi di lavoro di test.

La console organizza i flussi di lavoro di test in gruppi di test. Una nuova pipeline inizia con un gruppo di test. Per creare la tua configurazione di test, procedi come segue:

  • Aggiungi un flusso di lavoro di test a un gruppo: aggiungi un flusso di lavoro di test a un gruppo e seleziona il flusso di lavoro tra i tuoi flussi di lavoro (di mia proprietà) o i flussi di lavoro AWS gestiti (gestiti da Amazon). Se il flusso di lavoro definisce dei parametri, la console li mostra in modo da poter inserire valori. Un gruppo può contenere fino a cinque flussi di lavoro di test, eseguiti contemporaneamente.

  • Aggiungi un gruppo di test: aggiungi un altro gruppo di test per eseguire un diverso set di test. Puoi aggiungere fino a dieci gruppi di test. Per rinominare un gruppo, scegli Modifica nome. Il nome di un gruppo può contenere fino a 128 caratteri e può includere lettere, numeri, trattini (-) e caratteri di sottolineatura (). _

Image Builder esegue i gruppi di test uno alla volta, nell'ordine in cui appaiono nella procedura guidata. I flussi di lavoro di test all'interno di un gruppo vengono eseguiti contemporaneamente. Un gruppo può contenere fino a cinque flussi di lavoro di test. Per eseguire i test uno alla volta, inserisci ogni flusso di lavoro di test in un gruppo separato.

Nota

Puoi aggiungere o rimuovere flussi di lavoro e gruppi di test, ma non puoi riordinarli. Pianifica l'ordine dei gruppi di test prima di crearli.

AWS CLI

Quando si utilizza AWS CLI o l'API Image Builder, non si definiscono direttamente i gruppi di test. Invece, imposti l'parallelGroupattributo su ogni flusso di lavoro di test nell'workflowselenco. I flussi di lavoro di test con lo stesso parallelGroup valore formano un gruppo e vengono eseguiti contemporaneamente. Un flusso di lavoro di test che non ha alcun parallelGroup valore viene eseguito da solo. Se non imposti un parallelGroup valore in nessuno dei flussi di lavoro di test, Image Builder li esegue uno alla volta.

L'API AWS CLI and non limita il numero di flussi di lavoro di test in un gruppo. L'unico limite è il numero totale di flussi di lavoro, che non può superare i dieci (inclusi i flussi di lavoro di compilazione e distribuzione). La console limita un gruppo a cinque flussi di lavoro di test.

Image Builder esegue sempre prima i flussi di lavoro di compilazione, quindi i flussi di lavoro di test, quindi il flusso di lavoro di distribuzione. Questo ordine si applica indipendentemente da come li elenchi.

Durante la fase di test, Image Builder ordina i flussi di lavoro di test come segue:

  • Ordina i gruppi in base alla posizione in cui ogni gruppo appare per la prima volta nell'workflowselenco. Non li ordina in base al parallelGroup valore.

  • Mantiene ogni flusso di lavoro che non ha un gruppo nella posizione elencata.

  • Esegue i flussi di lavoro in un gruppo insieme, nella posizione in cui quel gruppo appare per la prima volta.

Esempio

Supponiamo di elencare cinque flussi di lavoro di test in questo ordine e di impostare il parallelGroup valore su alcuni di essi:

  • Flusso di lavoro di test A: nessun gruppo

  • Flusso di lavoro di test B —parallelGroup: tests-1

  • Flusso di lavoro di test C: nessun gruppo

  • Flusso di lavoro di test D —parallelGroup: tests-1

  • Flusso di lavoro di prova E —parallelGroup: tests-2

Image Builder li esegue nel seguente ordine:

  1. Prova il flusso di lavoro A, da solo.

  2. Testa il flusso di lavoro B e il flusso di lavoro D, contemporaneamente. Condividono il tests-1 gruppo, che appare per la prima volta nel flusso di lavoro di test B.

  3. Flusso di lavoro di test C, a sé stante.

  4. Testa il flusso di lavoro E, da solo, nel tests-2 gruppo.

Il workflow di test D viene eseguito insieme al workflow di test B perché condividono un gruppo, anche se avete elencato il workflow di test C tra di loro. Il gruppo denominato tests-1 viene eseguito prima tests-2 perché tests-1 appare per primo nell'elenco: l'ordine del gruppo segue l'ordine nell'elenco, non il parallelGroup valore.

Scenario 1: eseguire un flusso di lavoro di test alla volta

Per eseguire tutti i flussi di lavoro di test uno alla volta, configura un gruppo di test separato per ogni flusso di lavoro di test, fino al limite combinato di dieci flussi di lavoro in totale (che include i flussi di lavoro di compilazione e distribuzione). Image Builder esegue i gruppi di test uno alla volta. Questo è un modo per garantire che i flussi di lavoro di test vengano eseguiti uno alla volta in un ordine specifico.

Scenario 2: Esegui più flussi di lavoro di test contemporaneamente

Se l'ordine non è importante e desideri eseguire il maggior numero possibile di flussi di lavoro di test contemporaneamente, puoi configurare un singolo gruppo di test e inserirvi il numero massimo di flussi di lavoro di test. Image Builder avvia fino a cinque flussi di lavoro di test contemporaneamente e ne avvia altri man mano che gli altri vengono completati. Se il tuo obiettivo è eseguire i flussi di lavoro di test il più velocemente possibile, questo è un modo per farlo.

Scenario 3: Mescola e abbina

Se hai uno scenario misto, con alcuni flussi di lavoro di test che possono essere eseguiti contemporaneamente e altri che dovrebbero essere eseguiti uno alla volta, puoi configurare i tuoi gruppi di test per raggiungere questo obiettivo. L'unico limite alla configurazione dei gruppi di test è il numero massimo di flussi di lavoro di test che possono essere eseguiti per la pipeline

Imposta i parametri del flusso di lavoro in una pipeline di Image Builder dalla console

I parametri del flusso di lavoro funzionano allo stesso modo per i flussi di lavoro di creazione, test e distribuzione. Quando crei o aggiorni una pipeline, selezioni i flussi di lavoro di compilazione, test e distribuzione che desideri includere. Se hai definito i parametri nel documento del flusso di lavoro per un flusso di lavoro selezionato, Image Builder li visualizza nel pannello Parametri. Il pannello è nascosto per i flussi di lavoro che non hanno parametri definiti.

Ogni parametro mostra i seguenti attributi definiti dal documento del flusso di lavoro:

  • Nome (non modificabile): il nome del parametro.

  • Tipo (non modificabile): il tipo di dati per il valore del parametro.

  • Valore: il valore del parametro. È possibile modificare il valore del parametro per impostarlo per la pipeline.

Specifica il ruolo del servizio IAM utilizzato da Image Builder per eseguire le azioni del flusso di lavoro

Quando alleghi flussi di lavoro con immagini personalizzati alla pipeline o quando imposti una configurazione di registrazione, devi anche specificare un ruolo di esecuzione. Questo è il ruolo IAM che Image Builder assume per eseguire le azioni del flusso di lavoro. Il ruolo deve fidarsi del responsabile del servizio Image Builder. Per le autorizzazioni richieste, consulta le informazioni di accesso al servizio di workflow riportate di seguito.

Per eseguire flussi di lavoro con immagini, Image Builder necessita dell'autorizzazione per eseguire le azioni del flusso di lavoro. Concedi questa autorizzazione con un ruolo di esecuzione che Image Builder assume per tuo conto. Assegna il ruolo di esecuzione come segue.

Importante

Ti consigliamo di non passare il ruolo AWSServiceRoleForImageBuilder collegato al servizio come ruolo di esecuzione. Crea invece un ruolo IAM personalizzato e allega la policy EC2ImageBuilderExecutionPolicy AWS gestita. Questa policy concede le stesse autorizzazioni di cui Image Builder ha bisogno per chiamare per tuo Servizi AWS conto. L'utilizzo di un ruolo personalizzato ti dà il pieno controllo sulle autorizzazioni utilizzate da Image Builder. Inoltre, mantiene in vigore le politiche di controllo dei servizi (SCP) e le politiche di controllo delle risorse (RCP) per le operazioni che Image Builder esegue per conto dell'utente.

  • Console: nella procedura guidata della pipeline Step 3 Definisci il processo di creazione dell'immagine, seleziona il tuo ruolo personalizzato dall'elenco dei ruoli IAM nel pannello di accesso al servizio.

  • API Image Builder: nella richiesta di CreateImage azione, specifica il tuo ruolo personalizzato come valore per il executionRole parametro.

Per creare un ruolo di esecuzione personalizzato, vedere Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio nella Guida per l'AWS Identity and Access Management utente.

Associa i flussi di lavoro a una pipeline

Per associare flussi di lavoro personalizzati di creazione, test e distribuzione di immagini alla pipeline, seleziona la scheda corrispondente al metodo che desideri utilizzare.

Console di gestione AWS

Quando si crea o si aggiorna una pipeline in Console di gestione AWS, la procedura guidata per la creazione di una pipeline di immagini include una fase dei flussi di lavoro in cui si selezionano i flussi di lavoro eseguiti dalla pipeline. Per associare flussi di lavoro con immagini personalizzati, procedi come segue in questo passaggio:

  1. Per Crea flusso di lavoro, seleziona il flusso di lavoro di compilazione che desideri eseguire con la pipeline.

  2. Per i flussi di lavoro di test, aggiungi uno o più flussi di lavoro di test e organizzali in gruppi di test per controllare l'ordine in cui vengono eseguiti. Per ulteriori informazioni, consulta Definisci gruppi di test per i flussi di lavoro di test.

  3. Per Flusso di lavoro di distribuzione, seleziona un flusso di lavoro di distribuzione se desideri sovrascrivere la configurazione di distribuzione allegata o ottenere maggiore visibilità nel processo di distribuzione. Questo è facoltativo.

  4. Per il ruolo di esecuzione, seleziona il ruolo IAM che Image Builder assume per eseguire le azioni del flusso di lavoro. È richiesto un ruolo di esecuzione quando si associano flussi di lavoro di immagini personalizzati. Per ulteriori informazioni, consulta Specifica il ruolo del servizio IAM utilizzato da Image Builder per eseguire le azioni del flusso di lavoro.

  5. Se un flusso di lavoro selezionato definisce dei parametri, impostane i valori nel pannello Parametri. Per ulteriori informazioni, consulta Imposta i parametri del flusso di lavoro in una pipeline di Image Builder dalla console.

Per una procedura dettagliata della procedura guidata completa per la creazione di una pipeline di immagini, consulta. Crea e aggiorna le pipeline di immagini AMI

AWS CLI

Per associare flussi di lavoro di immagini personalizzati quando crei una pipeline, usa il comando. create-image-pipeline Specifica il tuo ruolo di esecuzione con il --execution-role parametro ed elenca i flussi di lavoro di compilazione, test e distribuzione con il parametro. --workflows L'esempio seguente crea una pipeline con un flusso di lavoro di compilazione, un flusso di test e un flusso di distribuzione.

aws imagebuilder create-image-pipeline \ --name example-pipeline \ --image-recipe-arn arn:aws:imagebuilder:us-west-2:111122223333:image-recipe/example/1.0.0 \ --infrastructure-configuration-arn arn:aws:imagebuilder:us-west-2:111122223333:infrastructure-configuration/example \ --execution-role arn:aws:iam::111122223333:role/ImageBuilderWorkflowExecutionRole \ --workflows '[ {"workflowArn":"arn:aws:imagebuilder:us-west-2:111122223333:workflow/build/example-build/1.0.0"}, {"workflowArn":"arn:aws:imagebuilder:us-west-2:111122223333:workflow/test/example-test/1.0.0","parallelGroup":"group-1","onFailure":"CONTINUE"}, {"workflowArn":"arn:aws:imagebuilder:us-west-2:111122223333:workflow/distribution/example-distribute/1.0.0"} ]'