從 建立AMI映像管道 AWS CLI - EC2 映像建置器

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

從 建立AMI映像管道 AWS CLI

您可以使用包含組態詳細資訊JSON的檔案建立AMI映像管道,作為 中create-image-pipeline命令的輸入 AWS CLI。

您的管道建置新映像以整合基礎映像和元件中任何待定更新的頻率取決於schedule您設定的 。schedule 具有下列屬性:

  • scheduleExpression – 設定管道執行時間的排程,以評估 pipelineExecutionStartCondition並判斷是否應該啟動建置。排程使用 cron 表達式設定。如需如何在 Image Builder 中格式化 cron 表達式的詳細資訊,請參閱 在 Image Builder 中使用 cron 表達式

  • pipelineExecutionStartCondition – 決定您的管道是否應該啟動建置。有效值包含:

    • EXPRESSION_MATCH_ONLY – 每次 Cron 表達式與目前時間相符時,管道都會建立新的映像。

    • EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE – 除非基礎映像或元件有待定的變更,否則您的管道不會啟動新的映像建置。

當您在 中執行 create-image-pipeline命令時 AWS CLI,許多組態資源都是選用的。不過,部分資源有條件性需求,取決於管道建立的影像類型。AMI 映像管道需要下列資源:

  • 映像配方 ARN

  • 基礎設施組態 ARN

  1. 建立CLI輸入JSON檔案

    使用您最愛的檔案編輯工具,建立具有下列金鑰JSON的檔案,以及適用於您環境的值。此範例使用名為 create-image-pipeline.json 的檔案:

    { "name": "MyWindows2019Pipeline", "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" }
    注意
    • 您必須在JSON檔案路徑的開頭包含 file:// 符號。

    • JSON 檔案的路徑應遵循執行命令之基礎作業系統的適當慣例。例如,Windows 會使用反斜線 (\) 來參照目錄路徑,而 Linux 會使用正斜線 (/)。

  2. 使用您建立做為輸入的檔案,執行下列命令。

    aws imagebuilder create-image-pipeline --cli-input-json file://create-image-pipeline.json