Check if Ansible playbook is running on an EC2 instance
In one of my Ansible playbooks I needed to only execute a couple of tasks if they were running on an EC2 instance.
The way I solved this was by checking the ansible_bios_version
fact. For example:
- debug:
msg: "This is an EC2 instance"
when: "'amazon' in ansible_bios_version"
This is probably not perfect, but at least it worked for me at the moment.
Note that the day after I needed this, Jeff Geerling posted an alternative way to check if you are in AWS.