準備使用 Image Builder 建置自訂映像 - EC2 映像建置器

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

準備使用 Image Builder 建置自訂映像

使用 EC2 Image Builder 建置映像之前,請確認您符合下列先決條件,以建立映像管道。除非另有說明,否則所有類型的管道都需要這些先決條件。

符合先決條件後,您可以從下列任一介面管理 EC2 Image Builder。

Image Builder 服務連結角色

EC2 Image Builder 使用服務連結角色代表您將許可授予其他 AWS 服務。您不需要手動建立一個服務連結角色。當您在 AWS 管理主控台、 AWS CLI或 中建立第一個 Image Builder 資源時 AWS API,Image Builder 會為您建立服務連結角色。如需 Image Builder 在帳戶中建立之服務連結角色的詳細資訊,請參閱 使用 Image Builder IAM的服務連結角色

組態需求

  • Image Builder 支援 AWS PrivateLink。如需設定 Image Builder VPC端點的詳細資訊,請參閱 Image Builder 和 AWS PrivateLink 介面VPC端點

  • Image Builder 用於建置容器映像的執行個體必須具有網際網路存取權,才能 AWS CLI 從 Amazon S3 下載 ,並在適用的情況下從 Docker Hub 儲存庫下載基本映像。Image Builder 使用 從容器配方 AWS CLI 取得 Dockerfile,該配方會儲存為資料。

  • Image Builder 用於建置映像和執行測試的執行個體必須具有 Systems Manager 服務的存取權。安裝需求取決於您的作業系統。

    若要查看基本映像的安裝需求,請選擇符合您基本映像作業系統的索引標籤。

    Linux

    對於 Amazon EC2 Linux 執行個體,如果 Systems Manager 代理程式尚未存在,Image Builder 會在建置執行個體上安裝 Systems Manager 代理程式,並在建立映像之前將其移除。

    Windows

    Image Builder 不會在 Amazon EC2 Windows Server 建置執行個體上安裝 Systems Manager Agent。如果您的基礎映像未預先安裝 Systems Manager 代理程式,您必須從來源映像啟動執行個體,在執行個體上手動安裝 Systems Manager,並從執行個體建立新的基礎映像。

    若要在 Amazon EC2 Windows Server 執行個體上手動安裝 Systems Manager 代理程式,請參閱 AWS Systems Manager 使用者指南 中的在 Windows Server EC2執行個體上手動安裝 Systems Manager 代理程式

容器映像管道的容器儲存庫

對於容器映像管道,配方會定義在目標容器儲存庫中產生和存放的 Docker 映像組態。您必須先建立目標儲存庫,才能為 Docker 映像建立容器配方。

Image Builder 使用 Amazon ECR作為容器映像的目標儲存庫。若要建立 Amazon ECR儲存庫,請遵循 Amazon Elastic Container Registry 使用者指南 中的建立儲存庫中所述的步驟。

IAM 先決條件

您與您的執行個體設定檔相關聯的IAM角色必須具有執行映像中包含的建置和測試元件的許可。下列IAM角色政策必須連接至與執行個體設定檔相關聯的IAM角色:

如果您設定記錄,基礎設施組態中指定的執行個體設定檔必須具有目標儲存貯體 () 的s3:PutObject許可arn:aws:s3:::BucketName/*。例如:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket-name/*" } ] }
連接政策

下列步驟會引導您完成將IAM政策連接至IAM角色的程序,以授予上述許可。

  1. 登入 AWS 管理主控台,並在 開啟IAM主控台https://console.aws.amazon.com/iam/

  2. 在左側導覽窗格中選擇 Policies (政策)。

  3. 使用 篩選政策清單 EC2InstanceProfileForImageBuilder

  4. 選取政策旁的項目符號,然後從政策動作下拉式清單中選取連接

  5. 選取要連接政策IAM的角色名稱。

  6. 選擇連接政策

  7. 針對 重複步驟 3-6 EC2InstanceProfileForImageBuilderECRContainerBuildsmazonSSMManagedInstanceCore政策。

注意

如果您想要將以 Image Builder 建立的影像複製到另一個帳戶,則必須在所有目標帳戶中建立EC2ImageBuilderDistributionCrossAccountRole角色,並將Ec2ImageBuilderCrossAccountDistributionAccess 政策受管政策連接至角色。如需詳細資訊,請參閱與 共用 Image Builder 資源 AWS RAM

Systems Manager Agent 先決條件

EC2 Image Builder 會在啟動的EC2執行個體上執行 AWS Systems Manager (Systems Manager) Agent,以建置和測試映像。Image Builder 會收集有關 Systems Manager 庫存 建置階段期間所用執行個體的其他資訊。此資訊包括作業系統 (OS) 名稱和版本,以及您的作業系統報告的套件清單及其個別版本。

若要選擇不收集此資訊,請選取符合您偏好環境的方法:

  • Image Builder 主控台 – 取消選取啟用增強型中繼資料收集核取方塊。

  • AWS CLI – 指定 --no-enhanced-image-metadata-enabled選項

  • Image Builder API或 SDKs – 將 enhancedImageMetadataEnabled 參數設定為 false

Image Builder 使用 RunCommand 將動作傳送至您的建置和測試執行個體,作為映像建置和測試工作流程的一部分。您無法選擇不使用 RunCommand將動作傳送至建置和測試執行個體。