Creación de un equilibrador de carga HTTP(s) en la nube en Google Cloud Platform (GCP)
Si aloja sus aplicaciones en Google Cloud y busca una mayor disponibilidad, debería probar a implementar un equilibrador de carga (LB).

El LB de Google Cloud es inteligente. Ofrece más que uno tradicional.
- HTTP/2 habilitado
- Finalización del apretón de manos SSL
- Políticas SSL/TLS personalizadas
- Enrutamiento del tráfico al servidor más cercano
- Enrutamiento basado en rutas
- Autoescalado
y mucho más...
A continuación, tengo dos servidores (uno en EE.UU. y otro en el Reino Unido). Vamos a crear un equilibrador de carga y enrutar el tráfico a ambos servidores.
Dado que Google ofrece autoescalado, tiene múltiples opciones y puede elegir lo que su negocio requiera. Sin embargo, en este artículo explicaré cómo crear un equilibrador de carga utilizando grupos de instancias no gestionados que no admiten el autoescalado.
Crear grupos de instancias
Todos los servidores deben estar dentro de los grupos de instancias. Por lo tanto, este es un requisito previo para crear un LB.
- Iniciar sesión en la consola de GCP
- Navegue hasta Compute Engine >> Grupos de instancias
- Haga clic en crear grupo de instancia
- Introduzca el nombre, seleccione zona como única, región donde están sus servidores, grupo de instancia no gestionado, elija el servidor del desplegable de instancia VM y haga clic en Crear
Una zona única sólo puede añadir servidores de esa zona. Como tengo servidores en el Reino Unido y EE.UU., entonces tengo que crear un grupo de dos instancias. Repetiré el procedimiento para añadir mi otro servidor (server-uk).
Y, esos dos grupos están creados.
Crear un LB HTTP(s)
Google ofrece tres tipos de LB.
- HTTP (s)
- TCP
- UDP
Para gestionar la distribución del tráfico de aplicaciones web, HTTP(s) es adecuado. Vamos a crearlo.
- Vaya a Servicios de red >> equilibrado de carga
- Haga clic en Crear un equilibrador de carga
- Inicie la configuración para el equilibrio de carga HTTP(s)
- Introduzca el nombre del LB
- En la pestaña de configuración del backend, seleccione el desplegable y cree un servicio backend
- Introduzca el nombre y seleccione el tipo de backend como grupos de instancia
- Añada ambos grupos de instancia (server-us y server-uk)
- Ajuste el número de puerto - número de puerto del servidor web o aplicación estará escuchando en los servidores
- En comprobación de salud, haga clic en crear
- Introduzca el nombre, seleccione el protocolo, el puerto
Un chequeo de salud es esencial para que LB sepa qué instancia está caída, por lo que deja de enviar tráfico. A continuación, estoy dando instrucciones a LB para que golpee la IP del servidor con el puerto 80 cada 10 segundos. Si un servidor no responde tres veces consecutivas entonces, LB marcará esa instancia como caída.
- Haga clic en guardar y continuar para crear la salud
- Haga clic en crear en el asistente de servicio backend
- Se mostrará como abajo
En la pestaña de reglas de host y ruta, asegúrese de que los servicios backend recién creados (geekflarelab en mi caso) están seleccionados
En la pestaña de configuración del frontend, introduzca el nombre y cree una nueva dirección IP.
- Aparecerá una ventana emergente para reservar una nueva dirección IP estática. Introduzca allí el nombre y haga clic en reservar.
- Haga clic en Lista
Nota: es recomendable obtener la IP estática de su LB para que pueda utilizarla para apuntar a su dominio.
En la pestaña de revisión, asegúrese de que todo está bien y una vez contento pulse Crear
Tardará unos segundos en crearse y debería verlos en la lista. Cuando haga clic en el LB recién creado, le mostrará los detalles como a continuación.
Como puede ver ambas instancias están sanas y el LB está técnicamente operativo.
A continuación, tiene que actualizar el registro A de su dominio para que apunte a la IP del frontend del LB. Una vez hecho esto, cuando apunte a su dominio, este debería apuntar a LB y distribuir el tráfico a las instancias.
Hice algunas pruebas de carga y aquí está el resultado.
Puede ver que el tráfico de Europa está siendo enrutado al servidor más cercano situado en Londres, y el de Norteamérica y Asia al servidor de EEUU. Lo bueno es que no tiene que configurar nada para el enrutamiento geográfico del tráfico, es una característica por defecto. El seguimiento anterior está disponible en la pestaña backends.
Conclusión
Crear un LB es fácil, y espero que esto le haya dado una idea al respecto. Hay un montón de configuraciones que puede hacer para satisfacer los requisitos de su aplicación como afinidad de sesión, integración CDN, certificado SSL, etc. Si está explorando la opción de tener un equilibrador de carga para su aplicación, entonces juegue un poco y vea cómo le ayuda.
El coste se basa en el uso, por lo que no hay bloqueo mensual o anual. Creo que el uso mínimo costaría unos 18 dólares al mes. Si tiene curiosidad por aprender sobre la administración de Google Cloud, entonces puede considerar tomar este curso en línea.