複製 Amazon EC2 AMI - Amazon Elastic Compute Cloud

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

複製 Amazon EC2 AMI

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

您用來複製 AMI 的方法取決於您要跨相同分割區內的區域或跨不同分割區進行複製:

  • 跨區域複製 – 跨相同分割區內的區域複製 AMIs,例如跨商業分割區內的區域。此複製方法說明於本主題。

  • 跨分割區複製 – 將 AMIs 從一個分割區複製到另一個分割區,例如從商業分割區複製到 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 位於區域中,您可以將該區域內的 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

    必須是 Local Zone 的父區域。

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

    --source-region

    必須是 Local Zone 的父區域。

    來源本機區域是從指定來源 AMI ID 的位置擔任。

    --region

    必須是 Local Zone 的父區域。

    從本機區域到本機區域 --source-region

    必須是 Local Zone 的父區域。

    來源本機區域是從指定來源 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 參數指定目的地 Local 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 參數指定 Local Zone 的來源區域。您可以使用 --destination-availability-zone 參數指定目的地 Local Zone (您可以--destination-availability-zone-id改為使用)。來源本機區域是從指定來源 AMI ID 的位置擔任。您可以使用 --region 參數指定目的地 Local Zone 的父區域 (或省略此參數,以假設 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 參數指定目的地 Local Zone (您可以-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 參數指定 Local Zone 的來源區域。您可以使用 -DestinationAvailabilityZone 參數指定目的地 Local Zone (您可以-DestinationAvailabilityZoneId改為使用)。來源本機區域是從指定來源 AMI ID 的位置擔任。您可以使用 -Region 參數或 Set-AWSDefaultRegion cmdlet 指定目的地 Local Zone 的父區域。

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