View a markdown version of this page

在映像建置器中管理配方 - EC2 Image Builder

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

在映像建置器中管理配方

EC2 Image Builder 配方是建立自訂機器映像的藍圖。配方會指定三個關鍵元素:

  1. 基礎映像 – 映像的起點 (AMI、容器映像或匯入的 VM)。

  2. 元件 – 自訂映像的建置和測試步驟。元件是選用的。此設計支援測試和僅限分佈的工作流程。

  3. 組態 – 儲存磁碟區、執行個體設定、工作目錄和其他建置時間參數。

Image Builder 支援兩種類型的配方:

  • 映像配方會產生可用於啟動 Amazon EC2 執行個體的 Amazon Machine Image (AMIs)。

  • 容器配方會產生存放在 Amazon ECR 儲存庫中的Docker容器映像。

配方不可變。建立配方後,您無法修改或取代配方。若要更新元件或任何其他組態,您必須建立新的配方或配方版本。Image Builder 會保留所有先前的版本。這可讓您將影像譜系追蹤回產生每個輸出的確切配方。您可以隨時將標籤套用至現有的配方。如需在 中使用映像建置器命令標記資源的詳細資訊 AWS CLI,請參閱本指南的 標籤資源一節。

提示

您可以在配方中使用 Amazon 受管元件,也可以開發自己的自訂元件。如需詳細資訊,請參閱為您的映像建置器映像開發自訂元件。對於建立輸出 AMIs的映像配方,您也可以使用 AWS Marketplace 映像產品和元件。如需與 AWS Marketplace 產品整合的詳細資訊,請參閱 AWS Marketplace Image Builder 中的 整合

使用本節中的主題來管理您的 EC2 Image Builder 配方,包括列出現有配方、檢視其詳細資訊,以及建立新的配方版本。

與容器配方相比的影像配方

下表比較映像配方和容器配方的功能。

功能 映像配方 容器配方
Output AMI Docker Amazon ECR 中的容器映像
基礎映像來源 AMI ID、映像建置器映像 ARN、SSM 參數、 AWS Marketplace 產品 Docker Hub 映像、Amazon ECR 映像、Amazon 受管映像、映像建置器映像 ARN
Dockerfile 不適用 必要 (範本與內容變數)
目標儲存庫 不適用 Amazon ECR (必要)
儲存組態 輸出 AMI 的區塊型設備映射 組建執行個體的區塊型設備映射
使用者資料 支援 (覆寫預設 cloud-init) 配方層級不支援
Systems Manager 代理程式控制 可設定 (建置後解除安裝) 無法設定
AWS Marketplace 元件 支援 不支援
平台覆寫 不適用 (從 AMI 偵測到) 適用於 Amazon ECR 和Docker Hub映像

配方版本控制

每個配方都使用語意版本控制,格式為 <major>.<minor>.<patch>。每個版本節點接受從 0 到 1,073,741,823 (2^30 - 1) 的值。

您可以在一個位置使用萬用字元 (x) 來啟用自動版本增量。當您使用萬用字元版本建立配方時,Image Builder 會將 取代x為該位置的下一個可用號碼。

模式 Behavior (行為) 範例序列
1.0.x 遞增修補程式編號 1.0.1、1.0.2、1.0.3、...
1.x.0 遞增次要數字 1.1.0、1.2.0、1.3.0、...
x.0.0 遞增主要數字 1.0.0、2.0.0、3.0.0、...

下列規則適用於萬用字元版本:

  • 每個版本字串只允許一個x萬用字元。

  • 萬用字元可以出現在任何單一位置 (主要、次要或修補程式)。

  • 其餘位置的數值必須是明確的整數。

提示

在 CI/CD 自動化中使用萬用字元版本,這樣您就不必手動追蹤和遞增配方版本。每次使用相同的萬用字元建立配方時,Image Builder 都會解析下一個可用的版本。例如,一律使用 的配方會1.0.x解析為 1.0.1、然後 1.0.2等。若要進一步了解 Image Builder 資源的語意版本控制,請參閱 Image Builder 中的語意版本控制

配方限制條件和限制

建立配方之前,請檢閱下列限制條件。

限制條件 限制 備註
每個配方的元件 20 (預設) 包括建置和測試元件。您可以透過 請求增加 AWS 支援。
配方大小上限 25 KB 所有元件組態的累積大小,包括參數值。
每個輸出映像的產品代碼 9 從基礎映像和 AWS Marketplace 元件合併。
元件唯一性 每個配方一個 相同的元件 (無論版本為何) 只能出現一次。
版本節點上限 1,073,741,823 每個節點 (主要、次要或修補程式)。
配方名稱 無法變更 名稱會在建立後修正。為不同的名稱建立新的配方。

元件也必須符合下列相容性要求:

  • 元件必須符合配方的平台 (Linux、Windows 或 macOS)。

  • 當作業系統版本中繼資料可用時,元件必須支援父系映像的作業系統版本。

  • 具有 DEPRECATEDDISABLED 狀態的元件無法新增至新配方。

  • CIS 強化元件需要 CIS 發佈的父映像。

清除資源

為了避免意外費用,請務必清除您從本指南中的範例建立的資源和管道。如需在映像建置器中刪除資源的詳細資訊,請參閱 刪除過期或未使用的映像建置器資源