- name: Provision {{count}} instance(s) in {{region}}
hosts: localhost
gather_facts: False
vars_files:
- vars/credentials.yml
- "vars/{{ region }}.yml"
tasks:
- name: Create new ec2 key pair with ansible public key
ec2_key:
name: ansible
key_material: "{{ item }}"
region: "{{region}}"
aws_access_key: "{{ ec2_access_key }}"
aws_secret_key: "{{ ec2_secret_key }}"
with_file: /root/.ssh/id_rsa.pub
- name: Launch instance
ec2:
aws_access_key: "{{ ec2_access_key }}"
aws_secret_key: "{{ ec2_secret_key }}"
key_name: ansible
group: "{{ ec2_group }}"
instance_type: m3.large
image: "{{ ec2_image }}"
wait: true
count: "{{ count }}"
vpc_subnet_id: "{{ ec2_vpc_subnet_id }}"
assign_public_ip: yes
count: "{{ count }}"
region: "{{region}}"
instance_tags:
Name: ec2-{{ region }}-node
volumes:
- device_name: /dev/xvdb
device_type: gp2
volume_size: 12
delete_on_termination: true
- device_name: /dev/xvdf
device_type: gp2
volume_size: 100
delete_on_termination: true
register: ec2