

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

# EC2 Image Builder 的運作方式
<a name="how-image-builder-works"></a>

當您使用 EC2 Image Builder 主控台建立自訂映像管道時，系統會引導您完成下列步驟。

1. **指定管道詳細資訊** – 輸入管道的相關資訊，例如名稱、描述、標籤，以及執行自動化建置的排程。如果您願意，可以選擇手動建置。

1. **選擇配方** – 選擇建置 AMI 或建置容器映像。對於這兩種類型的輸出映像，您可以輸入配方的名稱和版本、選取基礎映像，然後選擇要新增的元件以進行建置和測試。您也可以選擇自動版本控制，以確保您一律為基礎映像使用最新的可用作業系統 (OS) 版本。容器配方還會定義 Dockerfile，以及輸出 Docker 容器映像的目標 Amazon ECR 儲存庫。
**注意**  
元件是映像配方或容器配方所使用的建置區塊。例如，安裝、安全強化步驟和測試的套件。選取的基礎映像和元件組成映像配方。

1. **定義基礎設施組態** – Image Builder 會在您的帳戶中啟動 EC2 執行個體，以自訂映像並執行驗證測試。基礎設施組態設定會為將在建置程序 AWS 帳戶 期間於 中執行的執行個體指定基礎設施詳細資訊。

1. **定義分佈設定** – 在建置完成並通過其所有測試後，選擇要將映像分佈到 AWS 的區域。管道會自動將映像分佈到其執行建置的區域，而且您可以為其他區域新增映像分佈。

您從自訂基礎映像建置的映像位於 中 AWS 帳戶。您可以輸入建置排程，將映像管道設定為產生映像的更新和修補版本。當建置完成時，您可以透過 [Amazon Simple Notification Service (SNS) 接收通知](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)。除了產生最終映像之外，Image Builder 主控台精靈還會產生配方，可與現有的版本控制系統和持續整合/持續部署 (CI/CD) 管道搭配使用，以進行可重複的自動化。您可以共用和建立新的配方版本。

**Topics**
+ [

## AMI 元素
](#ami-image-elements)
+ [

## 元件管理
](#ibhow-component-management)
+ [

## 已建立資源
](#image-builder-resources)
+ [

## 發佈
](#image-builder-distribution)
+ [

## 共用資源
](#ibhow-sharing)
+ [

## 合規
](#ibhow-compliance)

## AMI 元素
<a name="ami-image-elements"></a>

Amazon Machine Image (AMI) 是預先設定的虛擬機器 (VM) 映像，其中包含部署 EC2 執行個體的作業系統和軟體。

AMI 包含下列元素：
+ VM 根磁碟區的範本。當您啟動 Amazon EC2 VM 時，根裝置磁碟區包含用來啟動執行個體的映像。使用執行個體存放區時，根裝置是從 Amazon S3 中的範本建立的執行個體存放區磁碟區。如需詳細資訊，請參閱 [Amazon EC2 根裝置磁碟區](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/RootDeviceStorage.html)。
+ 使用 Amazon EBS 時，根裝置是從 EBS [快照建立的 EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-snapshots.html) 磁碟區。
+ 使用 AMI 啟動 AWS 帳戶 VMs 的啟動許可。
+ [封鎖裝置映射](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html)資料，指定啟動後要連接至執行個體的磁碟區。
+ 每個帳戶每個區域的唯一[資源識別符](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)。
+ [中繼資料](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)承載，例如標籤和屬性，例如區域、作業系統、架構、根設備類型、提供者、啟動許可、根設備的儲存體和簽署狀態。
+ Windows 映像的 AMI 簽章，可防止未經授權的竄改。如需詳細資訊，請參閱[執行個體身分文件](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/instance-identity-documents.html)。

## 元件管理
<a name="ibhow-component-management"></a>

EC2 Image Builder 使用元件管理應用程式 AWS 任務協調器和執行器 (AWS TOE)，協助您協調複雜的工作流程、修改系統組態，以及使用 YAML 型指令碼元件測試您的系統。由於 AWS TOE 是獨立應用程式，因此不需要任何額外的設定。它可以在任何雲端基礎設施和內部部署上執行。若要開始使用 AWS TOE 做為獨立應用程式，請參閱 [手動設定以使用 開發自訂元件 AWS TOE](toe-get-started.md)。

Image Builder 使用 AWS TOE 執行所有執行個體活動。這包括在拍攝快照之前建置和驗證映像，以及在建立最終映像之前測試快照以確保其如預期般運作。如需 Image Builder 如何使用 AWS TOE 來管理其元件的詳細資訊，請參閱 [使用元件來自訂映像建置器映像](manage-components.md)。如需使用 建立元件的詳細資訊 AWS TOE，請參閱 [Image Builder 如何使用 AWS 任務協調器和執行器 應用程式來管理元件](toe-component-manager.md)。

### 影像測試
<a name="ibhow-testing"></a>

您可以使用 AWS TOE 測試元件來驗證映像，並確保它在建立最終映像之前如預期般運作。

一般而言，每個測試元件都包含 YAML 文件，其中包含測試指令碼、測試二進位檔和測試中繼資料。測試指令碼包含啟動測試二進位檔的協同運作命令，可使用作業系統支援的任何語言撰寫。結束狀態碼表示測試結果。測試中繼資料描述測試及其行為；例如，名稱、描述、測試二進位檔的路徑和預期持續時間。

## 已建立資源
<a name="image-builder-resources"></a>

建立管道時，除非符合下列條件，否則不會建立映像建置器外部的資源：
+ 透過管道排程建立映像時
+ 當您從映像建置器主控台的動作****選單中選擇**執行管道**時
+ 當您從 API 或 執行其中一個命令時 AWS CLI： **StartImagePipelineExecution** 或 **CreateImage**

下列資源會在映像建置程序期間建立：

**AMI 映像管道**
+ EC2 執行個體 *（暫時*)
+ EC2 執行個體上的 Systems Manager 庫存關聯 （如果已啟用`EnhancedImageMetadata`，則透過 Systems Manager 狀態管理員）
+ Amazon EC2 AMI
+ 與 Amazon EC2 AMI 相關聯的 Amazon EBS 快照

**容器映像管道**
+ 在 EC2 執行個體上執行的 Docker 容器 (*暫時*)
+ EC2 執行個體上的 Systems Manager 庫存關聯 `EnhancedImageMetadata` （透過 Systems Manager 狀態管理員） 已啟用）
+ Docker 容器映像
+ Dockerfile

建立映像之後，會刪除所有臨時資源。

## 發佈
<a name="image-builder-distribution"></a>

EC2 Image Builder 可以將 AMIs或容器映像分發到任何 AWS 區域。映像會複製到您在用於建置映像的帳戶中指定的每個區域。

對於 AMI 輸出映像，您可以定義 AMI 啟動許可，以控制 AWS 帳戶 哪些允許使用建立的 AMI 啟動 EC2 執行個體。例如，您可以將映像設為私有、公有，或與特定帳戶共用。如果您同時將 AMI 分發到其他區域，並定義其他帳戶的啟動許可，則啟動許可會傳播到分發 AMIs 的所有區域中的 AMI。

您也可以使用 AWS Organizations 帳戶對成員帳戶強制執行限制，只使用已核准且合規AMIs 啟動執行個體。如需詳細資訊，請參閱[管理組織中 AWS 帳戶 的 ](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html)。

若要使用 Image Builder 主控台更新您的分佈設定，請遵循步驟至 [從主控台建立新的映像配方版本](create-image-recipes.md#create-image-recipe-version-console)、 或 [使用主控台建立新的容器配方版本](create-container-recipes.md#create-container-recipe-version)。

## 共用資源
<a name="ibhow-sharing"></a>

若要與其他帳戶或內部共用元件、配方或映像 AWS Organizations，請參閱 [與 共用映像建置器資源 AWS RAM](manage-shared-resources.md)。

## 合規
<a name="ibhow-compliance"></a>

對於網際網路安全中心 (CIS) 基準，EC2 Image Builder 使用 Amazon Inspector 執行暴露、漏洞和偏離最佳實務和合規標準的評估。例如，Image Builder 會評估意外的網路可存取性、未修補CVEs、公有網際網路連線和遠端根登入啟用。Amazon Inspector 是以測試元件的形式提供，您可以選擇將其新增至映像配方。如需 Amazon Inspector 的詳細資訊，請參閱*《[Amazon Inspector](https://docs.aws.amazon.com/inspector/v1/userguide/inspector_introduction.html) 使用者指南*》。如需詳細資訊，請參閱[網際網路安全中心 (CIS) 基準](https://docs.aws.amazon.com/inspector/latest/userguide/inspector_cis.html)。

Image Builder 提供 STIG 強化元件，協助您更有效率地建置適用於基準 STIG 標準的合規映像。這些 STIG 元件會掃描組態錯誤，並執行修復指令碼。使用 STIG 相容元件無需額外付費。如需可透過 Image Builder 取得的 STIG 元件完整清單，請參閱 [Image Builder 的 Amazon 受管 STIG 強化元件](ib-stig.md)。