我无法弄清楚如何在具有指定IAM角色的Boto3中启动EC2实例。
以下是我迄今为止如何成功创建实例的示例代码:
import boto3
ec2 = boto3.resource('ec2', region_name='us-west-2')
ec2.create_instances(ImageId='ami-1e299d7e', InstanceType='t2.micro',\
MinCount=1, MaxCount=1, SecurityGroupIds=['Mysecuritygroup'], KeyName='mykeyname')
答案 0 :(得分:13)
注意:某些Boto3版本接受 Arn
或 Name
,但所有版本都接受{{1} }。我建议仅使用角色名称。
Name
如果您的个人资料名称为IamInstanceProfile={
'Arn': 'string',
'Name': 'string'
}
且ARN为ExampleInstanceProfile
arn:aws:iam::123456789012:instance-profile/ExampleInstanceProfile
答案 1 :(得分:5)
只是helloV给出了一个很好的答案(由于声誉限制我无法发表评论)。我遇到了同样的错误消息“参数'iamInstanceProfile.name'可能不会与'iamInstanceProfile.arn'结合使用”。所以只允许一个键。我试验了两者并使用
IamInstanceProfile = {'Name':'ExampleInstanceProfile' }
适合我,但不使用
IamInstanceProfile = { '阿恩': 'ARN:AWS:IAM :: 123456789012:instanceprofile / ExampleInstanceProfile' }
我正在使用boto3版本1.4.4