You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -8,56 +8,76 @@ En Azure, existen dos tipos de balanceadores de carga:
8
8
9
9
-**Balanceador de carga interno**: distribuye el tráfico de red entrante a las máquinas virtuales dentro de una red virtual. Este balanceador de carga se puede utilizar para equilibrar el tráfico de red a máquinas virtuales que se encuentran en la misma red virtual.
10
10
11
-
En este caso, vamos a utilizar un balanceador de carga público para poder acceder a nuestra aplicación desde Internet. Para ello, vamos a crear un balanceador de carga público. Para ello, lo primero que vamos a hacer es crear el balanceador a través del siguiente comando:
11
+
En este caso, vamos a utilizar un balanceador de carga público para poder acceder a nuestra aplicación desde Internet. Para ello, vamos a crear un balanceador de carga público. Lo primero que vamos a hacer es setear las variables de entorno que vamos a utilizar para crear el balanceador de carga.
12
12
13
13
```bash
14
-
LOAD_BALANCER_NAME="front-end-lb"
15
-
PUBLIC_IP_NAME="lb-ip"
16
-
PROBE_NAME="fontend-probe"
14
+
LOAD_BALANCER_NAME="frontend-lb"
15
+
LB_IP_NAME="lb-ip"
16
+
PROBE_NAME="frontend-probe"
17
+
BACKEND_POOL_NAME="tour-of-heroes-backend-pool"
18
+
````
19
+
20
+
o si estás en Windows:
21
+
22
+
```pwsh
23
+
$LOAD_BALANCER_NAME="frontend-lb"
24
+
$LB_IP_NAME="lb-ip"
25
+
$PROBE_NAME="frontend-probe"
26
+
$BACKEND_POOL_NAME="tour-of-heroes-backend-pool"
27
+
```
17
28
29
+
Antes de crear un balanceador de carga público necesitas generar una dirección IP pública. Esta dirección IP pública se utiliza para acceder a las máquinas virtuales que se encuentran detrás del balanceador de carga. Para ello, vamos a crear una dirección IP pública.
30
+
31
+
```bash
18
32
echo -e "Create a public IP"
19
33
20
34
az network public-ip create \
21
35
--resource-group $RESOURCE_GROUP \
22
-
--name $PUBLIC_IP_NAME \
23
-
--sku Standard
36
+
--name $LB_IP_NAME \
37
+
--sku Standard \
38
+
--dns-name $LB_IP_NAME
39
+
```
40
+
41
+
o si estás en Windows:
42
+
43
+
```pwsh
44
+
Write-Host "Create a public IP"
45
+
46
+
az network public-ip create `
47
+
--resource-group $RESOURCE_GROUP`
48
+
--name $LB_IP_NAME`
49
+
--sku Standard `
50
+
--dns-name $LB_IP_NAME
51
+
```
24
52
53
+
Y ahora ya si creamos el balanceador:
54
+
55
+
```bash
25
56
echo -e "Create a load balancer"
26
57
27
58
az network lb create \
28
59
--resource-group $RESOURCE_GROUP \
29
60
--name $LOAD_BALANCER_NAME \
30
61
--vnet-name $VNET_NAME \
31
62
--sku Standard \
32
-
--public-ip-address $PUBLIC_IP_NAME \
33
-
--frontend-ip-name frontend-ip \
34
-
--backend-pool-name frontend-backend-pool
63
+
--backend-pool-name $BACKEND_POOL_NAME \
64
+
--frontend-ip-name $LB_IP_NAME \
65
+
--public-ip-address $LB_IP_NAME
35
66
```
36
67
37
68
o si estás en Windows:
38
69
39
70
```pwsh
40
-
$LOAD_BALANCER_NAME="front-end-lb"
41
-
$PUBLIC_IP_NAME="lb-ip"
42
-
$PROBE_NAME="fontend-probe"
43
-
44
-
Write-Host "Create a public IP"
45
-
46
-
az network public-ip create `
47
-
--resource-group $RESOURCE_GROUP `
48
-
--name $PUBLIC_IP_NAME `
49
-
--sku Standard
50
-
51
71
Write-Host "Create a load balancer"
52
72
53
73
az network lb create `
54
74
--resource-group $RESOURCE_GROUP`
55
75
--name $LOAD_BALANCER_NAME`
56
76
--vnet-name $VNET_NAME`
57
77
--sku Standard `
58
-
--public-ip-address $PUBLIC_IP_NAME `
59
-
--frontend-ip-name frontend-ip `
60
-
--backend-pool-name frontend-backend-pool
78
+
--backend-pool-name $BACKEND_POOL_NAME`
79
+
--frontend-ip-name $LB_IP_NAME`
80
+
--public-ip-address $LB_IP_NAME
61
81
```
62
82
63
83
Una vez que tenemos el balanceador de carga creado, vamos a crear una sonda de salud para comprobar que nuestra aplicación está funcionando correctamente. Para ello, vamos a crear una sonda de salud que compruebe que la aplicación está funcionando correctamente.
@@ -70,7 +90,7 @@ az network lb probe create \
70
90
--lb-name $LOAD_BALANCER_NAME \
71
91
--name $PROBE_NAME \
72
92
--protocol tcp \
73
-
--port 8080
93
+
--port 80
74
94
```
75
95
76
96
o si estás en Windows:
@@ -83,7 +103,7 @@ az network lb probe create `
83
103
--lb-name $LOAD_BALANCER_NAME `
84
104
--name $PROBE_NAME `
85
105
--protocol tcp `
86
-
--port 8080
106
+
--port 80
87
107
```
88
108
89
109
Una vez que tenemos la sonda de salud creada, vamos a crear una regla de balanceo de carga para que el balanceador de carga pueda distribuir el tráfico de red entre las máquinas virtuales.
@@ -97,9 +117,9 @@ az network lb rule create \
97
117
--name myHTTPRule \
98
118
--protocol tcp \
99
119
--frontend-port 80 \
100
-
--backend-port 8080 \
101
-
--frontend-ip-name frontend-ip \
102
-
--backend-pool-name frontend-backend-pool \
120
+
--backend-port 80 \
121
+
--frontend-ip-name $LB_IP_NAME \
122
+
--backend-pool-name $BACKEND_POOL_NAME \
103
123
--probe-name $PROBE_NAME \
104
124
--disable-outbound-snat true \
105
125
--idle-timeout 15
@@ -116,9 +136,9 @@ az network lb rule create `
116
136
--name myHTTPRule `
117
137
--protocol tcp `
118
138
--frontend-port 80 `
119
-
--backend-port 8080 `
120
-
--frontend-ip-name frontend-ip `
121
-
--backend-pool-name frontend-backend-pool `
139
+
--backend-port 80 `
140
+
--frontend-ip-name $LB_IP_NAME `
141
+
--backend-pool-name $BACKEND_POOL_NAME `
122
142
--probe-name $PROBE_NAME `
123
143
--disable-outbound-snat true `
124
144
--idle-timeout 15
@@ -141,10 +161,10 @@ echo -e "Add the frontend vm to the backend pool"
141
161
az network lb address-pool address add \
142
162
--resource-group $RESOURCE_GROUP \
143
163
--lb-name $LOAD_BALANCER_NAME \
144
-
--pool-name frontend-backend-pool \
145
-
--name tour-of-heroes-front-end-vm \
164
+
--pool-name $BACKEND_POOL_NAME \
165
+
--name $FRONTEND_VM_NAME \
146
166
--ip-address $FRONTEND_VM_PRIVATE_IP \
147
-
--vnet $VNET_NAME
167
+
--vnet $VNET_NAME
148
168
```
149
169
150
170
o si estás en Windows:
@@ -335,9 +355,153 @@ echo -e "Try to access the front end VM using the public IP address of the load
335
355
336
356
FRONTEND_LB_PUBLIC_IP=$(az network public-ip show \
337
357
--resource-group $RESOURCE_GROUP \
338
-
--name $PUBLIC_IP_NAME \
358
+
--name $LB_IP_NAME \
339
359
--query ipAddress \
340
360
--output tsv)
341
361
342
362
echo -e "Front end VM public IP address: http://$FRONTEND_LB_PUBLIC_IP"
343
-
```
363
+
```
364
+
365
+
o si estás en Windows:
366
+
367
+
```pwsh
368
+
Write-Host "Try to access the front end VM using the public IP address of the load balancer"
369
+
370
+
$FRONTEND_LB_PUBLIC_IP=$(az network public-ip show `
371
+
--resource-group $RESOURCE_GROUP `
372
+
--name $LB_IP_NAME `
373
+
--query ipAddress `
374
+
--output tsv)
375
+
376
+
Write-Host "Front end VM public IP address: http://$FRONTEND_LB_PUBLIC_IP"
377
+
```
378
+
379
+
Y ya por último vamos a darle un poco de emoción creando una segunda máquina que haga de frontend y que se añada al balanceador de carga. Para ello, vamos a crear una nueva máquina virtual.
380
+
381
+
```bash
382
+
echo -e "Create a frontend vm #2 named ${FRONTEND_VM_NAME}-2 with image $FRONTEND_VM_IMAGE"
Write-Host "Get front end VM 2 private IP address"
484
+
485
+
$FRONTEND_VM_PRIVATE_IP_2=$(az vm show `
486
+
--resource-group $RESOURCE_GROUP `
487
+
--name "${FRONTEND_VM_NAME}-2" `
488
+
--show-details `
489
+
--query privateIps `
490
+
--output tsv)
491
+
492
+
Write-Host "Add the frontend vm to the backend pool"
493
+
494
+
az network lb address-pool address add `
495
+
--resource-group $RESOURCE_GROUP `
496
+
--lb-name $LOAD_BALANCER_NAME `
497
+
--pool-name $BACKEND_POOL_NAME `
498
+
--name "${FRONTEND_VM_NAME}-2" `
499
+
--ip-address $FRONTEND_VM_PRIVATE_IP_2 `
500
+
--vnet $VNET_NAME
501
+
```
502
+
503
+
Ahora, si accedemos a la IP pública del balanceador de carga, veremos que la aplicación se muestra de forma aleatoria en una de las dos máquinas virtuales.
504
+
505
+
La arquitectura en este caso quedaría de la siguiente forma:
506
+
507
+

0 commit comments