I’m a beginner struggling with making AWS dynamic Inventory work for me. This is on a newly created Ubuntu 22.04 VM, Ansible 2.16.11 from PPA, amazon.aws 8.2.1 and 7.6.1 installed (not sure why two versions exist here, I installed the collection a single time). The problem is that the hosts I’m creating are not reachable and not matched in the playbook. What am I doing wrong?
Listed below are my exercise playbook (with only one task besides instance creation), ansible.cfg, and the lsn13.aws_ec2.yml dynamic inventory config file. After that, I present the output of ansible-playbook, ansible-inventory --list, and ansible all -m ping.
lsn13.yml:
---
- name: Create AWS instances
  hosts: localhost
  gather_facts: no
  tasks:
  - name: Create instances
    amazon.aws.ec2_instance:
      name: "{{ item }}"
      key_name: user18kp
      region: us-east-1
      instance_type: t2.micro
      security_group: user18sg
      network_interfaces:
       - assign_public_ip: true
      image_id: ami-0a0e5d9c7acc336f1
      wait: yes
    with_items:
      - build
      - deploy
- name: Provision build host and build app
  hosts: build
  become: yes
  tasks:
  - name: Ensure git and maven are installed
    apt:
      name:
        - git
        - maven
      state: present
      update_cache: true
ansible.cfg:
[defaults]
inventory = lsn13.aws_ec2.yml
host_key_checking = false
remote_user = ubuntu
private_key_file = /root/.ssh/user18kp.pem
lsn13.aws_ec2.yml:
plugin: amazon.aws.aws_ec2
regions:
  - us-east-1
hostnames:
  - 'tag:Name'
Output:
. ~/secrets && ansible-playbook --flush-cache lsn13.yml
PLAY [Create AWS instances] *************************************************************************************************************************************************************************
TASK [Create instances] *****************************************************************************************************************************************************************************
changed: [localhost] => (item=build)
changed: [localhost] => (item=deploy)
[WARNING]: Could not match supplied host pattern, ignoring: build
PLAY [Provision build host and build app] ***********************************************************************************************************************************************************
skipping: no hosts matched
PLAY RECAP ******************************************************************************************************************************************************************************************
localhost                  : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
ansible-inventory -i lsn13.aws_ec2.yml --list
{
    "_meta": {
        "hostvars": {
            "Elastic01": {
                "ami_launch_index": 0,
                "architecture": "x86_64",
                "block_device_mappings": [
                    {
                        "device_name": "/dev/sda1",
                        "ebs": {
                            "attach_time": "2024-08-01T16:07:17+00:00",
                            "delete_on_termination": true,
                            "status": "attached",
                            "volume_id": "vol-027caeadc08aa38dc"
                        }
                    }
                ],
                "boot_mode": "uefi-preferred",
                "capacity_reservation_specification": {
                    "capacity_reservation_preference": "open"
                },
                "client_token": "c9af4461-9a33-48bb-991e-895ededbf2e3",
                "cpu_options": {
                    "core_count": 2,
                    "threads_per_core": 1
                },
                "current_instance_boot_mode": "legacy-bios",
                "ebs_optimized": false,
                "ena_support": true,
                "enclave_options": {
                    "enabled": false
                },
                "hibernation_options": {
                    "configured": false
                },
                "hypervisor": "xen",
                "image_id": "ami-0a0e5d9c7acc336f1",
                "instance_id": "i-0b188573888c4b973",
                "instance_type": "t2.large",
                "key_name": "root-01",
                "launch_time": "2024-08-27T15:14:59+00:00",
                "maintenance_options": {
                    "auto_recovery": "default"
                },
                "metadata_options": {
                    "http_endpoint": "enabled",
                    "http_protocol_ipv6": "disabled",
                    "http_put_response_hop_limit": 2,
                    "http_tokens": "required",
                    "instance_metadata_tags": "disabled",
                    "state": "applied"
                },
                "monitoring": {
                    "state": "disabled"
                },
                "network_interfaces": [
                    {
                        "attachment": {
                            "attach_time": "2024-08-01T16:07:16+00:00",
                            "attachment_id": "eni-attach-0431e5d04c7efb1c1",
                            "delete_on_termination": true,
                            "device_index": 0,
                            "network_card_index": 0,
                            "status": "attached"
                        },
                        "description": "",
                        "groups": [
                            {
                                "group_id": "sg-09d3e51b44970b195",
                                "group_name": "launch-wizard-6"
                            }
                        ],
                        "interface_type": "interface",
                        "ipv6_addresses": [],
                        "mac_address": "0a:ff:cc:b3:da:b7",
                        "network_interface_id": "eni-0fe807284a4a0563d",
                        "owner_id": "107744273479",
                        "private_dns_name": "ip-172-31-21-181.ec2.internal",
                        "private_ip_address": "172.31.21.181",
                        "private_ip_addresses": [
                            {
                                "primary": true,
                                "private_dns_name": "ip-172-31-21-181.ec2.internal",
                                "private_ip_address": "172.31.21.181"
                            }
                        ],
                        "source_dest_check": true,
                        "status": "in-use",
                        "subnet_id": "subnet-0481c8fb57adc815c",
                        "vpc_id": "vpc-0a48b0ba83bd3a816"
                    }
                ],
                "owner_id": "107744273479",
                "placement": {
                    "availability_zone": "us-east-1d",
                    "group_name": "",
                    "region": "us-east-1",
                    "tenancy": "default"
                },
                "platform_details": "Linux/UNIX",
                "private_dns_name": "ip-172-31-21-181.ec2.internal",
                "private_dns_name_options": {
                    "enable_resource_name_dns_a_record": true,
                    "enable_resource_name_dns_aaaa_record": false,
                    "hostname_type": "ip-name"
                },
                "private_ip_address": "172.31.21.181",
                "product_codes": [],
                "public_dns_name": "",
                "requester_id": "",
                "reservation_id": "r-0a517ab1db76e35d3",
                "root_device_name": "/dev/sda1",
                "root_device_type": "ebs",
                "security_groups": [
                    {
                        "group_id": "sg-09d3e51b44970b195",
                        "group_name": "launch-wizard-6"
                    }
                ],
                "source_dest_check": true,
                "state": {
                    "code": 80,
                    "name": "stopped"
                },
                "state_reason": {
                    "code": "Client.UserInitiatedShutdown",
                    "message": "Client.UserInitiatedShutdown: User initiated shutdown"
                },
                "state_transition_reason": "User initiated (2024-08-27 21:31:18 GMT)",
                "subnet_id": "subnet-0481c8fb57adc815c",
                "tags": {
                    "Name": "Elastic01"
                },
                "usage_operation": "RunInstances",
                "usage_operation_update_time": "2024-08-01T16:07:16+00:00",
                "virtualization_type": "hvm",
                "vpc_id": "vpc-0a48b0ba83bd3a816"
            },
            "build": {
                "ami_launch_index": 0,
                "architecture": "x86_64",
                "block_device_mappings": [
                    {
                        "device_name": "/dev/sda1",
                        "ebs": {
                            "attach_time": "2024-09-25T13:40:02+00:00",
                            "delete_on_termination": true,
                            "status": "attached",
                            "volume_id": "vol-03393f23aff981241"
                        }
                    }
                ],
                "boot_mode": "uefi-preferred",
                "capacity_reservation_specification": {
                    "capacity_reservation_preference": "open"
                },
                "client_token": "aac6f4cd64bb4925876d4e5c67139aca",
                "cpu_options": {
                    "core_count": 1,
                    "threads_per_core": 1
                },
                "current_instance_boot_mode": "legacy-bios",
                "ebs_optimized": false,
                "ena_support": true,
                "enclave_options": {
                    "enabled": false
                },
                "hibernation_options": {
                    "configured": false
                },
                "hypervisor": "xen",
                "image_id": "ami-0a0e5d9c7acc336f1",
                "instance_id": "i-0f3a6f50d503ff3ac",
                "instance_type": "t2.micro",
                "key_name": "user18kp",
                "launch_time": "2024-09-25T13:40:01+00:00",
                "maintenance_options": {
                    "auto_recovery": "default"
                },
                "metadata_options": {
                    "http_endpoint": "enabled",
                    "http_protocol_ipv6": "disabled",
                    "http_put_response_hop_limit": 1,
                    "http_tokens": "optional",
                    "instance_metadata_tags": "disabled",
                    "state": "applied"
                },
                "monitoring": {
                    "state": "disabled"
                },
                "network_interfaces": [
                    {
                        "association": {
                            "ip_owner_id": "amazon",
                            "public_dns_name": "ec2-54-89-132-103.compute-1.amazonaws.com",
                            "public_ip": "54.89.132.103"
                        },
                        "attachment": {
                            "attach_time": "2024-09-25T13:40:01+00:00",
                            "attachment_id": "eni-attach-0ac92cbde2d703623",
                            "delete_on_termination": true,
                            "device_index": 0,
                            "network_card_index": 0,
                            "status": "attached"
                        },
                        "description": "",
                        "groups": [
                            {
                                "group_id": "sg-0956ef2aa27fb24df",
                                "group_name": "user18sg"
                            }
                        ],
                        "interface_type": "interface",
                        "ipv6_addresses": [],
                        "mac_address": "0e:81:1c:9b:14:e7",
                        "network_interface_id": "eni-018a1018fa2afff9a",
                        "owner_id": "107744273479",
                        "private_dns_name": "ip-172-31-37-45.ec2.internal",
                        "private_ip_address": "172.31.37.45",
                        "private_ip_addresses": [
                            {
                                "association": {
                                    "ip_owner_id": "amazon",
                                    "public_dns_name": "ec2-54-89-132-103.compute-1.amazonaws.com",
                                    "public_ip": "54.89.132.103"
                                },
                                "primary": true,
                                "private_dns_name": "ip-172-31-37-45.ec2.internal",
                                "private_ip_address": "172.31.37.45"
                            }
                        ],
                        "source_dest_check": true,
                        "status": "in-use",
                        "subnet_id": "subnet-068bdc5c304901a8b",
                        "vpc_id": "vpc-0a48b0ba83bd3a816"
                    }
                ],
                "owner_id": "107744273479",
                "placement": {
                    "availability_zone": "us-east-1a",
                    "group_name": "",
                    "region": "us-east-1",
                    "tenancy": "default"
                },
                "platform_details": "Linux/UNIX",
                "private_dns_name": "ip-172-31-37-45.ec2.internal",
                "private_dns_name_options": {
                    "enable_resource_name_dns_a_record": false,
                    "enable_resource_name_dns_aaaa_record": false,
                    "hostname_type": "ip-name"
                },
                "private_ip_address": "172.31.37.45",
                "product_codes": [],
                "public_dns_name": "ec2-54-89-132-103.compute-1.amazonaws.com",
                "public_ip_address": "54.89.132.103",
                "requester_id": "",
                "reservation_id": "r-0aa71f89062339c78",
                "root_device_name": "/dev/sda1",
                "root_device_type": "ebs",
                "security_groups": [
                    {
                        "group_id": "sg-0956ef2aa27fb24df",
                        "group_name": "user18sg"
                    }
                ],
                "source_dest_check": true,
                "state": {
                    "code": 16,
                    "name": "running"
                },
                "state_transition_reason": "",
                "subnet_id": "subnet-068bdc5c304901a8b",
                "tags": {
                    "Name": "build"
                },
                "usage_operation": "RunInstances",
                "usage_operation_update_time": "2024-09-25T13:40:01+00:00",
                "virtualization_type": "hvm",
                "vpc_id": "vpc-0a48b0ba83bd3a816"
            },
            "deploy": {
                "ami_launch_index": 0,
                "architecture": "x86_64",
                "block_device_mappings": [
                    {
                        "device_name": "/dev/sda1",
                        "ebs": {
                            "attach_time": "2024-09-25T13:40:08+00:00",
                            "delete_on_termination": true,
                            "status": "attached",
                            "volume_id": "vol-079863d419e5d4979"
                        }
                    }
                ],
                "boot_mode": "uefi-preferred",
                "capacity_reservation_specification": {
                    "capacity_reservation_preference": "open"
                },
                "client_token": "2da9e6786ea545099249acf4cbca44a6",
                "cpu_options": {
                    "core_count": 1,
                    "threads_per_core": 1
                },
                "current_instance_boot_mode": "legacy-bios",
                "ebs_optimized": false,
                "ena_support": true,
                "enclave_options": {
                    "enabled": false
                },
                "hibernation_options": {
                    "configured": false
                },
                "hypervisor": "xen",
                "image_id": "ami-0a0e5d9c7acc336f1",
                "instance_id": "i-0c86cc09d6c7186c4",
                "instance_type": "t2.micro",
                "key_name": "user18kp",
                "launch_time": "2024-09-25T13:40:07+00:00",
                "maintenance_options": {
                    "auto_recovery": "default"
                },
                "metadata_options": {
                    "http_endpoint": "enabled",
                    "http_protocol_ipv6": "disabled",
                    "http_put_response_hop_limit": 1,
                    "http_tokens": "optional",
                    "instance_metadata_tags": "disabled",
                    "state": "applied"
                },
                "monitoring": {
                    "state": "disabled"
                },
                "network_interfaces": [
                    {
                        "association": {
                            "ip_owner_id": "amazon",
                            "public_dns_name": "ec2-3-95-232-92.compute-1.amazonaws.com",
                            "public_ip": "3.95.232.92"
                        },
                        "attachment": {
                            "attach_time": "2024-09-25T13:40:07+00:00",
                            "attachment_id": "eni-attach-0a263144210113ba7",
                            "delete_on_termination": true,
                            "device_index": 0,
                            "network_card_index": 0,
                            "status": "attached"
                        },
                        "description": "",
                        "groups": [
                            {
                                "group_id": "sg-0956ef2aa27fb24df",
                                "group_name": "user18sg"
                            }
                        ],
                        "interface_type": "interface",
                        "ipv6_addresses": [],
                        "mac_address": "0e:48:13:ac:98:b3",
                        "network_interface_id": "eni-0357012ad53249acf",
                        "owner_id": "107744273479",
                        "private_dns_name": "ip-172-31-44-98.ec2.internal",
                        "private_ip_address": "172.31.44.98",
                        "private_ip_addresses": [
                            {
                                "association": {
                                    "ip_owner_id": "amazon",
                                    "public_dns_name": "ec2-3-95-232-92.compute-1.amazonaws.com",
                                    "public_ip": "3.95.232.92"
                                },
                                "primary": true,
                                "private_dns_name": "ip-172-31-44-98.ec2.internal",
                                "private_ip_address": "172.31.44.98"
                            }
                        ],
                        "source_dest_check": true,
                        "status": "in-use",
                        "subnet_id": "subnet-068bdc5c304901a8b",
                        "vpc_id": "vpc-0a48b0ba83bd3a816"
                    }
                ],
                "owner_id": "107744273479",
                "placement": {
                    "availability_zone": "us-east-1a",
                    "group_name": "",
                    "region": "us-east-1",
                    "tenancy": "default"
                },
                "platform_details": "Linux/UNIX",
                "private_dns_name": "ip-172-31-44-98.ec2.internal",
                "private_dns_name_options": {
                    "enable_resource_name_dns_a_record": false,
                    "enable_resource_name_dns_aaaa_record": false,
                    "hostname_type": "ip-name"
                },
                "private_ip_address": "172.31.44.98",
                "product_codes": [],
                "public_dns_name": "ec2-3-95-232-92.compute-1.amazonaws.com",
                "public_ip_address": "3.95.232.92",
                "requester_id": "",
                "reservation_id": "r-0509c0e2c81cebf27",
                "root_device_name": "/dev/sda1",
                "root_device_type": "ebs",
                "security_groups": [
                    {
                        "group_id": "sg-0956ef2aa27fb24df",
                        "group_name": "user18sg"
                    }
                ],
                "source_dest_check": true,
                "state": {
                    "code": 16,
                    "name": "running"
                },
                "state_transition_reason": "",
                "subnet_id": "subnet-068bdc5c304901a8b",
                "tags": {
                    "Name": "deploy"
                },
                "usage_operation": "RunInstances",
                "usage_operation_update_time": "2024-09-25T13:40:07+00:00",
                "virtualization_type": "hvm",
                "vpc_id": "vpc-0a48b0ba83bd3a816"
            }
        }
    },
    "all": {
        "children": [
            "ungrouped",
            "aws_ec2"
        ]
    },
    "aws_ec2": {
        "hosts": [
            "Elastic01",
            "deploy",
            "build"
        ]
    }
}
ansible all -m ping
Elastic01 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname elastic01: Temporary failure in name resolution",
    "unreachable": true
}
deploy | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname deploy: Temporary failure in name resolution",
    "unreachable": true
}
build | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname build: Temporary failure in name resolution",
    "unreachable": true
}
(Nevermind the “Elastic01” host, it’s an unrelated stopped instance, should have filtered it out in the inventory.)