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中的使用管理访问权限。
- Console
-
配置 S3 存储桶
打开 Amazon S3 控制台,网址为 https://console.aws.amazon.com/s3/。
-
选择用于存储导出实例的存储桶。
-
在权限选项卡上,将对象所有权更改为首选存储桶所有者。
-
附加以下存储桶策略。对于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
/*"
]
}
]
}'