Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En Computación en nube Última actualización: 25 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

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).

Equilibrador de carga
Concepto de equilibrador de carga

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.

gcp-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

gcp-instance-group

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).

gcp-instance-group-uk

Y, esos dos grupos están creados.

gcp-instance-groups-list

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

gcp-create-lb

  • Inicie la configuración para el equilibrio de carga HTTP(s)

gcp-lb-tipos

  • 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

gcp-lb-backend-service

  • 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.

gcp-lb-salud

  • Haga clic en guardar y continuar para crear la salud
  • Haga clic en crear en el asistente de servicio backend
  • Se mostrará como abajo

gcp-lb-backend

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

gcp-lb-host-path

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.

gcp-lb-frontend

En la pestaña de revisión, asegúrese de que todo está bien y una vez contento pulse Crear

gcp-lb-review

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.

gcp-lb-created

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.

gcp-lb-backend-monitoring

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.

  • Chandan Kumar
    Autor
    Chandan Kumar es el fundador de Geekflare. Ha ayudado a millones de personas a destacar en el ámbito digital. Apasionado de la tecnología, su misión es explorar el mundo y ampliar el crecimiento de profesionales y empresas.
Gracias a nuestros patrocinadores
Más lecturas sobre computación en nube
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder