View a markdown version of this page

使用映像建置器匯入已驗證的 Windows ISO 磁碟映像 - EC2 Image Builder

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

使用映像建置器匯入已驗證的 Windows ISO 磁碟映像

Windows 作業系統 ISO 檔案是一種磁碟映像檔案,其中包含特定版本 Windows 作業系統的完整安裝套件。Microsoft 會直接從其網站或透過授權經銷商提供官方 Windows 作業系統 ISO 檔案以供下載。為了避免潛在的惡意軟體或未經授權的版本,請從信任且合法的來源取得 ISO 檔案。

EC2 Image Builder 使用build-image-from-iso匯入工作流程匯入 ISO 磁碟檔案,並從中建立次要磁碟區。組態完成後,Image Builder 會擷取從匯入建立之磁碟區的快照,並使用它來建立 Amazon Machine Image (AMI)。

ISO 磁碟映像匯入的安全考量

您提供的 ISO 磁碟映像會提供輸出 AMI 的作業系統。在匯入期間,Image Builder 會掛載 ISO 並套用其包含的 Windows 映像。

匯入程序會執行從 ISO 和套用的 Windows 映像解析的可執行檔。這些可執行檔會在您為匯入指定的基礎設施組態的執行個體描述檔角色下,使用建置執行個體上的 SYSTEM 權限執行。

由於 ISO 提供作業系統,因此取得真實媒體是您的責任。來自不受信任來源的 ISO 可能會影響輸出 AMI 以及您從中啟動的任何執行個體。從 Microsoft 或授權經銷商取得 ISO 檔案。

針對基礎設施組態啟動匯入的許可,包括在該組態的執行個體描述檔角色下執行的能力。Image Builder 會在您建立基礎設施組態iam:PassRole時進行評估,而不是在您開始匯入時進行評估。我們建議您授予許可,以僅開始匯入您信任的執行個體描述檔角色的主體。

如需詳細資訊,請參閱Image Builder 中的資料保護和 AWS 共同責任模型。

ISO 磁碟映像匯入支援的作業系統

Image Builder 支援下列 Windows 作業系統 ISO 磁碟映像:

  • Windows 11 企業版 25H2 (x64)

  • Windows 11 Enterprise 24H2 版 (x64)

  • Windows 11 企業版 23H2 (x64)

Image Builder 不支援下列 Windows 作業系統 ISO 磁碟映像:

  • 長期服務管道 (LTSC) 映像

  • 從 Windows Media Creation Tool 建立的 ISO 磁碟映像

  • 評估映像

匯入 ISO 磁碟映像的先決條件

注意

在匯入程序期間,建置執行個體會從 Amazon S3 下載 AWS 驅動程式、EC2Launch v2 和 Systems Manager Agent,以及從公有網際網路下載 Microsoft Defender。這些元件會預先暫存至輸出 AMI。建置執行個體也會與 Amazon EC2、Amazon CloudWatch Logs 和 SSM APIs 通訊。

建置執行個體會從匯入執行 AWS 區域 的相同 中的區域 Amazon S3 儲存貯體下載 AWS 驅動程式。由於此流量會保留在 區域內,因此 Amazon S3 Gateway 端點足以在任何區域中下載驅動程式。

不過,無論區域為何,Microsoft Defender 都需要公有網際網路存取才能下載。如果建置執行個體沒有網際網路存取,匯入仍會成功,但不會在輸出 AMI 上安裝 Microsoft Defender。

如需最低必要 VPC 端點和 S3 URLs的清單,請參閱 私有 VPC 的最低網路需求。

若要匯入 ISO 磁碟映像,您必須符合下列先決條件:

  • 磁碟映像的作業系統必須是映像建置器支援的作業系統。如需支援的作業系統清單,請參閱 ISO 磁碟映像匯入支援的作業系統。

  • 為了確保您可以匯入 ISO 映像,請從 Microsoft 365 管理中心下載映像。

  • 您必須先將 ISO 磁碟檔案上傳至相同 中的 Amazon S3, AWS 帳戶 並在 AWS 區域 其中執行匯入,然後才能執行匯入程序。

  • 副檔名對匯入程序區分大小寫,且必須是 .ISO。如果您的副檔名是小寫,請執行下列其中一個命令來重新命名它:

    Command
    aws s3 cp s3://amzn-s3-demo-bucket/Win11_24H2_English.iso s3://amzn-s3-demo-bucket/Win11_24H2_English.ISO
    PowerShell
    Copy-S3Object -BucketName amzn-s3-demo-bucket -Key Win11_24H2_English.iso -DestinationKey Win11_24H2_English.ISO
  • Microsoft 授權不會自動包含在匯入中。您必須攜帶自己的授權 (BYOL)。如需 Microsoft 軟體授權的詳細資訊,請參閱 Amazon Web Services 上的授權和 Microsoft 常見問答集頁面。

  • 匯入程序使用兩個不同的 IAM 角色:

    執行角色

    此角色授予 Image Builder 在匯入程序期間 AWS 服務 代表您呼叫 的許可。

    重要

    建議您不要將AWSServiceRoleForImageBuilder服務連結角色做為執行角色傳遞。反之,請建立自訂 IAM 角色並連接 EC2ImageBuilderExecutionPolicy AWS 受管政策。此政策會授予 Image Builder AWS 服務 代您呼叫 所需的相同許可。使用自訂角色可讓您完全控制 Image Builder 使用的許可。它也會讓 Image Builder 代表您執行的操作的服務控制政策 (SCPs) 和資源控制政策 (RCPs) 保持有效。

    執行個體描述檔角色

    此角色會授予 服務在 EC2 執行個體上執行之動作的許可。您可以在基礎設施組態資源中指定執行個體描述檔角色。將下列受管政策連接至執行個體描述檔角色,以確保您擁有匯入程序所需的所有許可:

    此EC2InstanceProfileForImageBuilder政策包含建置執行個體用來下載 ISO 檔案的s3:GetObject許可。此存取權適用於您自己的帳戶中具有 ISO 副檔名的物件。因此,您不需要授予 ISO 的其他 Amazon S3 許可。

    注意

    我們建議您只授予執行個體描述檔角色匯入所需的許可。匯入程序會從此角色下的 ISO 和具有 SYSTEM 權限的套用 Windows 映像執行可執行檔。您授予的任何其他許可也適用於這些可執行檔。

    如需詳細資訊,請參閱管理映像建置器基礎設施組態、EC2InstanceProfileForImageBuilder 政策及ISO 磁碟映像匯入的安全考量。

選用匯入設定

您可以在匯入 ISO 磁碟映像時選擇性地設定下列設定。這些設定控制匯入影像的安全開機、UEFI 資料和影像索引選擇。

安全開機

安全開機是一項 UEFI 安全功能,可確保在開機程序期間只執行受信任的軟體。預設會針對 ISO 磁碟映像匯入啟用安全開機。如果您需要使用自訂未簽署驅動程式進行測試或舊版應用程式相容性,您可以停用安全開機。

自訂 UEFI 資料

您可以提供自訂 UEFI 資料 Blob 做為 Base64-encoded字串,以便在開機程序期間使用,而非 Image Builder 產生的預設 UEFI 資料。您只能在啟用安全開機時指定自訂 UEFI 資料 (預設值)。資料最多可達 64 KB。

您可以使用 GitHub 網站上的 python-uefivars 工具來檢查和修改 UEFI 資料。如需詳細資訊,請參閱 Amazon EC2 執行個體的 UEFI 變數。

影像索引

Windows ISO 檔案可以包含具有多個影像索引.wim的檔案,其中每個索引代表不同的 Windows 版本 (例如 Home 或 Pro)。根據預設,Image Builder 會使用 ISO 檔案的第一個有效映像索引。您可以指定以單一為基礎的影像索引,從多版本 ISO 檔案中選取特定版本。

將 ISO 磁碟映像匯入映像建置器

開始匯入程序之前,請確定您已符合所有 先決條件。

匯入程序會在映像上安裝下列軟體和驅動程式:

  • EC2Launch v2

  • AWS Systems Manager 代理程式

  • AWS NVMe 驅動程式

  • AWS ENA 網路驅動程式

  • AWS PCI 序列驅動程式

  • EC2 Windows 公用程式驅動程式

  • Microsoft Defender 更新套件

匯入程序會在映像上進行下列組態更新:

  • 將系統設定為使用 Amazon Time 伺服器。

選擇索引標籤以檢視您偏好方法的匯入步驟:

Console

若要使用 Image Builder 主控台匯入 ISO 磁碟映像,請遵循下列步驟:

  1. 開啟 EC2 Image Builder 主控台,位於 https://console.aws.amazon.com/imagebuilder/。

  2. 從導覽窗格中選擇影像。

  3. 若要開啟匯入對話方塊,請選擇匯入映像。

  4. 輸入下列一般資訊:

    • 為您的映像指定唯一的名稱。

    • 指定基礎映像的版本。使用下列格式:major.minor.patch。

  5. 選擇匯入類型:ISO 匯入。

  6. 輸入下列 ISO 匯入組態詳細資訊。完成後,請選擇匯入映像。

    • S3 URI – 輸入 ISO 磁碟檔案的儲存位置。若要瀏覽檔案,請選擇瀏覽 S3。

    • IAM 角色 – 若要將 IAM 角色與您的匯入組態建立關聯,請從 IAM 角色下拉式清單中選取角色,或選擇建立新角色以建立新的角色。如果您建立新的角色,IAM 角色主控台頁面會在單獨的索引標籤中開啟。

      您可以指定AWSServiceRoleForImageBuilder服務連結角色,也可以指定自己的自訂角色來存取服務。

  7. 您可以選擇性地為匯入設定下列進階設定。如需這些設定的詳細資訊,請參閱 選用匯入設定。

    • 安全開機 – 預設會啟用安全開機。若要停用匯入映像的安全開機,請清除安全開機核取方塊。

    • 自訂 UEFI 資料 – 若要提供自訂 UEFI 資料 Blob,請輸入 Base64-encoded字串。此選項僅在啟用安全開機時可用。

    • 影像索引 – 若要從多版本 ISO 檔案選取特定的 Windows 版本,請輸入以一個為基礎的影像索引。

  8. 您可以選擇將標籤新增至映像建置器映像資源。在此處新增標籤不會將標籤新增至您的 AMI。

  9. ISO 基礎設施組態會定義映像建置器啟動的執行個體設定,以託管匯入程序。您可以使用 Image Builder 根據服務預設值建立的基礎設施組態,也可以使用現有的基礎設施組態。如需詳細資訊,請參閱管理映像建置器基礎設施組態。

    若要建立新的基礎設施組態,請選擇建立基礎設施組態。這會在單獨的索引標籤中開啟。建立新資源之後,您可以返回匯入組態,然後選擇使用現有的基礎設施組態。

  10. 若要開始匯入程序,請選擇匯入映像。

匯入完成後,您的映像會出現在您擁有的映像清單中。如需詳細資訊,請參閱列出影像。

AWS CLI

下列範例示範如何從 ISO 磁碟檔案匯入映像,並使用 從中建立 AMI AWS CLI。

以下是我們在此範例中指定的參數摘要:

  • name (字串,必要) – 要從匯入建立為輸出之映像建置器映像資源的名稱。

  • semanticVersion (字串,必要) – 輸出映像的語意版本,指定以下格式的版本,每個位置都有數值來表示特定版本:<major>.<minor>.<patch>。例如 1.0.0。若要進一步了解映像建置器資源的語意版本控制,請參閱 Image Builder 中的語意版本控制。

  • description (字串) – 映像配方的描述。

  • executionRole (字串) – IAM 角色的名稱或 Amazon Resource Name (ARN),授予 Image Builder 執行工作流程動作以從 Microsoft ISO 檔案匯入映像的存取權。我們建議您指定已連接 EC2ImageBuilderExecutionPolicy AWS 受管政策的自訂角色。

  • platform (字串,必要) – ISO 磁碟映像的作業系統平台。有效值包括 Windows。

  • osVersion (字串,必要) – ISO 磁碟映像的作業系統版本。有效值包括 Microsoft Windows 11。

  • infrastructureConfigurationArn (字串,必要) – 用於啟動建置 ISO 映像之 EC2 執行個體的基礎設施組態資源的 Amazon Resource Name (ARN)。

  • uri (字串,必要) – 存放在 Amazon S3 中 ISO 磁碟檔案的 URI。

  • registerImageOptions (物件) – 設定匯入映像的安全開機和 UEFI 設定。包含下列欄位:

    • secureBootEnabled (布林值) – 指定是否為輸出 AMI 啟用安全開機。預設值為 true。若要停用自訂未簽署驅動程式的安全開機,請將此值設定為 false。

    • uefiData (字串) – 非揮發性 UEFI 變數存放區的 Base64-encoded表示。只有在 secureBootEnabled為true或未指定時,您才能指定此參數。

  • windowsConfiguration (物件) – ISO 匯入的 Windows 特定組態設定。包含下列欄位:

    • imageIndex (整數) – 以 1 為基礎的索引,指定要從多版本 Windows ISO 檔案安裝的 Windows 版本。Windows ISO 可以包含具有多個影像索引.wim的檔案,每個都代表不同的版本。

aws imagebuilder import-disk-image \ --name "example-iso-disk-import" \ --semantic-version "1.0.0" \ --description "Import an ISO disk image" \ --execution-role "ImageBuilderExecutionRole" \ --platform "Windows" \ --os-version "Microsoft Windows 11" \ --infrastructure-configuration-arn "arn:aws:imagebuilder:us-east-1:111122223333:infrastructure-configuration/example-infrastructure-configuration-123456789abc" \ --uri "s3://amzn-s3-demo-source-bucket/examplefile.ISO" \ --register-image-options '{"secureBootEnabled": true, "uefiData": "custom-base64-encoded-uefi-data"}' \ --windows-configuration '{"imageIndex": 1}'

匯入完成後,您的映像會出現在您擁有的映像清單中。如需詳細資訊,請參閱列出影像。

PowerShell

下列範例示範如何從 ISO 磁碟檔案匯入映像,並使用 PowerShell 從中建立 AMI。

以下是我們在此範例中指定的參數摘要:

  • name (字串,必要) – 要從匯入建立為輸出之映像建置器映像資源的名稱。

  • semanticVersion (字串,必要) – 輸出映像的語意版本,指定以下格式的版本,每個位置都有數值來表示特定版本:<major>.<minor>.<patch>。例如 1.0.0。若要進一步了解映像建置器資源的語意版本控制,請參閱 Image Builder 中的語意版本控制。

  • description (字串) – 映像配方的描述。

  • executionRole (字串) – IAM 角色的名稱或 Amazon Resource Name (ARN),授予 Image Builder 執行工作流程動作以從 Microsoft ISO 檔案匯入映像的存取權。我們建議您指定已連接 EC2ImageBuilderExecutionPolicy AWS 受管政策的自訂角色。

  • platform (字串,必要) – ISO 磁碟映像的作業系統平台。有效值包括 Windows。

  • osVersion (字串,必要) – ISO 磁碟映像的作業系統版本。有效值包括 Microsoft Windows 11。

  • infrastructureConfigurationArn (字串,必要) – 用於啟動建置 ISO 映像之 EC2 執行個體的基礎設施組態資源的 Amazon Resource Name (ARN)。

  • uri (字串,必要) – 存放在 Amazon S3 中 ISO 磁碟檔案的 URI。

  • registerImageOptions (物件) – 設定匯入影像的安全開機和 UEFI 設定。包含下列欄位:

    • secureBootEnabled (布林值) – 指定是否為輸出 AMI 啟用安全開機。預設值為 true。若要停用自訂未簽署驅動程式的安全開機,請將此值設定為 false。

    • uefiData (字串) – 非揮發性 UEFI 變數存放區的 Base64-encoded表示。只有在 secureBootEnabled為true或未指定時,您才能指定此參數。

  • windowsConfiguration (物件) – ISO 匯入的 Windows 特定組態設定。包含下列欄位:

    • imageIndex (整數) – 以 1 為基礎的索引,指定要從多版本 Windows ISO 檔案安裝的 Windows 版本。Windows ISO 可以包含具有多個影像索引.wim的檔案,每個都代表不同的版本。

Import-EC2IBDiskImage ` -Name "example-iso-disk-import" ` -SemanticVersion "1.0.0" ` -Description "Import an ISO disk image" ` -ExecutionRole "ImageBuilderExecutionRole" ` -Platform "Windows" ` -OsVersion "Microsoft Windows 11" ` -InfrastructureConfigurationArn "arn:aws:imagebuilder:us-east-1:111122223333:infrastructure-configuration/example-infrastructure-configuration-123456789abc" ` -Uri "s3://amzn-s3-demo-source-bucket/examplefile.ISO" ` -RegisterImageOptions_SecureBootEnabled $true ` -RegisterImageOptions_UefiData "custom-base64-encoded-uefi-data" ` -WindowsConfiguration_ImageIndex 1

匯入完成後,您的映像會出現在您擁有的映像清單中。如需詳細資訊,請參閱列出影像。

從輸出 AMI 啟動執行個體

您現在可以使用輸出 AMI 做為一般 AMI,並從中啟動執行個體。當您從輸出 AMI 啟動執行個體時,Windows 作業系統會執行 Sysprep Specialize 來完成執行個體組態。

注意

本頁所述的網路需求僅適用於匯入建置程序。匯入成功完成後,從輸出 AMI 啟動執行個體會遵循標準 Amazon EC2 網路需求。成功匯入並不保證成功啟動執行個體,您的啟動仍可能會根據您的網路組態失敗。

私有 VPC 的最低網路需求

必要的 VPC 端點:

Endpoint Type 用途
com.amazonaws.{region}.s3 閘道 存取 Amazon S3 儲存貯體 (EC2Launch v2、SSM Agent、 AWS drivers 和 ISO)
com.amazonaws.{region}.ec2 介面 建立快照並描述磁碟區
com.amazonaws.{region}.logs 介面 將建置日誌寫入 CloudWatch Logs
com.amazonaws.{region}.ssm 介面 SSM API 呼叫 (SendCommand、DescribeInstanceInformation)
com.amazonaws.{region}.ssmmessages 介面 SSM Agent 資料通道 (接收命令、傳送輸出)
com.amazonaws.{region}.ec2messages 介面 SSM 代理程式訊息輪詢

匯入期間存取的 Amazon S3 端點:

  • https://ec2-windows-drivers-downloads-{region}.s3.dualstack.{region}.amazonaws.com/NVMe/Latest/AWSNVMe.zip

  • https://ec2-windows-drivers-downloads-{region}.s3.dualstack.{region}.amazonaws.com/ENA/Latest/AwsEnaNetworkDriver.zip

  • https://ec2-windows-drivers-downloads-{region}.s3.dualstack.{region}.amazonaws.com/AWSPCISerialDriver/Latest/AWSPCISerialDriver.zip

  • https://ec2-windows-drivers-downloads-{region}.s3.dualstack.{region}.amazonaws.com/EC2WinUtil/Latest/EC2WinUtil.zip

  • https://amazon-ec2launch-v2-{region}.s3.dualstack.{region}.amazonaws.com/windows/amd64/latest/AmazonEC2Launch.msi

  • https://amazon-ssm-{region}.s3.{region}.amazonaws.com/latest/windows_amd64/AmazonSSMAgentSetup.exe

注意

在 中us-east-1,驅動程式儲存貯體名稱沒有區域尾碼。建置執行個體會ec2-windows-drivers-downloads.s3.dualstack.us-east-1.amazonaws.com改為從 下載驅動程式。在這兩種情況下,儲存貯體與匯入位於相同區域,因此 Amazon S3 Gateway 端點已足夠。

這表示匯入在私有子網路中操作所需的最低組態。根據您的 VPC 設定和所需結果,您可能需要額外的網路組態,以允許建置執行個體和 VPC 端點之間的流量。

後續步驟

您可以像任何其他 AMI 一樣使用輸出 AMI – 直接從中啟動執行個體,或在 Image Builder 中將其用作基礎映像,以進一步建置和自訂。如需詳細資訊,請參閱使用映像建置器建立自訂映像。

對 ISO 磁碟映像匯入進行故障診斷

如果您的 ISO 磁碟映像匯入失敗,您可以使用 Amazon CloudWatch Logs 來識別匯入錯誤的位置。Image Builder 會在建置完成後,將建置日誌串流至 CloudWatch Logs。若要尋找匯入的日誌,請使用下列日誌群組和串流,將 ImageName 取代為您提供映像的名稱:

LogGroup: /aws/imagebuilder/ImageName

LogStream: ImageVersion/ImageBuildVersion

如需 CloudWatch Logs 中映像建置器日誌的詳細資訊,請參閱使用 Amazon CloudWatch Logs 監控映像建置器日誌。如需其他故障診斷指引,請參閱 疑難排解映像建置器問題。