It is also possible to use Ansible to create an instance on Amazon AWS. I have used the Ansible EC2 Cloud Module to create a CentOS 7 Linux instance. See http://docs.ansible.com/ansible/list_of_cloud_modules.html.
I first set some environment variables for AWS. Like this:
export EC2_URL=https://ec2.amazonaws.com export AWS_ACCESS_KEY_ID="XXXX" export AWS_SECRET_ACCESS_KEY="XXXXXXXXXX" export AWS_REGION="eu-west-1"
Then I created a playbook create-aws-centos.yml to launch a new AWS instance with CentOS.
- hosts: localhost connection: local gather_facts: yes tasks: - name: Create image ec2: key_name: xxxxx-keypair-eu-ie group: default instance_type: t2.micro image: ami-7abd0209 wait: yes wait_timeout: 500 count: 1 region: eu-west-1 state: present volumes: - device_name: /dev/sda1 volume_type: gp2 volume_size: 8 vpc_subnet_id: subnet-0ed78757 assign_public_ip: yes register: ec2 - debug: var: ec2
The command used to launch the playbook:
ansible-playbook create-aws-centos.yml -vvv
Now you can verify the result in the EC2 Management Console at the Instances.