複製 AMI - Amazon Elastic Compute Cloud

複製 AMI

您可在 AWS 區域內或跨區域複製 Amazon Machine Image (AMI)。您可以同時複製 Amazon EBS 後端 AMIs 和執行個體存放區後端 AMIs。您可以複製具有加密快照的 AMI,而且在複製過程中變更加密狀態。您可複製共享給您的 AMI。

複製來源 AMI 將產生相同但完全獨立的目標 AMI,其具有自己的識別符。您可變更來源 AMI 或取消註冊,不會影響目標 AMI。反之亦然。

藉由 Amazon EBS 後端 AMI,每個備份快照會複製成相同但完全獨立的目標快照。如果您複製 AMI 到新區域,則快照為完整 (非增量) 複本。如果您加密未加密的備份快照,或將其加密為新的 KMS 金鑰,則快照為完整 (非增量) 複本。AMI 的後續複製作業會產生備份快照的增量複本。

複製 AMI 不須支付費用。然而,將收取標準儲存和資料傳輸費用。如果您複製 EBS 後端 AMI,任何其他 EBS 快照的儲存則都會產生費用。

考量

  • 您可以使用 IAM 政策來授予或拒絕使用者複製 AMI 的許可。為 CopyImage 動作指定的資源層級許可僅適用於新的 AMI。您無法指定來源 AMI 的資源層級許可。

  • AWS 不會將啟動許可、使用者定義的標籤或 Simple Storage Service (Amazon S3) 儲存貯體許可,從來源 AMI 複製到新的 AMI。複製操作完成後,您可將啟動許可、使用者定義的標籤和 Amazon S3 儲存貯體許可套用至新的 AMI。

  • 如果您使用 AWS Marketplace AMI,或從 AWS Marketplace AMI 直接或間接衍生的 AMI,則無法跨帳戶複製 AMI。反之,使用 AWS Marketplace AMI 啟動 EC2 執行個體,然後從執行個體建立 AMI。如需詳細資訊,請參閱 建立自訂 Windows AMI

複製執行個體後端 AMI 的許可

若您使用 IAM 使用者來複製執行個體後端 AMI,該使用者必須具備下列 Amazon S3 許可:s3:CreateBuckets3:GetBucketAcls3:ListAllMyBucketss3:GetObjects3:PutObjects3:PutObjectAcl

下列範例政策會允許使用者將指定儲存貯體內的 AMI 來源複製到指定區域。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": [ "arn:aws:s3:::*" ] }, { "Effect": "Allow", "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::ami-source-bucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetBucketAcl", "s3:PutObjectAcl", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amis-for-123456789012-in-us-east-1*" ] } ] }

若要尋找 AMI 來源儲存貯體的 Amazon Resource Name (ARN),請透過 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台 (),在導覽窗格中選擇 AMI,然後在 Source (來源) 欄中找到該儲存貯體名稱。

注意

只有在 IAM 使用者第一次將執行個體存放區支援的 AMI 複製到個別區域時,才需要 s3:CreateBucket 許可。之後,已在區域中建立的 Amazon S3 儲存貯體用來儲存您複製到該區域的所有未來 AMIs。

複製 AMI

您可使用 AWS Management Console、AWS Command Line Interface 或 Amazon EC2 API 來複製 AMI,它們全都支援 CopyImage 動作。

先決條件

建立或取得以 AMI 快照為後端的 Amazon EBS。請注意,您可使用 Amazon EC2 主控台來搜尋 AWS 提供的各種 AMI。如需詳細資訊,請參閱建立自訂 Windows AMI尋找 AMI

New console

使用主控台複製 AMI

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 從主控台導覽列選取內含該 AMI 的區域。

  3. 在導覽窗格中選擇 Images (映像)AMIs (AMI),以顯示您區域可用的 AMIs 清單。

  4. 選取欲複製的 AMI,然後選擇 Actions (動作)、Copy AMI (複製 AMI)。

  5. Copy AMI (複製 AMI) 頁面上,指定下列資訊:

    • AMI copy name (AMI 副本名稱):新 AMI 的名稱。名稱中可納入作業系統資訊,因為 AMI 詳細資訊顯示時不會提供此資訊。

    • AMI copy description (AMI 副本描述):根據預設,描述包括來源 AMI 的資訊,讓您能夠辨識原始和副本內容。您可視需要變更此描述。

    • Destination region (目的地區域):AMI 複製到的區域。如需詳細資訊,請參閱 跨區域複製

    • Encrypt EBS snapshots of AMI copy (加密 AMI 副本的 EBS 快照):選取此核取方塊來加密目標快照或使用不同金鑰重新加密它們。如果您已啟用 encryption by default (預設加密),Encrypt EBS snapshots of AMI copy (加密 AMI 副本的 EBS 快照) 核取方塊已選取且無法清除。如需詳細資訊,請參閱 加密和複製

    • KMS 金鑰:用於加密目標快照的 KMS 金鑰。

  6. 選擇 Copy AMI (複製 AMI)。

    新 AMI 的初始狀態為 Pending。當狀態為 Available 時,表示 AMI 複製作業完成。

Old console

使用主控台複製 AMI

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 從主控台導覽列選取內含該 AMI 的區域。在導覽窗格中選擇 Images (映像)AMIs (AMI),以顯示您區域可用的 AMIs 清單。

  3. 選取欲複製的 AMI,然後選擇 Actions (動作)、Copy AMI (複製 AMI)。

  4. Copy AMI (複製 AMI) 對話方塊中,指定以下資訊,然後選擇 Copy AMI (複製 AMI)

    • Destination region (目的地區域):AMI 複製到的區域。如需詳細資訊,請參閱 跨區域複製

    • Name (名稱):新的 AMI 的名稱。名稱中可納入作業系統資訊,因為 AMI 詳細資訊顯示時不會提供此資訊。

    • Description (描述):根據預設,描述包括來源 AMI 的資訊,讓您能夠辨識原始和副本內容。您可視需要變更此描述。

    • Encryption (加密):選取此欄位來加密目標快照或使用不同金鑰重新加密。如果您已啟用預設加密,則會設定 Encryption (加密) 選項,而且無法取消設定。如需詳細資訊,請參閱 加密和複製

    • KMS 金鑰:用於加密目標快照的 KMS 金鑰。

  5. 我們會顯示確認頁面,告知您複製作業已開始,並為您提供新 AMI 的 ID。

    欲立即查看複製作業的進度,請點選所提供的連結。欲稍後再查看進度,請選擇 Done (完成)。之後,再使用導覽列切換至目標區域 (如適用),並於 AMI 清單中尋找您的 AMI。

    目標 AMI 的初始狀態為 pending,狀態變更為 available 時表示作業完成。

使用 AWS CLI 複製 AMI

您可使用 copy-image 命令來複製 AMI。您必須同時指定來源和目的地區域。請使用 --source-region 參數指定來源區域。請使用 --region 參數或環境變數指定目的地區域。如需詳細資訊,請參閱設定 AWS 命令列介面

複製期間加密目標快照時,務必指定其他這些參數:--encrypted--kms-key-id

使用 Tools for Windows PowerShell 複製 AMI

您可使用 Copy-EC2Image 命令來複製 AMI。您必須同時指定來源和目的地區域。請使用 -SourceRegion 參數指定來源區域。請使用 -Region 參數或 Set-AWSDefaultRegion 命令指定目的地區域。如需詳細資訊,請參閱指定 AWS 區域

複製期間加密目標快照時,務必指定其他這些參數:-Encrypted-KmsKeyId

停用待定的 AMI 複製作業

您可停止待定的 AMI 複製作業,如下所示。

New console

使用主控台停止 AMI 複製操作

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 從導覽列中的區域選取器,選擇目的地區域。

  3. 在導覽窗格中,選擇 AMIs (AMI)。

  4. 選取要停止複製的 AMI,並選擇 Actions (動作)、Deregister AMI (取消註冊 AMI)。

  5. 要求確認時,請選擇 Deregister AMI (取消註冊 AMI)。

Old console

使用主控台停止 AMI 複製操作

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 從導覽列中的區域選取器,選擇目的地區域。

  3. 在導覽窗格中,選擇 AMIs (AMI)。

  4. 選取欲停止複製的 AMI,並選擇 Actions (動作)Deregister (取消註冊)

  5. 出現確認提示時,選擇 Continue (繼續)

使用命令列停止 AMI 複製作業

您可以使用下列其中一個命令。如需有關這些命令列介面的詳細資訊,請參閱 存取 Amazon EC2

跨區域複製

跨越地理區域複製 AMI,具有下列優點:

  • 一致的全球部署:將 AMI 從一個區域複製到另一個區域,可讓您以相同 AMI 在不同區域啟動一致的執行個體。

  • 擴展能力:無論使用者的位置,設計並建置滿足全球使用者需求的應用程式將變得更輕鬆。

  • 效能:您可分散應用程式,並將應用程式的重要元件放置於靠近使用者的位置,藉此增加效能。您亦可運用區域特定的功能,例如執行個體類型或其他 AWS 服務。

  • 高可用性:您可跨 AWS 區域設計並部署應用程式,增加可用性。

下圖顯示來源 AMI 和兩個位於不同區域之複製 AMIs 之間的關係,以及三者啟動之 EC2 執行個體與來源 AMI 的關係。從 AMI 啟動執行個體時,其所處位置與該 AMI 的區域相同。若您變更來源 AMI 並希望在目標區域的 AMIs 反映這些變更,您必須將來源 AMI 重新複製到目標區域。


				複製到不同區域的 AMI

首次將執行個體後端 AMI 複製到某個區域時,我們會為複製到該區域的 Amazon S3 建立 AMIs 儲存貯體。所有複製到該區域的執行個體後端 AMIs,都會存放於此儲存貯體。儲存貯體名稱為下列格式:amis-for-account-in-region-hash。例如:amis-for-123456789012-in-us-east-2-yhjmxvp6

先決條件

複製 AMI 前,您必須確認來源 AMI 的內容已更新為可支援在不同區域運作。例如,您應更新資料庫連線字串或類似的應用程式組態資料,以指向適當的資源。否則,目的地區域內新 AMI 所啟動的執行個體,仍可能會使用來源區域的資源,影響效能和成本。

限制

  • 目的地區域限制為 100 個並行 AMI 副本。

跨帳戶複製

您可與另一個 AWS 帳戶共享 AMI。共享 AMI 不會影響該 AMI 的所有權。擁有帳戶須支付該區域的儲存費用。如需詳細資訊,請參閱 與指定的 AWS 帳戶共享 AMI

若您複製的 AMI 已經與您的帳戶共享,則您是您帳戶內目標 AMI 的擁有者。來源 AMI 的擁有者須支付 Amazon EBS 或 Amazon S3 標準傳輸費用,而您則須支付目的地區域目標 AMI 的儲存費用。

資源許可

欲從另一個帳戶複製已與您共享的 AMI,來源 AMI 的擁有者必須授予您該 AMI 備份存放區的讀取許可。以 Amazon EBS 後端 AMI 而言,該存放區為相關聯 EBS 快照;以執行個體後端 AMI 而言,該存放區為相關聯 S3 儲存貯體。如果共享 AMI 具有加密的快照,則擁有者也必須與您共享金鑰。

加密和複製

下表說明各種 AMI 複製案例支援的加密。雖然您可將未加密快照複製為加密快照,但是無法將加密快照複製為未加密快照。

案例 描述 支援
1 未加密到未加密
2 加密到加密
3 未加密到加密
4 加密到未加密
注意

CopyImage 動作期間的加密僅適用於 Amazon EBS 後端 AMIs。因為執行個體後端 AMI 不仰賴快照,所以您無法透過複製來變更其加密狀態。

根據預設 (也就是,未指定加密參數),AMI 的備份快照會以原始的加密狀態進行複製。複製以未加密快照為後端的 AMI,將產生相同未加密的目標快照。若來源 AMI 受加密快照支援,則進行複製時會產生以相同 AWS KMS 金鑰加密的同一目標快照。若 AMI 的後端為多個快照,則進行複製時,每個目標快照預設都會保留來源加密狀態。

如果您在複製 AMI 時指定加密參數,則可加密或重新加密其支援快照。以下範例顯示將加密參數提供給 CopyImage 動作的非預設案例,以變更目標 AMI 的加密狀態。

將未加密來源 AMI 複製到加密目標 AMI

在此案例中,未加密根快照所支援的 AMI 將複製到具有加密根快照的 AMI。透過兩個加密參數叫用 CopyImage 動作,包括客戶受管金鑰。因此,根快照的加密狀態會變更,目標 AMI 會受到包含與來源快照相同資料的根快照支援,但使用指定的金鑰進行加密。您需要為兩個 AMI 中的快照支付儲存成本,以及從任一 AMI 啟動的任何執行個體的費用。

注意

啟用預設加密,這與在 AMI 中針對所有快照將 Encrypted 參數設定為 true 具有相同效果。


		快速複製 AMI 並加密快照

設定 Encrypted 參數會加密此執行個體的單一快照。若您未指定 KmsKeyId 參數,則會使用預設的客戶受管金鑰來加密快照複本。

如需複製具有加密快照的 AMIs 的詳細資訊,請參閱對 EBS 後端 AMI 使用加密