Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

复制 AMI

您可以使用 AWS 管理控制台、AWS 命令行工具或开发工具包,或 Amazon EC2 API (三者都支持 CopyImage 操作) 在 AWS 区域内或跨 AWS 区域复制 Amazon 系统映像 (AMI)。您可以复制由 Amazon EBS 支持的 AMI 和由实例存储支持的 AMI。您可以复制加密 AMI 和带有加密快照的 AMI。

复制源 AMI 将生成完全相同但独立的目标 AMI (具有自己的唯一标识符)。对于 Amazon EBS 支持的 AMI,默认情况下其每个支持快照将会复制到完全相同但独立的目标快照。(一个例外是您选择加密快照时。)您可以更改或取消注册源 AMI,这不会对目标 AMI 产生任何影响。反之亦然。

复制 AMI 没有任何费用。但要收取标准存储和数据传输费。

AWS 不会将启动许可、用户定义的标签或 Amazon S3 存储桶许可从源 AMI 复制到新 AMI。复制操作完成之后,可以将启动许可、用户定义的标签和 Amazon S3 存储桶权限应用于新 AMI。

权限

如果您使用 IAM 用户复制支持实例存储的 AMI,则用户必须具有以下 Amazon S3 权限:s3:CreateBuckets3:GetBucketAcls3:ListAllMyBucketss3:GetObjects3:PutObjects3:PutObjectAcl

以下示例策略允许该用户将指定存储桶中的 AMI 源复制到指定区域。

Copy
{ "Version": "2016-12-09", "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 复制

跨不同地理位置复制 AMI 具有以下优势:

  • 一致的全球部署:通过将 AMI 从一个区域复制到另一个区域,使您能够在不同的区域启动基于相同 AMI 的一致实例。

  • 可扩展性:无论用户身处何处,您都可以更轻松地设计和构建能满足他们需求的全球范围应用程序。

  • 性能:您可以通过分发您的应用程序以及找到较接近您用户的应用程序的关键组件来提高性能。您还可以利用区域特定的功能,例如实例类型或其他 AWS 服务。

  • 高可用性:您可以跨 AWS 区域设计和部署应用程序以提高可用性。

下图显示源 AMI 和不同区域中的两个复制 AMI 以及从三者启动的 EC2 实例之间的关系。当您从 AMI 启动一个实例时,该实例将驻留在 AMI 所在的区域。如果您更改源 AMI,并希望这些更改反映到目标区域的 AMI 中,则必须将源 AMI 重新复制到目标区域。

 在不同区域中复制的 AMI

当您首次将实例存储支持的 AMI 复制到一个区域时,我们会为复制到该区域的 AMI 创建一个 Amazon S3 存储桶。复制到该区域的所有实例存储支持的 AMI 都将存储在此存储桶中。存储桶名称具有以下格式:amis-for-account-in-region-hash。例如:amis-for-123456789012-in-us-west-2-yhjmxvp6

先决条件

复制 AMI 前,您必须确保源 AMI 的内容得到更新,以支持在另一个区域运行。例如,您应更新任何数据库连接字符串或相似的应用程序配置数据,以指向适当的资源。否则,从目标区域的新 AMI 启动的实例可能会继续使用来自源区域的资源,这可能会影响性能和成本。

Limit

目标区域限制为一次 50 个并发 AMI 副本,并且来自一个源区域的不能超过 25 个。

跨账户 AMI 复制

您可以与其他 AWS 账户共享 AMI。共享 AMI 不影响 AMI 的所有权。拥有的账户需要支付区域中的存储费用。有关更多信息,请参阅 将 AMI 与特定 AWS 账户共享

如果您复制已与您的账户共享的 AMI,则您是您的账户中的目标 AMI 的所有者。源 AMI 的所有者需要支付标准 Amazon EBS 或 Amazon S3 传输费,您需要支付目标区域中目标 AMI 的存储费用。

资源权限

要从另一个账户复制已与您共享的 AMI,源 AMI 的所有者必须向您授予对支持该 AMI 的存储 (对于由 Amazon EBS 支持的 AMI,为关联的 EBS 快照;对于由实例存储支持的 AMI,为关联的 S3 存储桶) 的读取权限。

限制

  • 不能从另一个账户复制已与您共享的加密的 AMI。相反,如果已与您共享基础快照和加密密钥,则您可以在复制该快照的同时使用您自己的密钥对其重新加密。您拥有已复制的快照,并且可以将其注册为新的 AMI。

  • 不能从另一个账户复制已与您共享的带关联 billingProduct 代码的 AMI。这包括 Windows AMI 和来自 AWS Marketplace 的 AMI。要复制带 billingProduct 代码的已共享 AMI,请使用已共享 AMI 启动您的账户中的 EC2 实例,然后从该实例创建 AMI。有关更多信息,请参阅创建 Amazon EBS 支持的 Windows AMI

加密和 AMI 复制

在 AMI 复制期间加密仅适用于 Amazon EBS 支持的 AMI。由于实例存储支持的 AMI 不依赖快照,因此无法使用 AMI 复制来更改其加密状态。

您可以使用 AMI 复制创建由加密 Amazon EBS 快照支持的新 AMI。如果您在复制 AMI 时调用加密,将使用您指定的密钥对为其关联的 Amazon EBS 卷 (包括根卷) 拍摄的每个快照进行加密。有关使用具有加密快照的 AMI 的更多信息,请参阅带加密快照的 AMI

默认情况下,将复制 AMI 的备份快照并保持其原始加密状态。复制未加密快照支持的 AMI 将生成完全相同、也未加密的目标快照。如果源 AMI 受加密快照支持,则复制它将生成一个加密到指定密钥的目标快照。复制多个快照支持的 AMI 将保留其在每个目标快照中的源加密状态。有关复制具有多个快照的 AMI 的更多信息,请参阅带加密快照的 AMI

下表显示了各种场景的加密支持。请注意,尽管可以复制未加密快照来生成加密快照,但是不能复制加密快照来生成未加密快照。

场景 说明 支持服务
1 未加密到未加密
2 加密到加密
3 未加密到加密
4 加密到未加密

将未加密的源 AMI 复制到未加密的目标 AMI

在此场景中,具有单个未加密支持快照的 AMI 副本是在指定地理区域 (未显示) 中创建的。尽管此图显示了具有单一支持快照的 AMI,您也可以使用多个快照复制 AMI。将保留每个快照的加密状态。因此,源 AMI 中的未加密快照将在目标 AMI 中生成未加密快照,源 AMI 中的加密快照将在目标 AMI 中生成加密快照。

 复制未加密的源 AMI

将加密源 AMI 复制到加密目标 AMI

尽管此场景涉及加密快照,但它在功能上等效于前一场景。如果您在复制多快照 AMI 时应用加密,则将使用指定密钥 (如果未指定密钥,则使用默认密钥) 来加密所有目标快照。

 复制加密的源 AMI

将未加密的源 AMI 复制到加密目标 AMI

在此场景中,复制 AMI 将更改目标映像的加密状态,例如,对未加密快照进行加密,或使用不同密钥对加密快照进行重新加密。要在复制期间应用加密,您必须提供一个加密标志和一个密钥。只能使用此密钥访问从目标快照创建的卷。

 将未加密的源 AMI 复制到加密目标 AMI

复制 AMI

您可以按如下方式复制 AMI。

先决条件

创建或获取 Amazon EBS 快照支持的 AMI。请注意,您可以使用 Amazon EC2 控制台搜索 AWS 提供的各种 AMI。有关更多信息,请参阅创建 Amazon EBS 支持的 Windows AMI查找 Windows AMI

使用控制台复制 AMI

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 从控制台导航栏中,选择包含 AMI 的区域。在导航窗格中,选择 ImagesAMIs 以显示区域中可供您使用的 AMI 的列表。

  3. 选择要复制的 AMI,然后选择 ActionsCopy AMI

  4. Copy AMI 对话框中,指定以下信息,然后选择 Copy AMI

    • Destination region:要将 AMI 复制到的区域。

    • Name:新 AMI 的名称。您可以在名称中包含操作系统信息,因为我们在显示有关 AMI 的详情时不提供该信息。

    • Description:默认情况下,描述包括源 AMI 的相关信息,以便您能区分副本和原本。您可以按需更改此描述。

    • Encryption:选择此字段可加密目标快照,或使用不同的密钥对它们进行重新加密。

    • Master Key:用于加密目标快照的 KMS 密钥。

  5. 我们将显示一个确认页面,以告知您复制操作已启动,并为您提供新 AMI 的 ID。

    若要立即查看复制操作的进度,请访问提供的链接。若要稍后查看进度,请选择 Done,然后在您准备就绪时使用导航栏切换到目标区域 (如果适用) 并在 AMI 列表中找到您的 AMI。

    目标 AMI 的初始状态为 pending,当状态为 available 时,此操作完成。

使用 AWS CLI 复制 AMI

您可使用 copy-image 命令复制 AMI。您必须指定源区域和目标区域。使用 --source-region 参数指定源区域。您可使用 --region 参数或环境变量指定目标区域。有关更多信息,请参阅配置 AWS 命令行界面

在复制期间加密目标快照时,您必须指定这些额外参数:--encrypted--kms-key-id

使用 Windows PowerShell 工具 复制 AMI

您可使用 Copy-EC2Image 命令复制 AMI。您必须指定源区域和目标区域。使用 -SourceRegion 参数指定源区域。您可使用 -Region 参数或 Set-AWSDefaultRegion 命令指定目标区域。有关更多信息,请参阅指定 AWS 区域

在复制期间加密目标快照时,您必须指定这些额外参数:-Encrypted-KmsKeyId

停止待处理的 AMI 复制操作

您可以按如下方式停止待处理的 AMI 复制。

使用控制台停止 AMI 复制操作

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 从导航栏中,在区域选择器中选择目标区域。

  3. 在导航窗格中,选择 AMIs

  4. 选择要停止复制的 AMI 并选择 ActionsDeregister

  5. 当系统要求确认时,请选择 Continue

使用命令行停止 AMI 复制操作

您可以使用以下任一命令。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2