QuickstartΒΆ
This document briefly describes the general steps that we need to take when using the AWS Ansible Collection. And as is often the case, we will start with the installation.
Open-source version can be installed directly from Ansible Galaxy with just one short command:
$ ansible-galaxy collection install steampunk.aws
Note
To use the AWS Ansible Collection, we need to have Ansible 2.9+ installed. Previous Ansible versions do not support Ansible Collections well enough to be usable.
Instructions for installing AWS Ansible Collection from installer packages for RHEL/Centos are available upon registration. These packages are provided under these Terms and Conditions.
We also need to get the boto3
Python package. And the simplest way of
installing it is using pip
:
$ pip3 install --user -U boto3
Now we can create a playbook called playbook.yaml
that uses modules from
the AWS Ansible Collection and creates a dedicated virtual private cloud
(VPC). Why create a VPC and not an instance you ask? Mainly because creating a
VPC is entirely free, and we would rather see you spend your hard-earned money
on things that matter.
---
- name: Create an AWS VPC
gather_facts: false
hosts: localhost
tasks:
- name: Create a VPC
steampunk.aws.ec2_vpc:
name: my-vpc
cidr: 10.0.0.0/16
The last remaining thing we need to do is export the variables with AWS credentials that modules will use when talking to the AWS web API:
$ export AWS_REGION=us-east-1 # choose whichever you prefer
$ export AWS_ACCESS_KEY=your-access-key # change me
$ export AWS_SECRET_KEY=your-secret-access-key # change me
With all that preparation behind us, we can finally run the playbook and enjoy some text-based entertainment:
$ ansible-playbook playbook.yaml
For the grand finale, we will make our mother proud and clean after ourselves. And because we are too lazy to write down a playbook for this, we will just run an ad-hoc command like this:
$ ansible \
-m steampunk.aws.ec2_vpc \
-a "name=my-vpc cidr=10.0.0.0/16 state=absent" \
localhost
And that is it for this short introduction. Now we are ready to start exploring the Modules API documentation.