複製 AMI - Amazon Elastic Compute Cloud

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

複製 AMI

您可以在區域內或跨 AWS 區域複製 Amazon 機器映像 (AMI)。您可以同時複製 Amazon EBS 支援的 AMI 和執行個體商店支援的 AMI。您可以複製具有加密快照的 EBS 支援 AMI,也可以在複製過程中變更加密狀態。您可複製共享給您的 AMI。

複製來源 AMI 會產生相同但不同的新 AMI,我們也稱之為目 AMI。目標 AMI 有其自己唯一的 AMI 識別碼。您可變更來源 AMI 或取消註冊,不會影響目標 AMI。反之亦然。

使用 EBS 支援的 AMI,其每個支援快照都會複製到相同但不同的目標快照。如果您複製 AMI 到新區域,則快照為完整 (非增量) 複本。如果您加密未加密的備份快照,或將其加密為新的 KMS 金鑰,則快照為完整 (非增量) 複本。AMI 的後續複製作業會產生備份快照的增量複本。

考量事項

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

  • 啟動許可和 Amazon S3 儲存貯體許可 — AWS 不會將啟動許可或 Amazon S3 儲存貯體許可從來源 AMI 複製到新的 AMI。複製操作完成後,您可將啟動許可和 Amazon S3 儲存貯體許可套用至新的 AMI。

  • 標籤 — 您只能複製附加至來源 AMI 的使用者定義 AMI 標籤。將不會複製連接至其他 AWS 帳戶 的系統標籤 (字首為 aws:) 和使用者定義的標籤。複製 AMI 時,您可以將新標籤附加到目標 AMI 及其後備快照。

成本

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

IAM 許可

若要複製 EBS 支援或 instance store-backed AMI,您需要下列 IAM 許可:

  • ec2:CopyImage— 要複製 AMI。對於 EBS 支援的 AMI,它也會授予複製 AMI 支援快照的權限。

  • ec2:CreateTags— 標記目標 AMI。對於 EBS 支援的 AMI,它也會授予標記目標 AMI 支援快照的權限。

如果您要複製儲存支援 AMI 的執行個體,則需要下列其他 IAM 許可:

  • s3:CreateBucket— 在目標區域中為新 AMI 建立 S3 儲存貯體

  • s3:GetBucketAcl— 讀取來源值區的 ACL 權限

  • s3:ListAllMyBuckets— 尋找目標區域中 AMI 的現有 S3 儲存貯體

  • s3:GetObject— 讀取來源值區中的物件

  • s3:PutObject— 在目標值區中寫入物件

  • s3:PutObjectAcl— 寫入目標值區中新物件的權限

複製 EBS 支援 AMI 並標記目標 AMI 和快照的 IAM 政策範例

下列範例原則授予您複製任何 EBS 支援 AMI 並標記目標 AMI 及其支援快照的權限。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "PermissionToCopyAllImages", "Effect": "Allow", "Action": [ "ec2:CopyImage", "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::image/*" }] }

複製 EBS 支援 AMI 但拒絕標記新快照的 IAM 政策範例

當您取得ec2:CopySnapshot權限時,系統會自動授與ec2:CopyImage權限。這包括標記目標 AMI 的新支援快照的權限。可明確拒絕標記新支援快照的權限。

下列範例原則授予您複製 EBS 支援 AMI 的權限,但拒絕您標記目標 AMI 的新支援快照。

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:CopyImage", "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::image/*" }, { "Effect": "Deny", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:::snapshot/*" } ] }

複製執行個體支援存放區的 AMI 和標記目標 AMI 的 IAM 政策範例

下列範例政策授予您權限,將指定來源儲存貯體中的任何 instance store-backed AMI 複製到指定的區域,並標記目標 AMI。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "PermissionToCopyAllImages", "Effect": "Allow", "Action": [ "ec2:CopyImage", "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*::image/*" }, { "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-account-in-region-hash" ] } ] }

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

注意

只有在您第一次將 instance store-backed AMI 複製到個別區域時,才需要此s3:CreateBucket權限。之後,已在區域中建立的 Amazon S3 儲存貯體用來儲存您複製到該區域的所有未來 AMIs。

複製 AMI

您可以使用 AWS Management Console、 AWS Command Line Interface 或開發套件或 Amazon EC2 API 複製 AMI,所有這些 API 都支援該CopyImage動作。

Console
若要複製 AMI
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

  3. 在導覽窗格中,選擇 AMI 以顯示「地區」中可用的 AMI 清單。

  4. 如果您沒有看到要複製的 AMI,請選擇其他篩選器。您可以依據我擁有的 AMI、私人映像、公開映像已停用的映像進行篩選。

  5. 選取要複製的 AMI,然後選擇 [動作] > [複製 AMI]。

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

    1. AMI copy name (AMI 複本名稱):新 AMI 的名稱。您可以在名稱中包含作業系統資訊,因為 Amazon EC2 在顯示 AMI 的詳細資料時並未提供此資訊。

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

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

    4. Copy tags (複製標籤):選取此核取方塊可在複製 AMI 時包含使用者定義的 AMI 標籤。將不會複製連接至其他 AWS 帳戶 的系統標籤 (字首為 aws:) 和使用者定義的標籤。

    5. (僅 EBS 支援 AMI) 加密 AMI 副本的 EBS 快照:選取此核取方塊可加密目標快照,或使用不同的金鑰重新加密它們。如果預設為啟用加密,則會選取 [加密 AMI 副本的 EBS 快照] 核取方塊,且無法清除。如需詳細資訊,請參閱 加密和複製

    6. (僅限 EBS 支援的 AMI) KMS 金鑰:用來加密目標快照的 KMS 金鑰。

    7. :您可以使用相同的標籤標記新的 AMI 和新快照,也可以使用不同的標籤來標記它們。

      • 若要使用相同標籤標記新的 AMI 和新快照,請選擇「將映像檔和快照標記在一起」。相同的標籤會套用至新的 AMI 和所建立的每個快照。

      • 若要使用不同標籤標記新 AMI 和新快照,請分別選擇「標記映像檔和快照」。不同的標籤會套用至新的 AMI 和建立的快照。不過請注意,建立的所有新快照都會取得相同的標籤;您無法使用不同的標籤來標記每個新快照。

      若要新增標籤,請選擇 Add tag (新增標籤),然後輸入標籤的鍵和值。針對每個標籤,重複執行上述動作。

    8. 當您準備好複製 AMI 時,請選擇「複製 AMI」。

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

AWS CLI
若要使用複製 AMI AWS CLI

您可使用 copy-image 命令來複製 AMI。您必須同時指定來源和目的地區域。請使用 --source-region 參數指定來源區域。請使用 --region 參數或環境變數指定目的地區域。若要取得更多資訊,請參閱〈規劃 AWS 指令行介面〉。

(僅 EBS 支援 AMI) 當您在複製期間加密目標快照時,必須指定下列其他參數:和. --encrypted --kms-key-id

如需範例命令,請參閱 AWS CLI 命令參考 中的 copy-image 下的 Examples (範例)。

PowerShell
若要使用視窗適用的工具複製 AMI PowerShell

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

(僅 EBS 支援 AMI) 當您在複製期間加密目標快照時,必須指定下列其他參數:和. -Encrypted -KmsKeyId

停用待定的 AMI 複製作業

您可以使用 AWS Management Console 或命令列停止擱置的 AMI 副本。

Console
使用主控台停止 AMI 複製操作
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

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

  4. 選取要停止複製的 AMI,然後選擇「動作」、「取消註冊 AMI」。

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

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

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

跨區域複製

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

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

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

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

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

下圖顯示來源 AMI 與不同區域中兩個複製 AMI 之間的關係,以及從每個執行個體啟動的 EC2 執行個體。從 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 複本。

  • 您無法將半虛擬 (PV) AMI 複製到不支援 PV AMI 的區域。如需詳細資訊,請參閱 AMI 虛擬化類型

跨帳戶複製

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

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

資源許可

若要從另一個帳戶複製已與您共用的 AMI,來源 AMI 的擁有者必須授予您支援 AMI 的儲存體的讀取許可。該儲存體為相關聯的 EBS 快照 (Amazon EBS 支援的 AMI) 或相關聯的 S3 儲存貯體 (執行個體儲存體支援的 AMI)。如果共享 AMI 具有加密的快照,則擁有者也必須與您共享金鑰。如需授予資源許可的詳細資訊,對於 EBS 快照,請參閱 Amazon EBS 使用者指南中的共用 Amazon EBS 快照,如需 S3 儲存貯體,請參閱 Amazon 簡單儲存服務使用者指南中的 Amazon S3 中的身分和存取管理

注意

若要複製 AMI 及其標籤,您必須擁有來源 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 啟動的任何執行個體的費用。

注意

依預設啟用加密,與將Encryptedtrue參數設定為 AMI 中所有快照的效果相同。

快速複製 AMI 並加密快照

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

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