2017-01-07 15 views
5

Tôi không thể tìm ra cách khởi chạy phiên bản EC2 trong Boto3 với vai trò IAM được chỉ định.Làm cách nào để sử dụng Boto3 để khởi chạy phiên bản EC2 với vai trò IAM?

Dưới đây là một số mã sampe như thế nào tôi đã có thể tạo ra thành công một thể hiện cho đến nay:

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') 

Trả lời

7
IamInstanceProfile={ 
    'Arn': 'string', 
    'Name': 'string' 
} 

Nếu tên hồ sơ của bạn là ExampleInstanceProfile và ARN là arn:aws:iam::123456789012:instance-profile/ExampleInstanceProfile

ec2.create_instances(ImageId='ami-1e299d7e', 
        InstanceType='t2.micro', 
        MinCount=1, MaxCount=1, 
        SecurityGroupIds=['Mysecuritygroup'], 
        KeyName='mykeyname', 
        IamInstanceProfile={ 
          'Arn': 'arn:aws:iam::123456789012:instanceprofile/ExampleInstanceProfile' 
          'Name': 'ExampleInstanceProfile' 
        }) 
+1

Đó làm việc, cảm ơn bạn! Chỉ cần một lưu ý mặc dù, nó nói: 'Tham số 'iamInstanceProfile.name' có thể không được sử dụng kết hợp với 'iamInstanceProfile.arn'' – Gerk

2

Chỉ cần một sự bổ sung cho câu trả lời tuyệt vời của helloV (Tôi không thể bình luận do giới hạn danh tiếng). Tôi đã gặp thông báo lỗi tương tự của "Tham số 'iamInstanceProfile.name' có thể không được sử dụng kết hợp với 'iamInstanceProfile.arn'". Vì vậy, chỉ có một khóa được cho phép. Tôi đã thử nghiệm với cả hai và sử dụng

IamInstanceProfile = { 'Tên': 'ExampleInstanceProfile' }

công trình đối với tôi, nhưng không sử dụng

IamInstanceProfile = { 'Arn': 'ARN: AWS: iam :: 123456789012: instanceprofile/ExampleInstanceProfile' }

tôi đang sử dụng phiên bản 1.4.4 boto3

Các vấn đề liên quan