我正在使用AWS CLI创建AWS Spot实例,但每次我收到以下错误。 “调用RequestSpotInstances操作时发生错误(UnauthorizedOperation):您无权执行此操作。”
注意: - 我能够成功地从EC2控制台(GUI)创建现场实例。 下面提到的是aws cli
aws ec2 request-spot-instances --spot-price“0.003” - instance-count 1 --type“persistent”--launch-specification file://param.json --instance-interruption-behavior“停止“--profile”“
param.json的内容
{
"ImageId": "ami-0123456",
"UserData":"file:://my_script.txt"
"KeyName": "gistdev_default_rsa",
"SecurityGroupIds": [ "sg-0123456" ],
"InstanceType": "t2.medium",
"Placement": {
"AvailabilityZone": "us-west-2a"
},
"NetworkInterfaces": [
{
"DeviceIndex": 0,
"SubnetId": "subnet-0123456",
"Groups": [ "sg-0123456" ],
"AssociatePublicIpAddress": true
}
]
}
我没有在json文件中指定“IamInstanceProfile”参数。这是必须的吗?
〜阿希什
答案 0 :(得分:2)
仅仅因为您可以使用控制台(GUI)创建专色实例并不意味着您可以使用CLI创建它们。什么可能出错?
答案 1 :(得分:0)
缺少对AmazonEC2SpotFleetRole的iam用户的权限。请在将AWS管理的AmazonEC2SpotFleetRole政策附加到您的用户后尝试。
没有强制要求添加" IamInstanceProfile"在创建spot-instance时在json文件中。 IamInstanceProfile是一个角色,可以通过ec2实体作为受信任的实体进行访问。
答案 2 :(得分:0)