Resumen

Tener múltiples máquinas virtuales listas para responder solicitudes no sirve de nada si todo el tráfico se dirige a una sola de ellas. La pieza clave para completar una arquitectura escalable es el balanceador de carga, y Google Cloud Platform ofrece varias opciones que se adaptan a distintos escenarios de aplicación, tipo de tráfico y alcance geográfico.

¿Cómo se clasifican los balanceadores de carga en Google Cloud?

Los balanceadores de carga en GCP se pueden dividir en dos grandes criterios [1:08]:

  • Por alcance: globales o regionales.
  • Por origen del tráfico: externo (abierto a Internet) o interno (tráfico que se genera dentro del propio proyecto).

El tráfico interno resulta fundamental cuando trabajas con una arquitectura de microservicios. Imagina que tienes seis servicios: los tres primeros están expuestos a Internet y los tres restantes son privados, manejan datos sensibles o la conexión a base de datos. El front end necesita comunicarse con el back end, y si el front end escala, también lo hará la cantidad de solicitudes hacia los servicios internos. Para eso existen los balanceadores que soportan tráfico interno [1:30].

¿Qué ofrece el balanceador HTTPS global?

El balanceador HTTPS global acepta solicitudes a través de Internet por los puertos 80, 8080 y 443 [2:20]. Permite exponer un endpoint mediante IPv4 o IPv6 y vincular un nombre de dominio. Detrás de ese único punto de entrada pueden existir múltiples instance groups con sus propias IPs, pero el usuario solo ve una dirección.

¿Cuándo usar TCP proxy, SSL proxy o network traffic?

Para escenarios donde el tráfico es externo y global pero no es HTTP, están disponibles el TCP proxy y el SSL proxy [3:00]. Ambos soportan TCP con un rango de puertos más amplio.

Existe un balanceador que podríamos llamar híbrido: el network traffic load balancer [3:25]. Es externo pero solo regional, lo que significa que únicamente balancea cómputo dentro de una misma región. Si tienes instancias en Iowa y en Los Ángeles, este balanceador no podrá distribuir tráfico entre ambas. Su gran ventaja es que puedes usar cualquier puerto que necesite tu aplicación, siempre que el protocolo sea TCP o UDP.

Este balanceador es especialmente útil con un grupo de instancias no administrado [4:15], ideal en migraciones donde conviven sistemas legacy con sistemas modernos y cada uno responde en puertos distintos.

¿Qué opciones existen para tráfico interno?

Cuando separas tus microservicios en niveles y algunos no quedan expuestos a Internet, los aliados principales son [5:20]:

  • Internal TCP/UDP load balancer: funciona con cualquier puerto por TCP y UDP.
  • Internal HTTP(S) load balancer: soporta solicitudes por los puertos 80, 8080 y 443, pensado para servicios web internos.

¿Cómo se ve una arquitectura con balanceo de carga?

Un escenario práctico incluye poder de cómputo distribuido en dos zonas de la misma región, por ejemplo US Central zona A y zona F [5:55]. Detrás hay una base de datos no expuesta a Internet con su réplica de lectura en otra zona. Al colocar un balanceador enfrente, el tráfico se distribuye entre ambas zonas, garantizando mejor calidad de servicio.

Con los Managed Instance Groups, creados a partir de un Instance Template, Google Cloud permite escalamiento horizontal de hasta mil máquinas virtuales por grupo [6:40], y puedes tener varios grupos. Esto significa que la capacidad de absorber solicitudes es enorme.

¿Cómo proteger tu arquitectura con Cloud Armor?

Escalar automáticamente es poderoso, pero también puede volverse en tu contra. Si recibes tráfico no orgánico, como un ataque de denegación de servicio (DDoS), tus instancias escalarán sin parar y la facturación crecerá por solicitudes que no son genuinas [7:10].

Cloud Armor es el servicio de GCP diseñado para autorizar o rechazar tráfico hacia tus endpoints [7:40]. Funciona de dos maneras:

  • Listas de rechazo: bloqueas rangos de IPs específicos, como granjas de bots identificadas.
  • Listas de autorización: solo aceptas tráfico de IPs o rangos confiables.

Este servicio comparte similitudes con un web application firewall (WAF) [8:20]. Dentro de Google Cloud existen opciones de WAF más sofisticadas de proveedores terceros integrados, pero Cloud Armor es un excelente punto de partida para controlar qué tráfico llega a tu plataforma y qué debe ser descartado.

Si estás diseñando aplicaciones que necesitan escalar y al mismo tiempo mantenerse protegidas, comparte tu experiencia eligiendo balanceadores de carga o configurando reglas de seguridad en la nube.

      Opciones de escalabilidad: Load Balancers y Armor