Ich versuche, eine Instanz mit einer IAM-Rolle mit Ansible zu starten .
Aber ich finde nicht, wie es geht.
Weiß jemand, ob es möglich ist?
Wenn ich Ansible nicht verwenden kann. Ich versuche es mit Boto
Ich versuche, eine Instanz mit einer IAM-Rolle mit Ansible zu starten .
Aber ich finde nicht, wie es geht.
Weiß jemand, ob es möglich ist?
Wenn ich Ansible nicht verwenden kann. Ich versuche es mit Boto
Antworten:
http://docs.ansible.com/ec2_module.html
instance_profile_name
(hinzugefügt in 1.3) :
Name des zu verwendenden IAM-Instanzprofils. Die Boto-Bibliothek muss 2.5.0+ sein
Zum instance_profile_name
einen muss man einfach einen IAM-Rollennamen verwenden. Wenn Sie beispielsweise eine IAM-Rolle "Webserver" erstellt haben, verwenden Sie "arn: aws: iam :: 123456789012: instance-profile / webserver" für instance_profile_name
(bearbeiten Sie arn entsprechend Ihrem Konto).
Stellen Sie sicher, dass Sie auch das richtige Prinzip der Vertrauensrichtlinie verwenden:
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Principal": {"Service": "ec2.amazonaws.com"},
"Action": "sts:AssumeRole"
}
}
Sie können die folgenden Aufgaben testen und eine iam_role
an Ihre Instanz anhängen . Ich habe dies nicht mit dem Instanznamen versucht, aber ich denke, dass es funktionieren wird.
- name: Get Instance ID debug:
var=ec2_id
- name: set IAM ROLE
ec2_instance:
region: eu-west-3
aws_access_key: "{{ package_aws_access_key }}"
aws_secret_key: "{{ package_aws_secret_key }}"
instance_ids:
- "{{ ec2_id }}"
instance_role: "{{ iam_role }}"
delegate_to: localhost