複製 AMI
您可在 AWS 區域內或跨區域複製 Amazon Machine Image (AMI)。您可以同時複製 Amazon EBS 後端 AMIs 和執行個體存放區後端 AMIs。您可以複製具有加密快照的 AMI,而且在複製過程中變更加密狀態。您可複製共享給您的 AMI。
複製來源 AMI 將產生相同但完全獨立的目標 AMI,其具有自己的識別符。您可變更來源 AMI 或取消註冊,不會影響目標 AMI。反之亦然。
藉由 Amazon EBS 後端 AMI,每個備份快照會複製成相同但完全獨立的目標快照。如果您複製 AMI 到新區域,則快照為完整 (非增量) 複本。如果您加密未加密的備份快照,或將其加密為新的 KMS 金鑰,則快照為完整 (非增量) 複本。AMI 的後續複製作業會產生備份快照的增量複本。
考量事項
-
您可以使用 IAM 政策來授予或拒絕使用者複製 AMI 的許可。為
CopyImage
動作指定的資源層級許可僅適用於新的 AMI。您無法指定來源 AMI 的資源層級許可。 -
AWS 不會將啟動許可或 Amazon S3 儲存貯體許可,從來源 AMI 複製到新的 AMI。複製操作完成後,您可將啟動許可和 Amazon S3 儲存貯體許可套用至新的 AMI。
-
您只能複製連接至 AMI 的使用者定義之 AMI 標籤。將不會複製連接至其他 AWS 帳戶 的系統標籤 (字首為
aws:
) 和使用者定義的標籤。 -
複製從另一個帳戶共用的 AWS Marketplace AMI 時,不支援
CopyImage
動作。相反地,如果您想要在另一個帳戶中複製 AWS Marketplace AMI,則必須執行以下操作:與另一個帳戶共用 AWS Marketplace AMI,然後在另一個帳戶中使用 AWS Marketplace AMI 啟動 EC2 執行個體。然後使用CreateImage
動作從執行個體建立 AMI。新的 AMI 保留所有 AWS Marketplace 程式碼。請注意,此程序也適用於直接或間接衍生自 AWS Marketplace AMI 的任何 AMI。如需從執行個體建立 AMI 的詳細資訊,請參閱建立 Amazon EBS 後端的 Linux AMI。
成本
複製 AMI 不須支付費用。然而,將收取標準儲存和資料傳輸費用。如果您複製 EBS 後端 AMI,任何其他 EBS 快照的儲存則都會產生費用。
複製執行個體後端 AMI 的許可
若要複製執行個體儲存體支援的 AMI,該使用者必須具備下列 Amazon S3 許可:s3:CreateBucket
、s3:GetBucketAcl
、s3:ListAllMyBuckets
、s3:GetObject
、s3:PutObject
、s3: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/
注意
只有在使用者第一次將執行個體儲存體支援的 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。如需詳細資訊,請參閱建立 Amazon EBS 後端的 Linux AMI和尋找 AMI。
使用 AWS CLI 複製 AMI
您可使用 copy-image 命令來複製 AMI。您必須同時指定來源和目的地區域。請使用 --source-region
參數指定來源區域。請使用 --region
參數或環境變數指定目的地區域。如需詳細資訊,請參閱設定 AWS 命令列介面。
複製期間加密目標快照時,務必指定其他這些參數:--encrypted
和 --kms-key-id
。
如需範例命令,請參閱 AWS CLI 命令參考 中的 copy-image 下的 Examples (範例)。
使用 Tools for Windows PowerShell 複製 AMI
您可使用 Copy-EC2Image 命令來複製 AMI。您必須同時指定來源和目的地區域。請使用 -SourceRegion
參數指定來源區域。請使用 -Region
參數或 Set-AWSDefaultRegion
命令指定目的地區域。如需詳細資訊,請參閱指定 AWS 區域。
複製期間加密目標快照時,務必指定其他這些參數:-Encrypted
和 -KmsKeyId
。
停用待定的 AMI 複製作業
您可停止待定的 AMI 複製作業,如下所示。
使用命令列停止 AMI 複製作業
您可以使用下列其中一個命令。如需關於這些命令列介面的詳細資訊,請參閱 存取 Amazon EC2。
-
deregister-image (AWS CLI)
-
Unregister-EC2Image (AWS Tools for Windows PowerShell)
跨區域複製
跨越地理區域複製 AMI,具有下列優點:
-
一致的全球部署:將 AMI 從一個區域複製到另一個區域,可讓您以相同 AMI 在不同區域啟動一致的執行個體。
-
擴展能力:無論使用者的位置,設計並建置滿足全球使用者需求的應用程式將變得更輕鬆。
-
效能:您可分散應用程式,並將應用程式的重要元件放置於靠近使用者的位置,藉此增加效能。您亦可運用區域特定的功能,例如執行個體類型或其他 AWS 服務。
-
高可用性:您可跨 AWS 區域設計並部署應用程式,增加可用性。
下圖顯示來源 AMI 和兩個位於不同區域之複製 AMIs 之間的關係,以及三者啟動之 EC2 執行個體與來源 AMI 的關係。從 AMI 啟動執行個體時,其所處位置與該 AMI 的區域相同。若您變更來源 AMI 並希望在目標區域的 AMIs 反映這些變更,您必須將來源 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 的區域。如需更多詳細資訊,請參閱 Linux 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 具有加密的快照,則擁有者也必須與您共享金鑰。如需授予資源許可的詳細資訊,請參閱 共享 Amazon EBS 快照 (EBS 快照),以及 Amazon Simple Storage Service 使用者指南中的 Amazon S3 中的身分和存取管理 (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 啟動的任何執行個體的費用。
注意
啟用預設加密,這與在 AMI 中針對所有快照將 Encrypted
參數設定為 true
具有相同效果。

設定 Encrypted
參數會加密此執行個體的單一快照。若您未指定 KmsKeyId
參數,則會使用預設的客戶受管金鑰來加密快照複本。
如需複製具有加密快照的 AMIs 的詳細資訊,請參閱對 EBS 後端 AMI 使用加密。