Andrés Sánchez García Asked: 2015-06-17 09:30:43 +0800 CST2015-06-17 09:30:43 +0800 CST 2015-06-17 09:30:43 +0800 CST 使用 Ansible 启动具有 IAM 角色的 EC2 实例 772 我正在尝试使用Ansible启动具有 IAM 角色的实例。 但我不知道该怎么做。 有谁知道这是否可能? 如果我不能使用 Ansible。我用boto试试 amazon-ec2 4 个回答 Voted Best Answer ceejayoz 2015-06-17T09:44:54+08:002015-06-17T09:44:54+08:00 http://docs.ansible.com/ec2_module.html instance_profile_name (在 1.3 中添加): 要使用的 IAM 实例配置文件的名称。Boto 库必须是 2.5.0+ XRoot 2019-08-24T01:07:09+08:002019-08-24T01:07:09+08:00 - 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 skymonkey 2017-10-30T05:56:31+08:002017-10-30T05:56:31+08:00 对于instance_profile_name一个简单的必须使用 IAM 角色名称。例如,如果您创建了 IAM 角色“webserver”,则使用“arn:aws:iam::123456789012:instance-profile/webserver” instance_profile_name(编辑 arn 以匹配您的帐户)。 确保您还使用正确的信任策略主体: { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": "ec2.amazonaws.com"}, "Action": "sts:AssumeRole" } } XRoot 2019-08-24T01:29:32+08:002019-08-24T01:29:32+08:00 您可以测试以下任务并将一个附加iam_role到您的实例。我没有尝试使用实例名称,但我认为它会起作用。 - 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
http://docs.ansible.com/ec2_module.html
对于
instance_profile_name
一个简单的必须使用 IAM 角色名称。例如,如果您创建了 IAM 角色“webserver”,则使用“arn:aws:iam::123456789012:instance-profile/webserver”instance_profile_name
(编辑 arn 以匹配您的帐户)。确保您还使用正确的信任策略主体:
您可以测试以下任务并将一个附加
iam_role
到您的实例。我没有尝试使用实例名称,但我认为它会起作用。