如何使用Boto3启动具有IAM角色的EC2实例?

时间:2017-01-07 05:57:18

标签: python amazon-web-services amazon-ec2 boto3 amazon-iam

我无法弄清楚如何在具有指定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')

2 个答案:

答案 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