- Dynamic Inventory
- Target inventory as per tages
ansible-inventory command will return all ec2 instances in AWS Console
[root@ip-172-31-15-249 ec2-user]# ansible-inventory --graph -i /etc/ansible/aws_ec2.yaml
@all:
|--@aws_ec2:
| |--ec2-15-206-88-239.ap-south-1.compute.amazonaws.com
| |--ec2-35-154-226-152.ap-south-1.compute.amazonaws.com
| |--ec2-35-154-234-63.ap-south-1.compute.amazonaws.com
|--@tag_Name_Jenkins_Server:
| |--ec2-35-154-226-152.ap-south-1.compute.amazonaws.com
|--@tag_Name_demo_ansible:
| |--ec2-15-206-88-239.ap-south-1.compute.amazonaws.com
|--@tag_Name_tomcat_node:
| |--ec2-35-154-234-63.ap-south-1.compute.amazonaws.com
|--@tag_appname_cicidemo:
| |--ec2-35-154-234-63.ap-south-1.compute.amazonaws.com
|--@tag_env_prod:
| |--ec2-35-154-234-63.ap-south-1.compute.amazonaws.com
|--@ungrouped:
[root@ip-172-31-15-249 ec2-user]# ansible all -m command will ping all connected target IPs
[root@ip-172-31-15-249 ansible]# ansible all -m ping -i /etc/ansible/aws_ec2.yamlWe can use tags if we want to targt only specific IPs as below
[root@ip-172-31-15-249 ansible]# ansible tag_appname_cicidemo -m ping -i /etc/ansible/aws_ec2.yaml
Ansible Playbook execution as per tags on AWS EC2 instances
#Ansible playbook - Run parameter
ansible-playbook demo.yml -i /etc/ansible/aws_ec2.yaml -e "host_name=tag_Name_Dashboard_Dev"