AWS InvalidParameter при вызове операции ImportImage
У меня есть
.ova
Виртуальные машины хранятся в моей корзине S3, я пытаюсь создать AMI из этих OVA. Я просматривал это видео, чтобы импортировать виртуальную машину как образ с помощью импорта/экспорта виртуальной машины в Amazon EC2.
Я создал экземпляр EC2, который буду использовать для запуска необходимых команд CLI для импорта. Я создал роль IAM и прикрепил ее к экземпляру EC2.
Пожалуйста, ознакомьтесь с информацией о роли:
Политика доверия
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "vmie.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Встроенная политика доступа к S3 и EC2
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:CopySnapshot",
"s3:ListAccessPointsForObjectLambda",
"s3:GetAccessPoint",
"s3:PutAccountPublicAccessBlock",
"s3:ListAccessPoints",
"ec2:RegisterImage",
"s3:ListJobs",
"s3:PutStorageLensConfiguration",
"s3:ListMultiRegionAccessPoints",
"s3:ListStorageLensConfigurations",
"ec2:Describe*",
"s3:GetAccountPublicAccessBlock",
"ec2:ModifySnapshotAttribute",
"s3:ListAllMyBuckets",
"s3:PutAccessPointPublicAccessBlock",
"s3:CreateJob",
"ec2:ImportImage"
],
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "s3:*",
"Resource": "arn:aws:s3:::vms"
},
{
"Sid": "AllowStsDecode",
"Effect": "Allow",
"Action": "sts:DecodeAuthorizationMessage",
"Resource": "*"
}
]
}
Встроенная политика для расшифровки KMS
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "kms:Decrypt",
"Resource": "*"
}
]
}
Кроме того, я приложил
AWSImportExportFullAccess
управляемая политика для роли.
Я использую следующую команду для импорта виртуальной машины в AMI:
aws ec2 import-image --description "MY_VM_Image" --disk-containers "file://configuration.json"
Вот содержание
configuration.json
[{
"Description": "Image",
"Format": "ova",
"UserBucket": {
"S3Bucket": "vm",
"S3Key": "xzt.ova"
}
}
]
Но я сталкиваюсь со следующей ошибкой:
An error occurred (InvalidParameter) when calling the ImportImage operation: The service role vmimport provided does not exist or does not have sufficient permissions
Я попытался взглянуть на документ по устранению неполадок . В нем говорится следующее
This error can also occur if the user calling ImportImage has Decrypt permission but the vmimport role does not.
Итак, я также отключил шифрование по умолчанию на S3.
Все равно не повезло. Какие еще разрешения необходимы для успешного выполнения команды.
1 ответ
Я столкнулся с той же проблемой, и оказалось, что часы не синхронизированы с серверами NTP (около 6 минут). Как только время было синхронизировано, образ импорта aws ec2 заработал, как и ожидалось.
Вот ссылка о важности синхронизации времени в Kerberos: