Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

复制 AMI

您可以使用 AWS 管理控制台、AWS Command Line Interface 或开发工具包、或者 Amazon EC2 API(三者都支持 CopyImage 操作)在 AWS 区域内或跨 AWS 区域复制 Amazon 系统映像 (AMI)。可以复制由 Amazon EBS 支持的 AMIs 和由实例存储支持的 AMIs。您可以复制带加密快照的 AMI,并在复制过程中更改加密状态。

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

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

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

复制实例存储支持的 AMI 的权限

如果您使用 IAM 用户复制实例存储支持的 AMI,则用户必须具有以下 Amazon S3 权限:s3:CreateBuckets3:GetBucketAcls3:ListAllMyBucketss3:GetObjects3:PutObjects3: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 资源名称 (ARN),请通过 https://console.amazonaws.cn/ec2/ 打开 Amazon EC2 控制台,在导航窗格中选择 AMI,然后在列中找到该存储桶名称。

跨区域复制

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

  • 一致的全球部署:通过将 AMI 从一个区域复制到另一个区域,您可以根据相同的 AMI 在不同的区域中启动一致的实例。

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

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

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

下图显示源 AMI、在不同的区域中复制的两个 AMIs 以及从它们中启动的 EC2 实例之间的关系。从 AMI 中启动实例时,该实例位于 AMI 所在的区域中。如果您更改源 AMI,并希望在目标区域中的 AMIs 上反映这些更改,您必须将源 AMI 重新复制到目标区域中。


				在不同区域中复制的 AMI

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

先决条件

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

限制

  • 目标区域限制为 50 个并发 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 带有加密快照,拥有者必须同时与您共享一个或多个密钥。

注意

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

加密和复制

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

场景 描述 支持
1 未加密到未加密
2 加密到加密
3 未加密到加密
4 加密到未加密

注意

CopyImage 操作期间加密仅适用于 Amazon EBS 支持的 AMIs。因为实例存储支持的 AMI 不依赖于快照,所以不能使用复制来更改器加密状态。

默认情况下(即未指定加密参数的情况)将复制 AMI 的备份快照并保持其原始加密状态。复制未加密快照支持的 AMI 将生成完全相同、也未加密的目标快照。如果源 AMI 受加密快照支持,则复制它将生成一个由相同客户主密钥 (CMK) 加密的相同目标快照。在默认情况下,复制多个快照支持的 AMI 将保留其在每个目标快照中的源加密状态。

如果您在复制 AMI 的过程中指定对应加密参数,可以将其备份快照加密或重新加密。以下示例显示为 CopyImage 操作提供加密参数以更改目标 AMI 的加密状态的一个非默认案例。

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

在这种情况下,将使用未加密根快照提供支持的 AMI 复制到使用加密根快照的 AMI。CopyImage 操作将通过两个加密参数(包括 CMK)进行调用。因此,根快照的加密状态将更改,以便让目标 AMI 由包含与源快照相同的数据但使用指定密钥进行加密的根快照提供支持。两个 AMIs 中的快照都将产生存储费用,从任一 AMI 启动的任何实例也将产生费用。

注意

启用默认加密与针对 AMI 中的所有快照将 Encrypted 参数设置为 true 的效果相同。


		复制 AMI 并对快照进行动态加密

设置 Encrypted 参数会对此实例的单一快照进行加密。如果您未指定 KmsKeyId 参数,则使用默认 CMK 来对快照副本加密。

有关复制带加密快照的 AMIs 的更多信息,请参阅将加密与 EBS 支持的 AMI 结合使用

复制 AMI

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

先决条件

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

使用控制台复制 AMI

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

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

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

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

    • 目标区域:在其中复制 AMI 的区域。

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

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

    • Encryption:选择此字段可加密目标快照,或使用不同的密钥对它们进行重新加密。如果您启用默认加密,会同步设置加密选项,且不能通过 AMI 控制台取消设置该选项。

    • 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,然后选择操作取消注册

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

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

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