Creating Azure Virtual Network, Subnets and Associate the Subnets with Network Security Group via Ansible Tower

OrionLab
2 min readApr 9, 2021

Ansible Playbook

Note : Create Network Security Group before Associating the Network Security Groups with Subnets

---
- hosts: localhost
become_user: awx
vars:
resource_group: samplewus2dv1-rg
location: westus2
vnet_name: samplewus2dv1-vnet
tasks:
- name: Create a virtual network
azure_rm_virtualnetwork:
name: "{{ vnet_name }}"
resource_group: "{{ resource_group }}"
address_prefixes_cidr:
- 10.180.134.0/24

- name: Create a subnet samplewus2dv1app-sn
azure_rm_subnet:
name: samplewus2dv1app-sn
virtual_network_name: "{{ vnet_name }}"
resource_group: "{{ resource_group }}"
address_prefix_cidr: 10.180.134.0/26
security_group:
name: samplewus2dv1app_nsg
resource_group: "{{ resource_group }}"
- name: Create a subnet samplelwus2dv1db-sn
azure_rm_subnet:
name: samplewus2dv1db-sn
virtual_network_name: "{{ vnet_name }}"
resource_group: "{{ resource_group }}"
address_prefix_cidr: 10.180.134.64/26
security_group:
name: samplewus2dv1db_nsg
resource_group: "{{ resource_group }}"
- name: Create a subnet samplewus2dv1infra-sn
azure_rm_subnet:
name: samplewus2dv1infra-sn
virtual_network_name: "{{ vnet_name }}"
resource_group: "{{ resource_group }}"
address_prefix_cidr: 10.180.134.128/26
security_group:
name: samplewus2dv1infra_nsg
resource_group: "{{ resource_group }}"

Define resource_group, vnet_name and location in Ansible Tower Extra Variables Section with your specific.

Ansible Tower

Ansible Tower — Create Virtual Network within Template

Create Job Template, add
1. Name,
2. description,
3. Job Type- Run,
4. Inventory — inventory01,
5. Project — ProjectName,
6. choose Playbook — Associate NSG to Subnets/network.yml,
7. Credentials —
1. Microsoft Azure Resource Manager Key
8. Forks — 0
9. Limit — <Empty>
10. Verbosity — 0 (Normal)
11. Job Tags — <Empty>
12. Skip Tags — <Empty>
13. Labels — <Empty>
14. Instance Groups — <Empty>
15. Job Slicing — <Empty>
16. Timeout — <Empty>
17. Show Changes — Off
18. Options — Enable Privilege Escalation

Click on Save to Save the Template

Click on SAVE and then when page will refresh Launch Button will be Enabled, Click on LAUNCH.

This Article has been published by OrionLab.io

OrionLab.io

--

--

OrionLab

Orionlab is a professional services company, Experts in Cloud Adoption Strategy Designing and Automation with their patented revolutionary tool — Cloudhive