1 00:00:00,000 --> 00:00:07,040 buenas chicos qué tal espero que todo esté bien que a ver os cuento que os dejo también 2 00:00:07,040 --> 00:00:13,040 os voy a mostrar en este vídeo cómo hacer un balanceador de carga con la herramienta 3 00:00:13,040 --> 00:00:17,760 haper si vale al final esto está encuadrado dentro de lo que llamamos alta disponibilidad 4 00:00:17,760 --> 00:00:24,179 y lo que lo que busca es pues eso que los servicios estén disponibles en el tiempo 5 00:00:24,179 --> 00:00:27,500 posible, ¿no? Entonces, que no haya 6 00:00:27,500 --> 00:00:32,379 recuperación de caídas, un alto volado de continuidad, ¿vale? Y uno de los ejemplos 7 00:00:32,379 --> 00:00:35,539 son los rides, por ejemplo, es decir, antes de hacer nada 8 00:00:35,539 --> 00:00:38,840 quiero que leáis toda esta teoría que os he puesto aquí, ¿vale? 9 00:00:39,859 --> 00:00:44,420 Y otra opción de, joder, de alta disponibilidad 10 00:00:44,420 --> 00:00:47,719 sería el balanceo de carga, ¿vale? Fijaros aquí este esquema, es decir, 11 00:00:48,039 --> 00:00:51,859 aquí hay una máquina que balancea la carga, es decir, vosotros, por ejemplo, cuando os conectáis a Instagram 12 00:00:51,859 --> 00:00:54,159 os conectáis a una IP pública 13 00:00:54,159 --> 00:00:55,839 y a partir de ahí hay una máquina 14 00:00:55,839 --> 00:00:58,079 que lo que hace es derivar la comunicación 15 00:00:58,079 --> 00:01:00,140 a diferentes servidores, es decir, Instagram no puede 16 00:01:00,140 --> 00:01:02,039 tener un servidor, va a tener un montón 17 00:01:02,039 --> 00:01:04,079 y dependiendo el número de 18 00:01:04,079 --> 00:01:05,799 peticiones las va a derivar a un 19 00:01:05,799 --> 00:01:07,539 uno u otro sitio, ¿vale? 20 00:01:07,719 --> 00:01:09,420 en este caso es todo lo que vamos a montar 21 00:01:09,420 --> 00:01:12,060 fijaros que tenemos una 22 00:01:12,060 --> 00:01:14,180 red interna donde tenemos 23 00:01:14,180 --> 00:01:15,939 dos servidores Apache 24 00:01:15,939 --> 00:01:18,019 ¿vale? un subunto 1 y un subunto 2 25 00:01:18,019 --> 00:01:20,299 ¿vale? con estas IPs 26 00:01:20,299 --> 00:01:21,659 entonces fijaros que yo aquí ya 27 00:01:21,659 --> 00:01:23,879 lo tengo montado, ¿vale? Esta es la página 28 00:01:23,879 --> 00:01:24,619 subuntu1 29 00:01:24,619 --> 00:01:27,119 y la página, la máquina 30 00:01:27,119 --> 00:01:29,479 en la cual si yo voy a la parte de red 31 00:01:29,479 --> 00:01:31,739 fijaros que ya lo que estoy creando es 32 00:01:31,739 --> 00:01:33,840 una red interna, es decir, estas dos máquinas 33 00:01:33,840 --> 00:01:35,879 solo se conectan con esta interfaz 34 00:01:35,879 --> 00:01:38,140 del balanceador 35 00:01:38,140 --> 00:01:39,000 de carga, ¿vale? 36 00:01:40,039 --> 00:01:41,039 Entonces en este caso 37 00:01:41,039 --> 00:01:43,579 fijaros que la red interna 38 00:01:43,579 --> 00:01:45,479 en este caso yo la he llamado hubroxy 39 00:01:45,479 --> 00:01:48,439 y si voy aquí a la configuración 40 00:01:48,439 --> 00:01:52,859 fijaros que este tiene el IP 3.2 41 00:01:52,859 --> 00:01:54,060 aquí lo he configurado 42 00:01:54,060 --> 00:01:56,739 de forma gráfica 43 00:01:56,739 --> 00:02:00,980 fijaros que 44 00:02:00,980 --> 00:02:02,379 la 3.2 45 00:02:02,379 --> 00:02:04,479 la puerta de enlace evidentemente es la 3.1 46 00:02:04,479 --> 00:02:06,900 ¿por qué? porque la salida de la red es por aquí 47 00:02:06,900 --> 00:02:10,319 en la máscara 24 y el DNS 48 00:02:10,319 --> 00:02:11,180 el 888 49 00:02:11,180 --> 00:02:13,900 ¿qué he hecho aquí? lo que he hecho es 50 00:02:13,900 --> 00:02:15,879 montar un servidor Apache 51 00:02:15,879 --> 00:02:17,879 y lo único que he hecho ha sido 52 00:02:17,879 --> 00:02:20,299 modificar la parte superior 53 00:02:20,299 --> 00:02:22,419 para que se vea, luego vais a ver 54 00:02:22,419 --> 00:02:24,500 porque tiene sentido poner subuntu1 55 00:02:24,500 --> 00:02:25,560 o subuntu2, entonces aquí 56 00:02:25,560 --> 00:02:28,340 en el directorio var www 57 00:02:28,340 --> 00:02:29,979 html 58 00:02:29,979 --> 00:02:32,019 lo que he hecho es modificar el fichero 59 00:02:32,019 --> 00:02:34,039 para que a la parte superior 60 00:02:34,039 --> 00:02:35,240 aparezca 61 00:02:35,240 --> 00:02:37,439 subuntu 62 00:02:37,439 --> 00:02:39,579 no tiene más 63 00:02:39,579 --> 00:02:41,859 a ver si llego 64 00:02:41,859 --> 00:02:43,079 ahí está, lo es 65 00:02:43,079 --> 00:02:45,939 vale, voy a 66 00:02:45,939 --> 00:02:47,719 voy al otro subuntu y 67 00:02:47,719 --> 00:02:49,800 si os fijáis es absolutamente 68 00:02:49,800 --> 00:02:51,699 lo mismo, la IP 69 00:02:51,699 --> 00:02:53,879 es la 3.3, la única diferencia 70 00:02:53,879 --> 00:02:55,280 es que he cambiado 71 00:02:55,280 --> 00:02:57,680 la cabecera de la página 72 00:02:57,680 --> 00:02:59,139 y es su punto 2 73 00:02:59,139 --> 00:03:01,439 vale 74 00:03:01,439 --> 00:03:03,039 seguimos configurando 75 00:03:03,039 --> 00:03:05,900 bueno aquí os hago, aquí lo podéis ver 76 00:03:05,900 --> 00:03:07,860 lo voy comentando, las diferentes formas 77 00:03:07,860 --> 00:03:09,979 del método 78 00:03:09,979 --> 00:03:11,780 de conexión a los diferentes servidores 79 00:03:11,780 --> 00:03:13,699 y fijaros aquí 80 00:03:13,699 --> 00:03:14,460 el balanceador de carga 81 00:03:14,460 --> 00:03:17,699 está conectado a dos redes, por una parte a la reciente 82 00:03:17,719 --> 00:03:23,359 interna y por otro lado a la red en este caso de mi casa. Entonces evidentemente esta será 83 00:03:23,359 --> 00:03:29,439 la red interna y esta será adaptador puente. Si os fijáis aquí, yo lo que he utilizado 84 00:03:29,439 --> 00:03:37,319 es un Ubuntu Server y aquí en preferencias de red vemos como un adaptador está en adaptador 85 00:03:37,319 --> 00:03:43,819 puente y otro adaptador es el que va hacia la red interna en red interna. En este caso, 86 00:03:43,819 --> 00:04:00,359 Como es un Ubuntu Server, yo lo he configurado vía comandos y fijaros cómo he configurado el MPCero S8 y el MPCero S3, que son los dos adaptadores que tengo. 87 00:04:00,599 --> 00:04:07,599 Atención a las MAC, lo de siempre, para saber cuál de los dos va a la red interna y cuál de los dos va hacia el adaptador puente. 88 00:04:07,599 --> 00:04:31,259 Si os fijáis, hacia la red interna he puesto la 3.1, no me hace falta en este caso puerta de enlace, y hacia Internet, digamos que he puesto la IP de mi red local de casa, la 192.168.1.8, y luego la salida hacia Internet, que es la 1.1. 89 00:04:31,259 --> 00:04:48,659 Es decir, el que duele la puerta de enlace de nuestro router es comúnmente. He hecho en el plan Apply, el Generate, el Apply y ya si os fijáis, ya hago un IPA comprobando que la configuración está establecida y está de forma correcta. 90 00:04:48,660 --> 00:05:12,879 si hago un pin a google.com, vemos que no quiere funcionar, a ver, vale, es tema de, vale, a bueno, es que no sé si he puesto en ese, a ver, por ejemplo, vale, es tema de esas máquinas, 91 00:05:12,879 --> 00:05:25,319 Hay conexión a internet y si voy a una de las máquinas de la red interna, es la 3, ¿vale? Tengo conexión. Entonces, veo que la configuración de red está de forma correcta, ¿vale? 92 00:05:26,300 --> 00:05:34,459 Entonces, ¿qué pasa en Ubuntu Server? Que la herramienta Haproxy, que es la que me va a permitir hacer el balanceo de carga, no está instalada. 93 00:05:34,459 --> 00:05:49,120 Entonces, tengo que hacer un sudo apt install haproxy. Lo hacéis y al final lo que os va a crear es este directorio, fc barra haproxy. Y aquí tenéis un fuchero de configuración que es haproxy.cfg. 94 00:05:49,120 --> 00:05:53,840 Entonces, aquí es donde tenéis que hacer la configuración 95 00:05:53,840 --> 00:05:56,060 Fijaros, si yo hago un nano y le vamos a ver 96 00:05:56,060 --> 00:05:58,259 Toda esta parte ya está configurada 97 00:05:58,259 --> 00:05:59,540 Y si bajamos abajo del todo 98 00:05:59,540 --> 00:06:02,180 Tenemos que configurar el frontend y el backend 99 00:06:02,180 --> 00:06:05,100 El frontend le tenemos que dar un nombre 100 00:06:05,100 --> 00:06:06,819 En este caso, fijaros yo que nombre le he puesto 101 00:06:06,819 --> 00:06:08,939 HTTP parte visible 102 00:06:08,939 --> 00:06:11,800 ¿Vale? Es decir, a donde las personas se van a conectar 103 00:06:11,800 --> 00:06:13,459 ¿Dónde va a escuchar? 104 00:06:13,459 --> 00:06:15,860 En esta máquina, que es la 1.8 105 00:06:15,860 --> 00:06:17,620 ¿En qué puerto? En el 8080 106 00:06:17,620 --> 00:06:35,519 Es decir, si alguien de fuera se va a conectar, se va a conectar aquí. Entonces yo aquí llego y fijaros, si me conecto a esta IP me he conectado 8080. Fijaros que en este caso me estoy conectando a Ubuntu 2. Ahora veremos esto. Actualizo Ubuntu 1, actualizo Ubuntu 2, ¿vale? Ahora lo comentamos. 107 00:06:35,519 --> 00:06:38,359 Vale, fijaros que 108 00:06:38,359 --> 00:06:40,339 Donde va a atacar 109 00:06:40,339 --> 00:06:41,719 Digamos entre comillas el cliente 110 00:06:41,719 --> 00:06:43,839 El que se va a conectar a esta página web que tengo 111 00:06:43,839 --> 00:06:45,339 En los diferentes 112 00:06:45,339 --> 00:06:47,740 En los diferentes, a ver si voy 113 00:06:47,740 --> 00:06:48,979 En los diferentes servidores 114 00:06:48,979 --> 00:06:50,939 Donde está la página web 115 00:06:50,939 --> 00:06:51,939 Es decir, aquí 116 00:06:51,939 --> 00:06:55,419 De haber 1, 2, 27.000 servidores 117 00:06:55,419 --> 00:06:57,199 La idea es que todos tengan la 118 00:06:57,199 --> 00:06:58,899 La misma página web 119 00:06:58,899 --> 00:07:00,979 Porque este balanzador lo que va a hacer es 120 00:07:00,979 --> 00:07:03,219 En ocasiones mandar la petición a este 121 00:07:03,219 --> 00:07:04,959 Otras veces a este 122 00:07:04,960 --> 00:07:10,100 lo que tiene sentido es que tenga la misma información 123 00:07:10,100 --> 00:07:13,540 en este caso yo he puesto la etiqueta de subuntu 1 y subuntu 2 124 00:07:13,540 --> 00:07:18,100 para que veamos a que servidor se está conectando en cada momento 125 00:07:18,100 --> 00:07:22,320 vuelvo aquí, hemos dicho donde tenemos que atacar al balanzador 126 00:07:22,320 --> 00:07:24,680 para que nos redirija uno de los servidores internos 127 00:07:24,680 --> 00:07:29,320 luego aquí lo que estamos indicando es la página de las estadísticas 128 00:07:29,320 --> 00:07:33,920 fijaros aquí, si yo voy aquí en la misma IP en el mismo puerto 129 00:07:33,920 --> 00:07:38,620 en hub proxy, interrogación stats, aquí tenemos las estadísticas 130 00:07:38,620 --> 00:07:41,360 de cómo está funcionando mi balanceador de carga 131 00:07:41,360 --> 00:07:46,340 vale, luego, evidentemente el frontend, es decir, donde 132 00:07:46,340 --> 00:07:50,060 atocamos y el backend es donde la parte que está detrás, vale 133 00:07:50,060 --> 00:07:54,300 lo que está haciendo el balanceado es un round robin, aquí tenéis 134 00:07:54,300 --> 00:07:57,920 en la página web, en la aula virtual, los diferentes tipos de balanceado 135 00:07:57,920 --> 00:08:02,060 el round robin lo que consiste es que reparte las peticiones 136 00:08:02,060 --> 00:08:03,680 de forma cíclica, es decir 137 00:08:03,680 --> 00:08:05,899 la primera que llega al 1, la segunda 138 00:08:05,899 --> 00:08:07,800 al 2, luego otra vez al 1, al 2 139 00:08:07,800 --> 00:08:08,920 eso quiere decir wrong robin 140 00:08:08,920 --> 00:08:11,459 y luego los servidores que tenemos 141 00:08:11,459 --> 00:08:13,000 tenemos un servidor subuntu 1 142 00:08:13,000 --> 00:08:15,639 que el servidor apache escucha 143 00:08:15,639 --> 00:08:17,000 el A3.2 en el puerto 80 144 00:08:17,000 --> 00:08:19,220 y el subuntu 2 que escucha 145 00:08:19,220 --> 00:08:21,240 el A3.3 en el puerto 80 146 00:08:21,240 --> 00:08:23,759 ya lo tenemos, donde tenemos 147 00:08:23,759 --> 00:08:24,399 que atacar 148 00:08:24,399 --> 00:08:27,800 y el balanceo lo redirige a uno de estos dos 149 00:08:27,800 --> 00:08:30,120 servidores, una vez hagáis el fichero 150 00:08:30,120 --> 00:08:33,560 hay un comando que nos permite saber 151 00:08:33,560 --> 00:08:36,120 si, sería como el generate 152 00:08:36,120 --> 00:08:39,820 en el plan generate para la configuración de red 153 00:08:39,820 --> 00:08:42,100 entonces yo lanzo este comando, lo que hace es 154 00:08:42,100 --> 00:08:45,159 comprobarme si el fichero está válido o hay algún error 155 00:08:45,159 --> 00:08:47,500 fijaros que ya me dice que es válido 156 00:08:47,500 --> 00:08:51,179 y ya estaría, es decir, ahora yo voy por ejemplo en clase 157 00:08:51,179 --> 00:08:54,379 desde Windows y yo aquí lanzo y fijaros 158 00:08:54,379 --> 00:08:56,440 me conecto siempre al 1.8 159 00:08:56,440 --> 00:08:59,940 pero ahora me está redirigiendo al 3.3 160 00:08:59,940 --> 00:09:07,740 hará el 3.2 vale es de forma cíclica está haciendo un balanceo romper y aquí fijaros las estadísticas 161 00:09:07,740 --> 00:09:13,380 por ejemplo fijaros en sesiones en su punto uno ha habido seis sesiones seis conexiones y en su 162 00:09:13,380 --> 00:09:19,620 punto 25 conexiones si yo actualizo y ahora me consta su punto 2 y actualizados estadísticas 163 00:09:19,620 --> 00:09:27,659 fijaos que es un todos tengo seis conexiones voy a tirar una de las máquinas fijaros juntos 164 00:09:30,779 --> 00:09:40,620 esto vale uno de los servidores entonces fijaros qué pasa ahora actualizó y me está diciendo el 165 00:09:40,620 --> 00:09:46,240 día se ponen amarillos juntos y ahora ya aparecen rojos o quiere decir que la máquina está tirada 166 00:09:46,240 --> 00:10:10,820 Entonces, ¿qué va a pasar? Que el road roaming, en este caso, al haber dos servidores, no va a aplicar. Es decir, siempre va a mandar las peticiones al primero, que es el que está activo. Fijaros, ya hay 20 conexiones y en su punto 2 hay 6. Si levanto su punto 2, fijaros que esto se va a volver verde y ya tenemos los dos disponibles. 167 00:10:10,820 --> 00:10:13,640 Entonces fijaros que el balanceo de carga 168 00:10:13,640 --> 00:10:15,340 Vuelve a aplicarse 169 00:10:15,340 --> 00:10:16,200 Vale chicos 170 00:10:16,200 --> 00:10:18,120 Pues bueno, para que estos días 171 00:10:18,120 --> 00:10:20,920 Otra de las cosas que os podéis poner a hacer y probar 172 00:10:20,920 --> 00:10:23,040 Pues es montar un balanceador de carga 173 00:10:23,040 --> 00:10:24,120 Reposar los RAIS 174 00:10:24,120 --> 00:10:25,540 Ahí os lo dejo, vale 175 00:10:25,540 --> 00:10:26,520 Venga, un saludo