本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Image Builder 設定以建置自訂映像
使用 EC2 Image Builder 建置映像之前,請確認您符合下列先決條件來建立映像管道。除非另有說明,否則所有管道類型都需要這些先決條件。
符合先決條件之後,您可以從下列任一界面管理 EC2 Image Builder。
Image Builder 服務連結角色
EC2 Image Builder 使用服務連結角色代表您將許可授予其他 AWS 服務。您不需要手動建立一個服務連結角色。當您在 AWS 管理主控台、 AWS CLI或 AWS API 中建立第一個 Image Builder 資源時,Image Builder 會為您建立服務連結角色。如需 Image Builder 在帳戶中建立之服務連結角色的詳細資訊,請參閱 使用 Image Builder 的 IAM 服務連結角色。
組態需求
-
Image Builder 支援 AWS PrivateLink。如需為映像建置器設定 VPC 端點的詳細資訊,請參閱 Image Builder 和 AWS PrivateLink 介面 VPC 端點。
-
映像建置器用於建置容器映像的執行個體必須具備網際網路存取權,才能 AWS CLI 從 Amazon S3 下載 ,並在適用時從 Docker Hub 儲存庫下載基本映像。Image Builder 使用 從容器配方中 AWS CLI 取得 Dockerfile,該配方會存放為資料。
-
Image Builder 用來建置映像和執行測試的執行個體必須能夠存取 Systems Manager 服務。安裝需求取決於您的作業系統。
若要查看基礎映像的安裝需求,請選擇符合您基礎映像作業系統的標籤。
容器映像管道的容器儲存庫
對於容器映像管道,配方會定義在目標容器儲存庫中產生和存放的 Docker 映像組態。您必須先建立目標儲存庫,才能建立 Docker 映像的容器配方。
Image Builder 使用 Amazon ECR 做為容器映像的目標儲存庫。若要建立 Amazon ECR 儲存庫,請遵循 Amazon Elastic Container Registry 使用者指南中建立儲存庫中所述的步驟。
macOS 映像的專用主機
Amazon EC2 Mac 執行個體需要在金屬執行個體類型上執行的專用主機。建立自訂 macOS 映像之前,您必須將專用主機配置到您的帳戶。如需 Mac 執行個體的詳細資訊,以及原生支援 macOS 作業系統的執行個體類型清單,請參閱《Amazon EC2 使用者指南》中的 Amazon EC2 Mac 執行個體。 Amazon EC2
當您建立專用主機時,您可以在映像的基礎設施組態資源中設定設定。基礎設施組態包含置放屬性,您可以在其中指定主機、主機置放群組,或從映像啟動的執行個體應前往的可用區域。
IAM 先決條件
您與您的執行個體描述檔建立關聯的 IAM 角色必須具有許可,才能執行映像中包含的建置和測試元件。下列 IAM 角色政策必須連接至與執行個體設定檔相關聯的 IAM 角色:
-
AmazonSSMManagedInstanceCore
如果您設定記錄,基礎設施組態中指定的執行個體描述檔必須具有目標儲存貯體 () 的s3:PutObject
許可arn:aws:s3:::
。例如:BucketName
/*
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::
bucket-name
/*" } ] }
連接政策
下列步驟會引導您完成將 IAM 政策連接至 IAM 角色的程序,以授予上述許可。
-
登入 AWS 管理主控台,並在 https://https://console.aws.amazon.com/iam/
開啟 IAM 主控台。 -
在左側導覽窗格中選擇 Policies (政策)。
-
使用 篩選政策清單 EC2InstanceProfileForImageBuilder
-
選取政策旁的項目符號,然後從政策動作下拉式清單中選取連接。
-
選取要連接政策的 IAM 角色名稱。
-
選擇連接政策。
-
針對 EC2InstanceProfileForImageBuilderECRContainerBuilds和 AmazonSSMManagedInstanceCore 政策重複步驟 3-6。
注意
如果您想要將以 Image Builder 建立的映像複製到另一個帳戶,則必須在所有目標帳戶中建立EC2ImageBuilderDistributionCrossAccountRole
角色,並將Ec2ImageBuilderCrossAccountDistributionAccess 政策受管政策連接至角色。如需詳細資訊,請參閱與 共用映像建置器資源 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
將動作傳送至您的建置和測試執行個體。