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 pipeline di immagini AMI da AWS CLI
Per creare una pipeline di immagini da AWS CLI, esegui il create-image-pipeline comando con le opzioni di configurazione valide per la tua pipeline. Hai la possibilità di creare un file JSON che contenga tutta la configurazione della pipeline o di specificare la configurazione in fase di esecuzione. Questa sezione utilizza il metodo del file di configurazione JSON per semplificare il comando.
La frequenza con cui la pipeline crea una nuova immagine per incorporare eventuali aggiornamenti in sospeso dell'immagine di base e dei componenti dipende dalla configurazione schedule configurata. A schedule ha i seguenti attributi:
-
scheduleExpression— Imposta la pianificazione dell'esecuzione della pipeline per valutarlapipelineExecutionStartConditione determinare se deve iniziare una compilazione. La pianificazione è configurata con espressioni cron. Per ulteriori informazioni su come formattare un'espressione cron in Image Builder, vedere. Usa le espressioni cron in Image Builder -
pipelineExecutionStartCondition— Determina se la pipeline deve iniziare la compilazione. I valori validi includono:-
EXPRESSION_MATCH_ONLY— la pipeline creerà una nuova immagine ogni volta che l'espressione cron corrisponde all'ora corrente. -
EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE— la pipeline crea una nuova immagine solo quando l'espressione di pianificazione corrisponde e ci sono aggiornamenti in sospeso all'immagine o ai componenti di base. Se non ci sono aggiornamenti in sospeso, la compilazione viene ignorata. Per compilare immediatamente senza attendere gli aggiornamenti, esegui la pipeline manualmente.
-
Quando esegui il create-image-pipeline comando in AWS CLI, molte delle risorse di configurazione sono opzionali. Tuttavia, alcune risorse hanno requisiti condizionali, a seconda del tipo di immagine creata dalla pipeline. I seguenti identificatori di risorsa sono necessari per le pipeline di immagini AMI:
-
Ricetta dell'immagine: ARN
-
Configurazione dell'infrastruttura ARN
Esempio: creazione di un'immagine di Windows 2019
Questo esempio configura una pipeline programmata per essere eseguita una volta alla settimana la domenica. Il file di configurazione mostrato nella prima fase utilizza le risorse esistenti per la composizione dell'immagine, l'infrastruttura e la configurazione della distribuzione, insieme ad altre impostazioni per creare un'immagine Windows 2019.
-
Creare un file di configurazione (opzionale)
Questo esempio utilizza un file di configurazione denominato
create-image-pipeline.jsonper configurare le impostazioni in un'unica posizione. In alternativa, è possibile utilizzare le opzioni della riga di comando quando si esegue il comando per specificare tutti i dettagli visualizzati qui nel file di configurazione.{ "name": "ExampleWindows2019Pipeline", "description": "Builds Windows 2019 Images", "enhancedImageMetadataEnabled": true, "imageRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2020.12.03", "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration", "distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-example-distribution-configuration", "imageTestsConfiguration": { "imageTestsEnabled": true, "timeoutMinutes": 60 }, "schedule": { "scheduleExpression": "cron(0 0 * * SUN *)", "pipelineExecutionStartCondition": "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE" }, "status": "ENABLED" }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, mentre Linux e macOS utilizzano la barra rovesciata (/).
-
-
Esegui il comando per creare un'immagine
Questo esempio utilizza il file di configurazione creato nel primo passaggio come input per il
create-image-pipelinecomando. In alternativa, potete specificare le impostazioni e le risorse per la pipeline direttamente quando eseguite il comando. Per ulteriori informazioni, consultate create-image-pipeline nel Reference. AWS CLIaws imagebuilder create-image-pipeline --cli-input-json file://create-image-pipeline.json
Esempio: creare una pipeline con scansione delle immagini e flussi di lavoro personalizzati
Questo esempio configura una pipeline che viene controllata ogni sette giorni e viene eseguita solo quando sono disponibili aggiornamenti delle dipendenze. Il file di configurazione utilizza le risorse esistenti per la composizione e l'infrastruttura dell'immagine. Consente la scansione delle vulnerabilità con Amazon Inspector. La configurazione specifica anche flussi di lavoro personalizzati con un ruolo di esecuzione. I gruppi paralleli eseguono test funzionali e di sicurezza contemporaneamente. I log della pipeline vengono inviati a gruppi di CloudWatch log personalizzati.
-
Crea un file di configurazione
Crea un file JSON denominato
create-pipeline-with-workflows.json. Questo file definisce la configurazione della pipeline con la scansione delle immagini abilitata e flussi di lavoro di test personalizzati. Sostituisci i valori segnaposto con i tuoi ARN di risorse.{ "name": "MyPipelineWithScanning", "description": "Pipeline with vulnerability scanning and custom workflows", "imageRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-recipe/1.0.0", "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-infra-config", "distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-dist-config", "imageScanningConfiguration": { "imageScanningEnabled": true }, "workflows": [ { "workflowArn": "arn:aws:imagebuilder:us-west-2:123456789012:workflow/build/my-build-workflow/1.0.0" }, { "workflowArn": "arn:aws:imagebuilder:us-west-2:123456789012:workflow/test/my-security-scan/1.0.0", "onFailure": "ABORT", "parallelGroup": "security" }, { "workflowArn": "arn:aws:imagebuilder:us-west-2:123456789012:workflow/test/my-compliance-check/1.0.0", "onFailure": "ABORT", "parallelGroup": "security" }, { "workflowArn": "arn:aws:imagebuilder:us-west-2:123456789012:workflow/test/my-functional-test/1.0.0", "onFailure": "CONTINUE", "parallelGroup": "functional" }, { "workflowArn": "arn:aws:imagebuilder:us-west-2:123456789012:workflow/test/my-performance-test/1.0.0", "onFailure": "CONTINUE", "parallelGroup": "functional" } ], "executionRole": "arn:aws:iam::123456789012:role/ImageBuilderExecutionRole", "loggingConfiguration": { "imageLogGroupName": "/aws/imagebuilder/my-pipeline-image-logs", "pipelineLogGroupName": "/aws/imagebuilder/my-pipeline-execution-logs" }, "imageTestsConfiguration": { "imageTestsEnabled": true, "timeoutMinutes": 60 }, "schedule": { "scheduleExpression": "rate(7 days)", "pipelineExecutionStartCondition": "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE" }, "status": "ENABLED" }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, mentre Linux e macOS utilizzano la barra rovesciata (/).
-
-
Eseguire il comando
aws imagebuilder create-image-pipeline --cli-input-json file://create-pipeline-with-workflows.json