Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
从 Amazon EC2 导出实例的先决条件
要从 Amazon EC2 导出 VM,首先必须满足以下先决条件:
-
创建 Amazon S3 存储桶用于存储导出的实例或者选择现有的存储桶。存储桶必须位于您想要导出 VM 的区域。此外,存储桶必须属于您在其中执行导出操作的 Amazon Web Services 账户。有关更多信息,请参阅 Amazon Simple Storage Service 用户指南。
-
您无法把虚拟机导出到一个已为 S3 对象所有权应用强制桶拥有者设置的 S3 存储桶,因为 ACL 已被禁用。有关更多信息,请参阅《Amazon Simple Storage Service 用户指南》中配置 ACL。
-
附加一个包含以下授权的访问控制列表(ACL),准备您的 S3 存储桶。有关更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的使用 ACL 管理访问。
- Console
-
配置 S3 存储桶
通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/。
-
选择用于存储所导出实例的存储桶。
-
在权限选项卡上,请将对象所有权更改为首选存储桶所有者。
-
附加以下存储桶策略。对于 CanonicalUser,请输入存储桶区域的规范账户 ID。对于 Resource,请在存储桶 ARN 中输入您的存储桶的名称。
JSON
- JSON
-
{
"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,请在存储桶 ARN 中输入您的存储桶的名称。
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-S3BucketOwnershipControl cmdlet 更改对象所有权。
Write-S3BucketOwnershipControl `
-BucketName "amzn-s3-demo-export-bucket" `
-OwnershipControls_Rule @{ObjectOwnership="BucketOwnerPreferred"}
使用 Write-S3BucketPolicy cmdlet 附加存储桶策略。对于 CanonicalUser,请输入存储桶区域的规范账户 ID。对于 Resource,请在存储桶 ARN 中输入您的存储桶的名称。
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/*"
]
}
]
}'