複製 Amazon EC2 AMI - Amazon Elastic Compute Cloud

複製 Amazon EC2 AMI

若需要跨多個區域採用一致的 Amazon EC2 執行個體組態,您可將單一 Amazon Machine Image (AMI) 用做範本來啟動所有執行個體。然而,AMI 是區域特定資源,如需在特定 AWS 區域 中啟動執行個體,AMI 必須位於該區域。因此,如需在多個區域採用同一個 AMI,必須從來源區域複製該 AMI 到每個目標區域。

您用於複製 AMI 的方法,視乎您是要跨同一分區內的區域,還是跨不同分區進行複製而定:

  • 跨區域複製 – 跨同一分區內的區域複製 AMI,舉例來說,跨商業分區內的區域。本主題介紹了此複製方法。

  • 跨分區複製從一個分區複製 AMI 到另一個分區,舉例來說,從商業分區複製到 AWS GovCloud (US) 分區。若要了解此方法的相關詳細資訊,請參閱 存放和還原 AMI

  • 跨帳戶複製 – 建立另一個 AWS 帳戶與您的 AWS 帳戶共享的 AMI 副本。本主題介紹了此複製方法。

跨區域與跨帳戶 AMI 複製的複製操作完成所花時間為盡力而為。若需要控制完成時間,您可指定從 15 分鐘至 48 小時的完成時段,並確保在所需時間範圍內複製 AMI。基於時間的 AMI 複製操作適用額外費用。若要了解詳細資訊,請參閱 Amazon EBS 使用者指南中的基於時間的複製

考量事項

  • 複製 AMI 的許可 - 您可以使用 IAM 政策來授予或拒絕使用者複製 AMI 的許可。自 2024 年 10 月 28 日起,您可在來源 AMI 指定 CopyImage 動作的資源層級許可。新 AMI 的資源層級許可與以前一樣可用。

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

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

  • 基於時間的 AMI 複製配額 – 在達到累積快照複製輸送量配額之後,後續基於時間的 AMI 複製請求會失敗。若要了解詳細資訊,請參閱 Amazon EBS 使用者指南中的基於時間的複製配額

  • 受支援的來源目的地複製 – 來源 AMI 的位置會決定您是否可以複製,及新的 AMI 允許的目的地:

    • 若來源 AMI 位於一個區域,您可在該區域內對其進行複製、複製到另一個區域、複製到與該區域關聯的 Outpost,或者複製到該區域中的本機區域。

    • 如果來源 AMI 位於本機區域,您可以在該本機區域內進行複製、將其複製到該本機區域的父區域,或複製到具有相同父區域的某些其他本機區域。

    • 若來源 AMI 位於 Outpost,則您無法將其複製。

  • 來源和目的地的 CLI 參數 – 若使用 CLI,會支援以下參數,以便指定待複製 AMI 的來源位置及新 AMI 的目的地。請注意,必須在目的地區域啟動複製操作;若省略 --region 參數,目的地會假設為您在 AWS CLI 設定中設定的預設區域。

    來源至目的地 來源參數 目的地參數
    區域至區域 --source-region --region
    區域至 Outpost --source-region --destination-outpost-arn (Outpost 的 ARN)
    區域至本機區域

    --source-region

    必須為本機區域的父區域。

    --destination-availability-zone (本機區域名稱) 或 --destination-availability-zone-id (本機區域 ID)
    本機區域至區域

    --source-region

    必須為本機區域的父區域。

    來源本機區域係由指定之來源 AMI ID 的位置推定。

    --region

    必須為本機區域的父區域。

    本機區域至本機區域 --source-region

    必須為本機區域的父區域。

    來源本機區域係由指定之來源 AMI ID 的位置推定。

    --destination-availability-zone (本機區域名稱) 或 --destination-availability-zone-id (本機區域 ID)

成本

若未指定完成時間,複製 AMI 無須費用。然而,額外費用適用於基於時間的 AMI 複製操作。若要了解詳細資訊,請參閱 Amazon EBS 使用者指南中的基於時間的複製

標準儲存與資料傳輸費用適用。如果您複製 EBS 後端 AMI,任何其他 EBS 快照的儲存則都會產生費用。

複製 AMI

您可複製您擁有的 AMI,或者由另一個帳戶共享給您的 AMI。若要了解受支援的來源與目的地組合,請參閱 考量事項

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

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

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

  4. 如果您未看到要複製的 AMI,請選擇其他篩選條件。您可按以下方式篩選 AMI:由我擁有私有映像公有映像已停用映像

  5. 選取欲複製的 AMI,然後選擇動作複製 AMI

  6. 複製 Amazon Machine Image (AMI) 頁面,指定以下資訊:

    1. AMI copy name (AMI 複本名稱):新 AMI 的名稱。名稱中可納入作業系統資訊,因為 Amazon EC2 在顯示有關 AMI 的詳細資訊時不提供此資訊。

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

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

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

    5. 基於時間的複製:您可如下所示指定複製操作是在特定時間範圍內完成,還是盡力完成:

      • 如需在特定時間範圍內完成複製:

        • 選取啟用基於時間的複製

        • 對於完成持續時間,請輸入複製操作允許的分鐘數 (增量為 15 分鐘)。完成持續時間適用於與 AMI 關聯的全部快照。

          若要了解詳細資訊,請參閱 Amazon EBS 使用者指南中的基於時間的複製

      • 盡力完成複製:

        • 啟用基於時間的複製保持不選。

    6. (EBS 支援的 AMI) 加密 AMI 複本的 EBS 快照:選取此核取方塊來加密目標快照或使用不同金鑰重新加密它們。如果您已啟用預設加密,加密 AMI 複本的 EBS 快照核取方塊已選取且無法清除。如需更多詳細資訊,請參閱 加密和複製

    7. (EBS 支援的 AMI) KMS 金鑰:用於加密目標快照的 KMS 金鑰。

    8. 標籤:您可以使用相同標籤來標記新 AMI 和新快照,或者可以使用不同標籤來進行標記。

      • 若要使用相同標籤來標記新 AMI 和新快照,請選擇共同標記映像和快照。相同標籤即套用至新 AMI 和每個建立的快照。

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

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

    9. 當您準備好建立 AMI 時,請選擇複製 AMI

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

AWS CLI
如需將 AMI 從一個區域複製到另一個區域

使用 copy-image 指令。您必須同時指定來源和目的地區域。請使用 --source-region 參數指定來源區域。您可使用 --region 參數來指定目的地區域 (或省略此參數,假設為您的 AWS CLI 設定中設定的預設區域)。

aws ec2 copy-image \ --source-image-id ami-0abcdef1234567890 \ --source-region us-west-2 \ --name my-ami \ --region us-east-1

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

如需從一個區域複製 AMI 到本機區域

使用 copy-image 指令。您必須同時指定來源與目的地。請使用 --source-region 參數指定來源區域。您可使用 --destination-availability-zone 參數來指定目的地本機區域 (您可改為使用 --destination-availability-zone-id)。請注意,您僅可從一個區域複製 AMI 到同一區域內的本機區域。

aws ec2 copy-image \ --source-image-id ami-0abcdef1234567890 \ --source-region cn-north-1 \ --destination-availability-zone cn-north-1-pkx-1a \ --name my-ami \ --region cn-north-1
如需從本機區域複製 AMI 到一個區域

使用 copy-image 指令。您必須同時指定來源與目的地。請使用 --source-region 參數指定來源區域。您可使用 --region 參數來指定目的地區域 (或者省略此參數,假設為您的 AWS CLI 設定中設定的預設區域)。來源本機區域係由指定之來源 AMI ID 的位置推定。請注意,您僅可從本機區域複製 AMI 到其父區域。

aws ec2 copy-image \ --source-image-id ami-0abcdef1234567890 \ --source-region cn-north-1 \ --name my-ami \ --region cn-north-1
如需從一個本機區域複製 AMI 到另一個本機區域

使用 copy-image 指令。您必須同時指定來源與目的地。請使用 --source-region 參數來指定本機區域的來源區域。您可使用 --destination-availability-zone 參數來指定目的地本機區域 (您可改為使用 --destination-availability-zone-id)。來源本機區域係由指定之來源 AMI ID 的位置推定。您可使用 --region 參數來指定目的地區域的父區域 (或者省略此參數,假設為您的 AWS CLI 設定中設定的預設區域)。

aws ec2 copy-image \ --source-image-id ami-0abcdef1234567890 \ --source-region cn-north-1 \ --destination-availability-zone cn-north-1-pkx-1a \ --name my-ami \ --region cn-north-1
PowerShell
如需將 AMI 從一個區域複製到另一個區域

使用 Copy-EC2Image cmdlet。您必須同時指定來源和目的地區域。請使用 -SourceRegion 參數指定來源區域。您可使用 -Region 參數或者 Set-AWSDefaultRegion cmdlet,來指定目的地區域。

Copy-EC2Image ` -SourceImageId ami-0abcdef1234567890 ` -SourceRegion us-west-2 ` -Name my-ami ` -Region us-east-1

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

如需從一個區域複製 AMI 到本機區域

使用 Copy-EC2Image cmdlet。您必須同時指定來源與目的地。請使用 -SourceRegion 參數指定來源區域。您可使用 -DestinationAvailabilityZone 參數來指定目的地本機區域 (您可改為使用 -DestinationAvailabilityZoneId)。請注意,您僅可從一個區域複製 AMI 到同一區域內的本機區域。

Copy-EC2Image ` -SourceImageId ami-0abcdef1234567890 ` -SourceRegion cn-north-1 ` -DestinationAvailabilityZone cn-north-1-pkx-1a ` -Name my-ami ` -Region cn-north-1
如需從本機區域複製 AMI 到一個區域

使用 Copy-EC2Image cmdlet。您必須同時指定來源與目的地。請使用 -SourceRegion 參數指定來源區域。您可使用 -Region 參數或者 Set-AWSDefaultRegion cmdlet,來指定目的地區域。來源本機區域係由指定之來源 AMI ID 的位置推定。請注意,您僅可從本機區域複製 AMI 到其父區域。

Copy-EC2Image ` -SourceImageId ami-0abcdef1234567890 ` -SourceRegion cn-north-1 ` -Name my-ami ` -Region cn-north-1
如需從一個本機區域複製 AMI 到另一個本機區域

使用 Copy-EC2Image cmdlet。您必須同時指定來源與目的地。請使用 -SourceRegion 參數來指定本機區域的來源區域。您可使用 -DestinationAvailabilityZone 參數來指定目的地本機區域 (您可改為使用 -DestinationAvailabilityZoneId)。來源本機區域係由指定之來源 AMI ID 的位置推定。您可使用 -Region 參數或者 Set-AWSDefaultRegion cmdlet,來指定目的地本機區域的父區域。

Copy-EC2Image ` -SourceImageId ami-0abcdef1234567890 ` -SourceRegion cn-north-1 ` -DestinationAvailabilityZone cn-north-1-pkx-1a ` -Name my-ami ` -Region cn-north-1

停用待定的 AMI 複製作業

您可使用下列程序來停止待定的 AMI 複製。

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

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

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

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

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

AWS CLI
如需停止 AMI 複製操作

請使用 deregister-image 命令。

aws ec2 deregister-image --image-id ami-0abcdef1234567890
PowerShell
如需停止 AMI 複製操作

使用 Unregister-EC2Image cmdlet。

Unregister-EC2Image -ImageId ami-0abcdef1234567890