我正在尝试将磁盘映像导入AWS,以便启动EC2实例。我遵循所述指南,并满足所述的所有先决条件。然而,我面临着一个错误,我一直试图(失败)调试。错误如下。
An error occurred (InvalidParameter) when calling the ImportImage operation: The service role vmimport provided does not exist or does not have sufficient permissions
但是,当我检查vmimport角色的权限时,它拥有EC2和S3的所有必要权限!我的aws cli用户还拥有EC2和S3的完全权限。我尝试了很多不同的解决方案,包括:。将S3桶公开,2。添加访问策略,以便我的AWS cli用户有权访问存储桶。我尝试过的每件事都会返回完全相同的错误信息。。。我想可能是区域问题吧?我在AWS cli用户配置和S3区域中使用us-east-2。还有什么我没有考虑的吗?
另外,我正在尝试导入OVA 1格式的虚拟机映像。
这是我的信托政策
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": { "Service": "vmie.amazonaws.com" },
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals":{
"sts:Externaloid": "vmimport"
}
}
}
]
}
我的角色和政策
"Version":"2012-10-17",
"Statement":[
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::MY-IMPORT-BUCKET",
"arn:aws:s3:::MY-IMPORT-BUCKET/*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket",
"s3:PutObject",
"s3:GetBucketAcl"
],
"Resource": [
"arn:aws:s3:::MY-EXPORT-BUCKET",
"arn:aws:s3:::MY-EXPORT-BUCKET/*"
]
},
{
"Effect": "Allow",
"Action": [
"ec2:ModifySnapshotAttribute",
"ec2:CopySnapshot",
"ec2:RegisterImage",
"ec2:Describe*"
],
"Resource": "*"
}
]
}
最后是容器。json
[
{
"Description": "My Special OVA",
"Format": "ova",
"Url": "s3://MY-IMPORT-BUCKET/VM.ova"
}
]
更新:
在进一步调查该问题后,我发现vmimport last access角色“未被访问”,即从不,这意味着该角色甚至没有被尝试使用!因此,这个错误明确表示它不存在(它找不到服务角色)。在最后一个命令中,命令中没有任何内容表明要使用vmimport,容器中也没有。json。我以为这就是允许vmie的目的。亚马逊。com来控制局面。很明显,它并没有承担这个角色,所以我需要调查这一点和sts。