forked from fullscale180/PAN
-
Notifications
You must be signed in to change notification settings - Fork 1
/
deployLoadBalancer.json
121 lines (111 loc) · 2.66 KB
/
deployLoadBalancer.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"metadata": {
"description": "Deployment location"
}
},
// vnet parameters
"virtualNetworkRG": {
"type": "string",
"metadata": {
"description": "Name of the Virtual Network Resource Group"
}
},
"virtualNetworkName": {
"type": "string",
"metadata": {
"description": "Name of the Virtual Network (VNET)"
}
},
"subnetName": {
"type": "string",
"metadata": {
"description": "Name of the subnet"
}
},
// load balancer parameters
"loadBalancerName": {
"type": "string",
"metadata": {
"description": "Name of the inbound load balancer"
}
}
},
"variables": {
"vnetId": "[resourceId(parameters('virtualNetworkRG'), 'Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]",
"lbId": "[resourceId('Microsoft.Network/loadBalancers/', parameters('loadBalancerName'))]"
},
"resources": [
// Setup load balancer
{
"apiVersion": "2017-08-01",
"type": "Microsoft.Network/loadBalancers",
"name": "[parameters('loadBalancerName')]",
"location": "[parameters('location')]",
"sku":
{
"name": "Standard"
},
"properties": {
"frontendIPConfigurations": [
{
"name": "Frontend",
"properties": {
"subnet": {
"id": "[concat(variables('vnetId'),'/subnets/',parameters ('subnetName'))]"
},
"privateIPAllocationMethod": "Dynamic"
}
}
],
"backendAddressPools": [
{
"name": "BackendPool"
}
],
"loadBalancingRules": [
{
"properties": {
"frontendIPConfiguration": {
"id": "[concat(variables('lbId'), '/frontendIpConfigurations/Frontend')]"
},
"backendAddressPool": {
"id": "[concat(variables('lbId'), '/backendAddressPools/BackendPool')]"
},
"probe": {
"id": "[concat(variables('lbId'), '/probes/lbprobe')]"
},
"protocol": "All",
"frontendPort": 0,
"backendPort": 0,
"enableFloatingIP": true,
"idleTimeoutInMinutes": 15
},
"Name": "lbrule"
}
],
"probes": [
{
"properties": {
"protocol": "Tcp",
"port": 80,
"intervalInSeconds": 15,
"numberOfProbes": 2
},
"name": "lbprobe"
}
]
}
}
],
"outputs" : {
"LoadBalancerFrontEndIp": {
"value": "[reference(concat('Microsoft.Network/loadBalancers/', parameters('loadBalancerName'))).frontendIPConfigurations[0].properties.privateIPAddress ]",
"type" : "string"
},
}
}