本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
準備使用 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 服務的存取權。安裝需求取決於您的作業系統。
若要查看基本映像的安裝需求,請選擇符合您基本映像作業系統的索引標籤。
容器映像管道的容器儲存庫
對於容器映像管道,配方會定義在目標容器儲存庫中產生和存放的 Docker 映像組態。您必須先建立目標儲存庫,才能為 Docker 映像建立容器配方。
Image Builder 使用 Amazon ECR作為容器映像的目標儲存庫。若要建立 Amazon ECR儲存庫,請遵循 Amazon Elastic Container Registry 使用者指南 中的建立儲存庫中所述的步驟。
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 管理主控台,並在 開啟IAM主控台https://console.aws.amazon.com/iam/
。 -
在左側導覽窗格中選擇 Policies (政策)。
-
使用 篩選政策清單 EC2InstanceProfileForImageBuilder
-
選取政策旁的項目符號,然後從政策動作下拉式清單中選取連接 。
-
選取要連接政策IAM的角色名稱。
-
選擇連接政策。
-
針對 重複步驟 3-6 EC2InstanceProfileForImageBuilderECRContainerBuilds 和 mazonSSMManagedInstanceCore政策。
注意
如果您想要將以 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
將動作傳送至建置和測試執行個體。