【发布时间】:2018-02-01 18:52:59
【问题描述】:
通过谷歌搜索,我找到了this tutorial on accessing S3 from EC2 instance without credential file。我按照它的指示获得了所需的实例。 aws web 控制台页面看起来像
但是,我不想每次都使用 Web 控制台手动执行此操作。如何使用 boto3 创建这样的 EC2 实例?
我试过了
s = boto3.Session(profile_name='dev', region_name='us-east-1')
ec2 = s.resource('ec2')
rc = ec2.create_instances(ImageId='ami-0e297018',
InstanceType='t2.nano',
MinCount=1,
MaxCount=1,
KeyName='my-key',
IamInstanceProfile={'Name': 'harness-worker'},
)
其中harness-worker 是有权访问 S3 的 IAM 角色,但仅此而已。
它还与 aws Web 控制台教程一起用于第一种方法。
然后我收到错误提示
ClientError:调用时发生错误(UnauthorizedOperation) RunInstances 操作:您无权执行此操作 操作。
我做错了什么吗?
dev 配置文件具有 AmazonEC2FullAccess。没有IamInstanceProfile={'Name': 'harness-worker'}, 行,create_instances 可以创建实例。
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-ec2 boto3 amazon-iam