1+ {
2+ "$schema" : " https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#" ,
3+ "contentVersion" : " 1.0.0.0" ,
4+ "parameters" : {
5+ "location" : {
6+ "type" : " string"
7+ },
8+ "loadBalancerNames" : {
9+ "type" : " array"
10+ },
11+ "lbfe" : {
12+ "type" : " string"
13+ },
14+ "lbbe" : {
15+ "type" : " string"
16+ },
17+ "rdpNats" : {
18+ "type" : " array"
19+ },
20+ "lbPublicIpResourceIds" : {
21+ "type" : " array"
22+ },
23+ "subnetIds" : {
24+ "type" : " array"
25+ },
26+ "adfsLoadBalancerPrivateIpAddress" : {
27+ "type" : " string"
28+ }
29+ },
30+ "resources" : [
31+ {
32+ "comments" : " ADFS Load Balancer" ,
33+ "apiVersion" : " 2015-06-15" ,
34+ "name" : " [parameters('loadBalancerNames')[0]]" ,
35+ "type" : " Microsoft.Network/loadBalancers" ,
36+ "location" : " [parameters('location')]" ,
37+ "properties" : {
38+ "frontendIPConfigurations" : [
39+ {
40+ "name" : " [parameters('lbfe')]" ,
41+ "properties" : {
42+ "subnet" : {
43+ "id" : " [parameters('subnetIds')[0]]"
44+ },
45+ "privateIPAddress" : " [parameters('adfsLoadBalancerPrivateIpAddress')]" ,
46+ "privateIPAllocationMethod" : " Static"
47+ }
48+ }
49+ ],
50+ "backendAddressPools" : [
51+ {
52+ "name" : " [parameters('lbbe')]"
53+ }
54+ ],
55+ "loadBalancingRules" : [
56+ {
57+ "name" : " http-443" ,
58+ "properties" : {
59+ "frontendIPConfiguration" : {
60+ "id" : " [concat(resourceid(resourceGroup().name,'Microsoft.Network/loadBalancers',parameters('loadBalancerNames')[0]), '/frontendIPConfigurations/',parameters('lbfe'))]"
61+ },
62+ "backendAddressPool" : {
63+ "id" : " [concat(resourceid(resourceGroup().name,'Microsoft.Network/loadBalancers',parameters('loadBalancerNames')[0]), '/backendAddressPools/',parameters('lbbe'))]"
64+ },
65+ "protocol" : " Tcp" ,
66+ "frontendPort" : 443 ,
67+ "backendPort" : 443 ,
68+ "enableFloatingIP" : false ,
69+ "idleTimeoutInMinutes" : 5 ,
70+ "probe" : {
71+ "id" : " [concat(resourceid(resourceGroup().name,'Microsoft.Network/loadBalancers',parameters('loadBalancerNames')[0]), '/probes/ilbAdfsProbe')]"
72+ }
73+ }
74+ }
75+ ],
76+ "probes" : [
77+ {
78+ "name" : " ilbAdfsProbe" ,
79+ "properties" : {
80+ "protocol" : " Http" ,
81+ "port" : 80 ,
82+ "intervalInSeconds" : 10 ,
83+ "numberOfProbes" : 2 ,
84+ "requestPath" : " /adfs/probe/"
85+ }
86+ }
87+ ]
88+ }
89+ },
90+ {
91+ "comments" : " WAP Load Balancer" ,
92+ "apiVersion" : " 2015-06-15" ,
93+ "name" : " [parameters('loadBalancerNames')[1]]" ,
94+ "type" : " Microsoft.Network/loadBalancers" ,
95+ "location" : " [parameters('location')]" ,
96+ "properties" : {
97+ "frontendIPConfigurations" : [
98+ {
99+ "name" : " [parameters('lbfe')]" ,
100+ "properties" : {
101+ "publicIPAddress" : {
102+ "id" : " [parameters('lbPublicIpResourceIds')[0]]"
103+ }
104+ }
105+ }
106+ ],
107+ "backendAddressPools" : [
108+ {
109+ "name" : " [parameters('lbbe')]"
110+ }
111+ ],
112+ "inboundNatRules" : [
113+ {
114+ "name" : " [parameters('rdpNats')[0]]" ,
115+ "properties" : {
116+ "frontendIPConfiguration" : {
117+ "id" : " [concat(resourceid(resourceGroup().name,'Microsoft.Network/loadBalancers',parameters('loadBalancerNames')[1]), '/frontendIPConfigurations/',parameters('lbfe'))]"
118+ },
119+ "protocol" : " tcp" ,
120+ "frontendPort" : 5000 ,
121+ "backendPort" : 3389 ,
122+ "enableFloatingIP" : false
123+ }
124+ },
125+ {
126+ "name" : " [parameters('rdpNats')[1]]" ,
127+ "properties" : {
128+ "frontendIPConfiguration" : {
129+ "id" : " [concat(resourceid(resourceGroup().name,'Microsoft.Network/loadBalancers',parameters('loadBalancerNames')[1]), '/frontendIPConfigurations/',parameters('lbfe'))]"
130+ },
131+ "protocol" : " tcp" ,
132+ "frontendPort" : 5001 ,
133+ "backendPort" : 3389 ,
134+ "enableFloatingIP" : false
135+ }
136+ }
137+ ],
138+ "loadBalancingRules" : [
139+ {
140+ "name" : " http-443" ,
141+ "properties" : {
142+ "frontendIPConfiguration" : {
143+ "id" : " [concat(resourceid(resourceGroup().name,'Microsoft.Network/loadBalancers',parameters('loadBalancerNames')[1]), '/frontendIPConfigurations/',parameters('lbfe'))]"
144+ },
145+ "backendAddressPool" : {
146+ "id" : " [concat(resourceid(resourceGroup().name,'Microsoft.Network/loadBalancers',parameters('loadBalancerNames')[1]), '/backendAddressPools/',parameters('lbbe'))]"
147+ },
148+ "protocol" : " Tcp" ,
149+ "frontendPort" : 443 ,
150+ "backendPort" : 443 ,
151+ "enableFloatingIP" : false ,
152+ "idleTimeoutInMinutes" : 5 ,
153+ "probe" : {
154+ "id" : " [concat(resourceid(resourceGroup().name,'Microsoft.Network/loadBalancers',parameters('loadBalancerNames')[1]), '/probes/ilbWapProbe')]"
155+ }
156+ }
157+ }
158+ ],
159+ "probes" : [
160+ {
161+ "name" : " ilbWapProbe" ,
162+ "properties" : {
163+ "protocol" : " Http" ,
164+ "port" : 80 ,
165+ "intervalInSeconds" : 10 ,
166+ "numberOfProbes" : 2 ,
167+ "requestPath" : " /adfs/probe/"
168+ }
169+ }
170+ ]
171+ }
172+ }
173+ ],
174+ "outputs" : {
175+ "adfslbID" : {
176+ "value" : " [resourceId('Microsoft.Network/loadBalancers',parameters('loadBalancerNames')[0])]" ,
177+ "type" : " string"
178+ },
179+ "waplbID" : {
180+ "value" : " [resourceId('Microsoft.Network/loadBalancers',parameters('loadBalancerNames')[0])]" ,
181+ "type" : " string"
182+ }
183+
184+ }
185+ }
0 commit comments