Amazon ec2 Ansible playbook可获取AWS环境的所有私有Ip

Amazon ec2 Ansible playbook可获取AWS环境的所有私有Ip,amazon-ec2,ansible,Amazon Ec2,Ansible,我正在使用Ansible pLaybook对AWS上的所有实例进行扫描。我需要获得他们的私有IP并列出他们 我尝试使用json查询来过滤json格式。格式输出如下所示 ok: [localhost] => { "msg": [ { "private_dns_name": "ip-10.89.3.12.ec2.internal", "private_ip_address": "10.89.3.12",

我正在使用Ansible pLaybook对AWS上的所有实例进行扫描。我需要获得他们的私有IP并列出他们

我尝试使用json查询来过滤json格式。格式输出如下所示

ok: [localhost] => {
    "msg": [
        { 
            "private_dns_name": "ip-10.89.3.12.ec2.internal", 
            "private_ip_address": "10.89.3.12", 
            "public_dns_name": "", 
            "public_ip_address": null, 

        }, 
我希望输出仅为私有IP列表

我尝试使用“ec2\u实例\u事实”,如下所示:

- hosts: localhost
  connection: local
  gather_facts: yes
  tasks:
    - name: Gather EC2 remote facts.
      ec2_instance_facts:
        filters:
          availability-zone: ap-south-1b
      register: ec2_instance_facts
    -  set_fact:
         msg: "{{ ec2_instance_facts | json_query('instances[*].private_ip_address') }} "
    - debug: var=msg
以下是输出:

PLAY [localhost] **************************************************************************************************************************************************************************************************

TASK [Gathering Facts] ********************************************************************************************************************************************************************************************
ok: [localhost]

TASK [Gather EC2 remote facts.] ***********************************************************************************************************************************************************************************
ok: [localhost]

TASK [set_fact] ***************************************************************************************************************************************************************************************************
ok: [localhost]

TASK [debug] ******************************************************************************************************************************************************************************************************
ok: [localhost] => {
    "msg": [
        "172.31.6.87"
    ]
}

PLAY RECAP ********************************************************************************************************************************************************************************************************
localhost                  : ok=4    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
根据我创建的EC2实例,这是正确的。

您是否只需要使用“EC2\u remote\u facts”来收集有关EC2的数据?我这样问是因为这个任务现在已经不推荐了。您可以改用“ec2\u实例\u事实”
PLAY [localhost] **************************************************************************************************************************************************************************************************

TASK [Gathering Facts] ********************************************************************************************************************************************************************************************
ok: [localhost]

TASK [Gather EC2 remote facts.] ***********************************************************************************************************************************************************************************
ok: [localhost]

TASK [set_fact] ***************************************************************************************************************************************************************************************************
ok: [localhost]

TASK [debug] ******************************************************************************************************************************************************************************************************
ok: [localhost] => {
    "msg": [
        "172.31.6.87"
    ]
}

PLAY RECAP ********************************************************************************************************************************************************************************************************
localhost                  : ok=4    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0