EC2 Image Builder 的運作方式 - EC2 Image Builder

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

EC2 Image Builder 的運作方式

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

  1. 指定管線詳細資訊 — 輸入管道的相關資訊,例如名稱、說明、標籤和排程以執行自動化組建。如果您願意,您可以選擇手動構建。

  2. 選擇配方 — 選擇建立 AMI 或建立容器映像檔。對於這兩種類型的輸出影像,您可以為方案輸入名稱和版本,選取基本映像,然後選擇要新增的元件以進行建置和測試。您也可以選擇自動版本控制,以確保您永遠針對基本映像使用最新可用的作業系統 (OS) 版本。容器配方另外定義碼頭檔案,以及輸出 Docker 容器映像檔的目標 Amazon ECR 儲存庫。

    注意

    元件是由映像配方或容器配方所使用的建置區塊。例如,用於安裝的套件、安全性強化步驟和測試。選取的基本影像和元件會構成影像配方。

  3. 定義基礎設施組態 — Image Builder 會啟動帳戶中的 EC2 執行個體,以自訂映像並執行驗證測試。基礎結構組態設定會指定建置程序 AWS 帳戶 期間將在您的執行個體中執行的基礎結構詳細資料。

  4. 定義發佈設定 — 在建置完成並通過所有測試之後,選擇要散發映像檔的目標 AWS 區域。管線會自動將映像分發到執行組建的區域,您可以為其他區域新增映像分發。

您從自定義基本映像構建的圖像位於您的 AWS 帳戶. 您可以透過輸入建置排程來設定映像管道,以產生映像檔的更新和修補版本。建置完成後,您可以透過 Amazon 簡易通知服務 (SNS) 收到通知。除了產生最終映像之外,Image Builder 主控台精靈還會產生配方,可與現有版本控制系統和持續整合/持續部署 (CI/CD) 管道搭配使用,以實現可重複自動化。您可以共享和創建新版本的食譜。

AMI 元素

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

AMI 包括以下元素:

  • 虛擬機器根磁碟區的範本。當您啟動 Amazon EC2 虛擬機器時,根裝置磁碟區會包含用於啟動執行個體的映像檔。使用執行個體存放區時,根裝置是從 Amazon S3 中的範本建立的執行個體存放區磁碟區。如需詳細資訊,請參閱 Amazon EC2 根裝置磁碟區

  • 使用 Amazon EBS 時,根裝置是從 EBS 快照建立的 EBS 磁碟區。

  • 啟動權限,以決定可以 AWS 帳戶 使用 AMI 啟動虛擬機器的權限。

  • 塊裝置對應資料,指定啟動後要連接至執行個體的磁碟區。

  • 每個帳號之每個區域的唯一資源識別碼

  • 中繼資料承載,例如標籤和內容,例如區域、作業系統、架構、根裝置類型、提供者、啟動權限、根裝置的儲存空間以及簽署狀態。

  • 適用於 Windows 映像檔的 AMI 簽章,可防止未經授權的竄改。如需詳細資訊,請參閱執行個體識別文件

預設配額

若要檢視 Image Builder 的預設配額,請參閱 Image Builder 端點和配額

AWS 區域和端點

若要檢視 Image Builder 的服務端點,請參閱 Image Builder 端點和配額

元件管理

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

Image Builder 用 AWS TOE 來執行所有執行個體活動。其中包括在拍攝快照之前建立和驗證映像,以及在建立最終映像之前測試快照以確保快照能如預期般運作。如需 Image Builder 如何用 AWS TOE 來管理其元件的詳細資訊,請參閱〈〉使用組件自定義 Image Builder 映像。如需使用建立元件的更多資訊 AWS TOE,請參閱Image Builder 如何使用應用 AWS 任務協調器和執行器 程式來管理元件

影像測試

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

通常,每個測試組件都包含一個 YAML 文檔,其中包含測試腳本,測試二進製文件和測試元數據。測試腳本包含用於啟動測試二進製文件的協調流程命令,可以使用操作系統支持的任何語言編寫。退出狀態代碼表示測試結果。測試元數據描述測試及其行為;例如,名稱,描述,測試二進製文件的路徑以及預期的持續時間。

建立的資源

建立管線時,除非符合下列條件,否則不會建立 Image Builder 外部的資源:

  • 透過管線排程建立影像時

  • 當您從 Image Builder 主控台的「動」功能表中選擇「執行管線」時

  • 當您從 API 或 AWS CLI:或執行下列任一指令StartImagePipelineExecutionCreateImage

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

AMI 圖像管道
  • EC2 執行個體 (暫時性)

  • EC2 執行個體上的系統管理員庫存關聯 (透過系統管理員狀態管理員,如果EnhancedImageMetadata已啟用)

  • Amazon EC2

  • 與 Amazon EC2 AMI 關聯的亞馬遜 EBS 快照

容器映像管道
  • 在 EC2 實例上運行的碼頭容器(臨時

  • EC2 實例上的 Systems Manager 理器庫存關聯(通過系統管理器狀態管理器)EnhancedImageMetadata已啟用)

  • Docker 容器映像

  • Dockerfile

建立映像後,會刪除所有暫存資源。

發佈

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

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

您也可以使用您的 AWS Organizations 帳戶強制執行成員帳戶的限制,以便僅透過已核准且符合規範的 AMI 啟動執行個體。如需詳細資訊,請參閱AWS 帳戶 在組織中管理

若要使用 Image Builder 主控台更新發佈設定,請依照上述步驟執行從主控台建立新的映像配方版本,或使用主控台建立新的容器配方版本

分享資源

若要與其他帳戶或內部帳戶共用元件、配方或影像 AWS Organizations,請參閱共用 EC2 Image Builder 資源

合規

對於網際網路安全中心 (CIS) 基準測試,EC2 Image Builder 使用 Amazon Inspector 針對曝光、弱點和最佳實務和合規標準的偏差執行評估。例如,Image Builder 會評估非預期的網路可存取性、未修補的 CVE、公用網際網路連線,以及遠端根登入啟用。Amazon Inspector 是以測試元件的形式提供,您可以選擇將其新增至映像配方。有關 Amazon Inspector 查器的更多信息,請參閱 Amazon Inspector 用戶指南。 。如需詳細資訊,請參閱網際網路安全中心 (CIS) 基準測試

Image Builder 提供 STIG 強化元件,協助您更有效率地建置符合 STIG 基準標準的相容映像。這些 STIG 元件會掃描設定錯誤並執行修復指令碼。使用符合 STIG 標準的元件不收取額外費用。如需可透過 Image Builder 取得之 STIG 元件的完整清單,請參閱適用於 EC2 Image Builder 的 Amazon 受管 STIG 強化元件