从 Amazon 导出实例的先决条件 EC2 - VM Import/Export
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

从 Amazon 导出实例的先决条件 EC2

要从 Amazon 导出虚拟机 EC2,请先满足以下先决条件:

  • 创建 Amazon S3 存储桶用于存储导出的实例或者选择现有的存储桶。存储桶必须位于您要导出的区域 VMs。此外,存储桶必须属于您执行导出操作 Amazon Web Services 账户 的位置。有关更多信息,请参阅 Amazon Simple Storage Service 用户指南

  • 由于已禁用,您无法将虚拟机导出到使用存储桶所有者强制设置的 S3 对象所有权 ACLs 的 S3 存储桶。有关更多信息,请参阅 Amazon 简单存储服务用户指南 ACLs中的配置

  • 附加一个包含以下授权的访问控制列表(ACL),准备您的 S3 存储桶。有关更多信息,请参阅《Amazon 简单存储服务用户指南》 ACLs中的使用管理访问权限

    • 为每个 Grantee 提供以下权限:

      • READ_ACP(在 Amazon S3 控制台中,存储桶 ACL 应具有读取权限)

      • WRITE(在 Amazon S3 控制台中,对象应具有写入权限)

    • 对于 Grantee,请提供以下规范账户 ID:834bafd86b15b6ca71074df0fd1f93d234b9d5e848a2cb31f880c149003ce36f

配置您的 S3 存储桶

Console
配置 S3 存储桶
  1. 打开 Amazon S3 控制台,网址为 https://console.aws.amazon.com/s3/

  2. 选择用于存储导出实例的存储桶。

  3. 权限选项卡上,将对象所有权更改为首选存储桶所有者

  4. 附加以下存储桶策略。对于CanonicalUser,输入存储桶区域的规范账户 ID。对于Resource,在存储桶中输入您的存储桶的名称 ARNs。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "GrantReadAclAndWrite", "Effect": "Allow", "Principal": { "CanonicalUser": "c4d8eabf8db69dbe46bfe0e517100c554f01200b104d59cd408e777ba442a322" }, "Action": [ "s3:GetBucketAcl", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-export-bucket", "arn:aws:s3:::amzn-s3-demo-export-bucket/*" ] } ] }
Amazon CLI
配置 S3 存储桶

使用put-bucket-ownership-controls命令更改对象所有权。

aws s3api put-bucket-ownership-controls \ --bucket amzn-s3-demo-export-bucket \ --ownership-controls='{"Rules":[{"ObjectOwnership":"BucketOwnerPreferred"}]}'

使用put-bucket-policy命令附加存储桶策略。对于CanonicalUser,输入存储桶区域的规范账户 ID。对于Resource,在存储桶中输入您的存储桶的名称 ARNs。

aws s3api put-bucket-policy \ --bucket amzn-s3-demo-export-bucket \ --policy \ '{ "Version": "2012-10-17", "Statement": [ { "Sid": "GrantReadAcpAndWrite", "Effect": "Allow", "Principal": { "CanonicalUser": "c4d8eabf8db69dbe46bfe0e517100c554f01200b104d59cd408e777ba442a322" }, "Action": [ "s3:GetBucketAcl", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-export-bucket", "arn:aws:s3:::amzn-s3-demo-export-bucket/*" ] } ] }'
PowerShell
配置 S3 存储桶

使用 Write-S3BucketOwnershipControlcmdlet 更改对象所有权。

Write-S3BucketOwnershipControl ` -BucketName "amzn-s3-demo-export-bucket" ` -OwnershipControls_Rule @{ObjectOwnership="BucketOwnerPreferred"}

使用 Write-S3BucketPolicycmdlet 附加存储桶策略。对于CanonicalUser,输入存储桶区域的规范账户 ID。对于Resource,在存储桶中输入您的存储桶的名称 ARNs。

Write-S3BucketPolicy ` -BucketName "amzn-s3-demo-export-bucket" ` -Policy ` '{ "Version": "2012-10-17", "Statement": [ { "Sid": "GrantReadAcpAndWrite", "Effect": "Allow", "Principal": { "CanonicalUser": "c4d8eabf8db69dbe46bfe0e517100c554f01200b104d59cd408e777ba442a322" }, "Action": [ "s3:GetBucketAcl", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-export-bucket", "arn:aws:s3:::amzn-s3-demo-export-bucket/*" ] } ] }'