

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

# 什麼是映像建置器？
<a name="what-is-image-builder"></a>

EC2 Image Builder 是全受管 AWS 服務 的，可協助您自動建立、管理和部署自訂、安全且up-to-date伺服器映像。您可以使用 AWS 管理主控台 AWS Command Line Interface或 APIs 在 中建立自訂映像 AWS 帳戶。

您擁有 Image Builder 在帳戶中建立的自訂映像。您可以設定管道，為您擁有的映像自動更新和系統修補。您也可以執行獨立命令，使用您定義的組態資源建立映像。

映像建置器管道精靈可以引導您完成建立自訂映像的步驟，如下所示：

## 步驟 1：指定管道詳細資訊
<a name="wiz-step1-specify-pipeline-details"></a>
+ 為您的管道命名並新增標籤。
+ 定義中繼資料和漏洞掃描設定。
+ 為您的管道設定排程。

## 步驟 2：自訂您的映像
<a name="wiz-step2-choose-recipe"></a>

您可以選取現有的配方或建立新的配方。
+ 為您的自訂選擇基礎映像。
+ 在基礎映像中新增或移除軟體。
+ 使用建置元件自訂設定和指令碼。
+ 選取要執行的測試元件。

## 步驟 3：定義您的工作流程
<a name="wiz-step3-define-workflow"></a>

映像工作流程會定義映像建置器在映像建立程序的建置和測試階段期間執行的步驟順序。這是整體映像建置器工作流程架構的一部分。

## 步驟 4：設定建置基礎設施
<a name="wiz-step4-define-infra"></a>
+ 選取要與映像建置器在映像建立程序期間啟動之執行個體的執行個體描述檔建立關聯的 IAM 角色。
+ 選取一或多個可在啟動時套用的執行個體類型。
+ 選取 Amazon Simple Notification Service (SNS) 主題以接收來自 Image Builder 的通知。
+ 指定適用於映像建立程序的 VPC、子網路和安全群組。
+ 選取故障診斷設定，例如 Image Builder 寫入日誌的位置，以及是否要在失敗時終止建置執行個體 （預設） 或讓它繼續執行以進行進一步故障診斷。

## 步驟 5：定義映像分佈
<a name="wiz-step5-distribution-settings"></a>
+ 選取 Image Builder 分發 Amazon Machine Image (AMI) 或容器映像 AWS 區域 的位置。
+ 如果您的 Image Builder 管道建立 AMI，Image Builder 也支援下列組態：
  + 選取要用於加密的 KMS 金鑰。
  + 設定跨 AWS 帳戶 和 Organizations 的 AMI 共用。
  + 將 License Manager 自我管理授權與分散式映像建立關聯。
  + 為您的映像設定啟動範本。

## 映像建置器的功能
<a name="image-builder-features"></a>

EC2 Image Builder 提供下列功能：

**提高生產力並減少建立合規和up-to-date映像的操作**

Image Builder 透過自動化建置管道，減少大規模建立和管理映像所涉及的工作量。您可以透過提供建置執行排程偏好設定來自動化建置。自動化可降低使用最新的作業系統修補程式維護軟體的操作成本。

**增加服務運作時間**

Image Builder 提供測試元件的存取權，您可以在部署之前用來測試映像。您也可以使用 AWS 任務協調器和執行器 (AWS TOE) 建立自訂測試元件，並使用它們。映像建置器只會在所有設定的測試都成功時分發映像。

**提高部署的安全列**

Image Builder 可讓您建立映像，消除不必要的元件安全漏洞暴露。您可以套用 AWS 安全設定來建立符合產業和內部安全標準的安全out-of-the-box映像。Image Builder 也為受監管產業的公司提供設定集合。您可以使用這些設定來協助您快速輕鬆地為 STIG 標準建置合規映像。如需可透過 Image Builder 取得的 STIG 元件完整清單，請參閱 [Image Builder 的 Amazon 受管 STIG 強化元件](ib-stig.md)。

**集中式強制執行和歷程追蹤**

Image Builder 使用內建整合與 AWS Organizations，可讓您強制執行政策，限制帳戶只能從核准的 AMIs 執行執行個體。

**簡化跨 共用資源 AWS 帳戶**

EC2 Image Builder 與 AWS Resource Access Manager (AWS RAM) 整合，可讓您與任何 AWS 帳戶 或透過 共用特定資源 AWS Organizations。可以共用的 EC2 Image Builder 資源包括：
+ 元件
+ 映像
+ 映像配方
+ 容器配方

如需詳細資訊，請參閱[與 共用映像建置器資源 AWS RAM](manage-shared-resources.md)。

## 支援的作業系統
<a name="image-builder-os"></a>

Image Builder 支援下列作業系統版本：


| 作業系統/分發 | 支援的版本 | 
| --- | --- | 
| Amazon Linux | 2 和 2023 | 
| CentOS | 7 和 8 | 
| CentOS Stream | 8 | 
| macOS | 12.x (Monterey)、13.x (Ventura)、14.x (Sonoma)、15.x (Sequoia)、26.x (Tahoe) | 
| Red Hat Enterprise Linux (RHEL) | 7、8、9 和 10 | 
| SUSE Linux Enterprise Server (SUSE) | 12、15 和 16 | 
| Ubuntu | 18.04 LTS、20.04 LTS、22.04 LTS 和 24.04 LTS | 
| Windows Server | 2012 R2、2016、2019、2022 和 2025 | 

## 支援的影像格式
<a name="image-builder-image-formats"></a>

對於建立 Amazon Machine Image (AMI) 的自訂映像，您可以選擇現有的 AMI 做為起點。對於 Docker 容器映像，您可以選擇託管在 DockerHub 上的公有映像、Amazon ECR 中的現有容器映像，或 Amazon 受管容器映像作為起點。

## 預設配額
<a name="image-builder-default-limits"></a>

若要檢視映像建置器的預設配額，請參閱[映像建置器端點和配額](https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html)。

## AWS 區域和端點
<a name="image-builder-regions"></a>

若要檢視映像建置器的服務端點，請參閱[映像建置器端點和配額](https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html)。

## 概念
<a name="image-builder-concepts"></a>

下列術語和概念是了解和使用 EC2 Image Builder 的核心。

**AMI**  
Amazon Machine Image (AMI) 是 Amazon EC2 中部署的基本單位，也是您可以使用 Image Builder 建立的映像類型之一。AMI 是預先設定的虛擬機器映像，其中包含作業系統 (OS) 和預先安裝的軟體來部署 EC2 執行個體。如需詳細資訊，請參閱 [Amazon Machine Image (AMI)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html)。

**映像管道**  
映像管道提供自動化架構，用於建置安全的 AMIs和容器映像 AWS。映像建置器映像管道與映像配方或容器配方相關聯，該配方定義映像建置生命週期的建置、驗證和測試階段。

映像管線可以與定義映像建置位置的基礎架構組態相關聯。您可以定義屬性，例如執行個體類型、子網路、安全性群組、記錄以及其他與基礎架構相關的組態。您也可以將映像管線與分佈組態建立關聯，以定義您要如何部署映像。

**受管映像**  
受管映像是映像建置器中的資源，其中包含 AMI 或容器映像，以及中繼資料，例如版本和平台。Image Builder 管道會使用受管映像來判斷要用於建置的基本映像。在本指南中，受管映像有時稱為「映像」，不過，映像與 AMI 不同。

**映像配方**  
Image Builder 映像配方是一個文件，用於定義基礎映像與要套用至基礎映像的元件，以便產生輸出 AMI 映像所需的組態。您可以使用映像配方來複製建構。您可以使用主控台精靈、 或 API 來共用 AWS CLI、分支和編輯映像建置器映像配方。您可以將映像配方與版本控制軟體搭配使用，以維護可共用的版本控制映像配方。

**容器配方**  
Image Builder 容器配方是一種文件，可定義基礎映像和套用至基礎映像的元件，以產生輸出容器映像所需的組態。您可以使用容器配方來複製組建。您可以使用主控台精靈、 或 API 來共用 AWS CLI、分支和編輯映像建置器映像配方。您可以將容器配方與版本控制軟體搭配使用，以維護可共用、版本控制的容器配方。

**基礎映像**  
基礎映像是影像或容器配方文件中所使用的所選映像和作業系統，以及元件。基礎映像和元件定義組合會產生輸出映像所需的組態。

**元件**  
元件會定義在建立映像之前自訂執行個體 (**建置元件**) 或從建立的映像 (**測試元件**) 啟動的執行個體所需的步驟順序。

元件是從宣告式、純文字 YAML 或 JSON 文件建立的，描述建置和驗證的執行期組態，或測試管道產生的執行個體。使用元件管理應用程式在執行個體上執行的元件。元件管理應用程式會剖析文件並執行所需的步驟。

建立一或多個元件之後，會使用映像配方或容器配方將一或多個元件分組在一起，以定義建置和測試虛擬機器或容器映像的計劃。您可以使用由 擁有和管理的公有元件 AWS，也可以建立自己的元件。如需元件的詳細資訊，請參閱 [Image Builder 如何使用 AWS 任務協調器和執行器 應用程式來管理元件](toe-component-manager.md)。

**元件文件**  
宣告式純文字 YAML 或 JSON 文件，描述您可以套用至映像的自訂組態。文件用於建立組建或測試元件。

**執行階段**  
EC2 Image Builder 有兩個執行階段：**建置**和**測試**。每個執行階段都有一或多個階段，其中包含元件文件定義的組態。

**組態階段**  
下列清單顯示**建置**和**測試**階段期間執行的階段：*建置階段：*

組建階段  
映像管道會在執行時從建置階段的建置階段開始。會下載基礎映像，並套用元件建置階段指定的組態來建置和啟動執行個體。

驗證階段  
Image Builder 啟動執行個體並套用所有建置階段自訂後，驗證階段就會開始。在此階段，Image Builder 會根據元件為驗證階段指定的組態，確保所有自訂功能如預期般運作。如果執行個體驗證成功，Image Builder 會停止執行個體、建立映像，然後繼續測試階段。*測試階段：*

測試階段  
在此階段，Image Builder 會從驗證階段成功完成後建立的映像啟動執行個體。Image Builder 在此階段執行測試元件，以確認執行個體運作狀態良好且如預期運作。

容器主機測試階段  
映像建置器針對您在容器配方中選取的所有元件執行測試階段後，映像建置器會針對容器工作流程執行此階段。容器主機測試階段可以執行其他測試，以驗證容器管理和自訂執行時間組態。

**工作流程**  
工作流程會定義映像建置器在建立新映像時執行的步驟順序。所有映像都有建置、測試和分發工作流程。*工作流程類型*

`BUILD`  
涵蓋每個建立映像的建置階段組態。

`TEST`  
涵蓋每個建立影像的測試階段組態。

`DISTRIBUTION`  
涵蓋每個建立之映像的分佈階段組態。

## 定價
<a name="image-builder-pricing"></a>

使用 EC2 Image Builder 建立自訂 AMI 或容器映像無需付費。不過，標準定價適用於程序中所使用的其他服務。下列清單包含一些 的使用 AWS 服務 方式，這些使用方式可能會在您建立、建置、存放和分發自訂 AMI 或容器映像時產生成本，視您的組態而定。
+ 啟動 EC2 執行個體
+ 在 Amazon S3 上儲存日誌
+ 使用 Amazon Inspector 驗證映像
+ 儲存 AMIs 的 Amazon EBS 快照
+ 在 Amazon ECR 中存放容器映像
+ 推送和提取 Amazon ECR 中的容器映像
+ 如果 Systems Manager 進階方案已開啟，且 Amazon EC2 執行個體在內部部署啟用時執行，您可能需要透過 Systems Manager 支付資源費用

## 相關 AWS 服務
<a name="image-builder-related-services"></a>

EC2 Image Builder 會根據您的映像建置器配方組態，使用其他 AWS 服務 來建置映像。如需自訂映像的產品和服務整合的詳細資訊，請參閱 [整合 Image Builder 中的產品和服務](integrate-products-services.md)。