Create Custom EE
The default Execution Environment is fine for basic stuff, but soon you will encounter issue that you are missing Ansible module, or even worse Python library.
In this case you will need to create your custom execution environment !
No worries, its quite simple and there is at least two methods to do it.
I will present the method I use all the time and that works for me.
Extending default EE
By default, AWX is using this image to run your Ansible playbook: quay.io/ansible/awx-ee:lates
We can extend this docker image simply with FROM quay.io/ansible/awx-ee:latest
in Docker file. Then add what we need and build the image locally, then push it to registry and tell AWX to use it.
Here is repo with decent README that I made and use all the time.
It will explain how to add python modules, additional software like awscli, ansible galaxy stuff and how to add it in AWX.
Usually you can upload this image to any public registry, since it should not contain any specific or sensitive data. So have fun 😄