- name: Provision EC2 Bastion server instances
ec2:
region: "{{ aws_region }}"
keypair: "{{ key_name }}"
group_id: "{{ bastion_sg.group_id }}"
instance_type: "{{ instance_type }}"
image: "{{ ami_id }}"
exact_count: 1
count_tag:
Name: bastion
instance_tags:
Name: bastion
assign_public_ip: True
wait: yes
#vpc_subnet_id: "{{ item.id }}"
vpc_subnet_id: "{{ vpc.results[0].subnets |parse_subnets_by_tag('Tier', 'public', return_count=False)|first }}"
register: bastion
- debug: var=bastion
- name: Add bastion instances to host group
add_host: name={{ item }} groups=bastion
with_items:
- "{{ bastion|parse_results(key='public_ip') }}"
- name: update ssh config
blockinfile:
dest: /home/foo/.ssh/config
block: |
Host 10.111.*
StrictHostKeyChecking no
ProxyCommand ssh -i ~/.ssh/my_key.pem foo@10.10.10.10 -W %h:%p
User ansible
IdentityFile ~/.ssh/ansible