10 Pasos Para Crear un Application Load Balancer Global Moderno en GCP (Guía Facil)

En esta guía paso a paso aprenderás a construir un Application Load Balancer Global moderno en GCP, utilizando los comandos beta de gcloud. Esta arquitectura te permitirá aprovechar las capacidades más avanzadas de administración de tráfico, seguridad reforzada y distribución global de aplicaciones.

Es importante aclarar que en este artículo trabajaremos específicamente con el balanceador de cargas de aplicaciones externo moderno, basado en el proxy de código abierto Envoy. Este tipo de balanceador ofrece características superiores, como direccionamiento inteligente de tráfico, duplicación de tráfico, transformación de encabezados y soporte global con direcciones IP Anycast.

Esto es diferente del balanceador de cargas clásico de GCP, que aunque también es global (en nivel Premium), tiene menos funciones de enrutamiento avanzado.

Pronto publicaré una guía dedicada para explicar de forma clara las diferencias clave entre el balanceador moderno y el balanceador clásico, y ayudarte a elegir el más adecuado para tus necesidades.

¡Ahora sí!

Vamos a construir, paso a paso, un balanceador de cargas moderno en GCP, listo para entornos de producción y arquitectura multinube.

🧩 Requisitos Previos:

Antes de comenzar, asegúrate de contar con:

🔹 Un dominio propio y acceso para modificar registros DNS públicos (puede ser administrado en cualquier proveedor externo).
🔹 Un backend previamente creado en GCP, como un grupo de instancias, una máquina virtual individual, o incluso un servicio de Cloud Run (esta guía es extrapolable a distintos tipos de backend).
🔹 Google Cloud CLI instalado y configurado localmente, o alternativamente acceso a la terminal gcloud integrada en el portal de GCP.
🔹 Un usuario con los permisos necesarios para gestionar recursos de red, balanceo de cargas y certificados SSL en el proyecto de GCP.

✳️ Reservar IP pública global

Primero reservaremos una IP pública para nuestro balanceador.

gcloud compute addresses create web-ip   --ip-version=IPV4   --global

✳️ Crear certificado SSL administrado por Google

Protege tu dominio automáticamente con un certificado SSL gratuito.

gcloud compute ssl-certificates create cert-web-kloudconk   --domains=web.kloudconk.com   --global

📌 Nota: Nota: Google validará automáticamente el dominio una vez el registro A de web.kloudconk.com apunte a la IP del balanceador. No es necesario crear un registro CNAME ni subir un archivo al sitio web.

✳️ Crear health check

Configura un monitoreo automático de la salud de tus instancias.

gcloud compute health-checks create http hc-web-kloudconk   --port=80   --global

✳️ Crear backend service

Crea el servicio backend que recibirá el tráfico balanceado.

gcloud beta compute backend-services create backend-web-kloudconk   --load-balancing-scheme=EXTERNAL_MANAGED   --protocol=HTTP   --port-name=http   --health-checks=hc-web-kloudconk   --global

✳️ Agregar grupo de instancias al backend

gcloud beta compute backend-services add-backend backend-web-kloudconk \
  --instance-group=instance-group-web-test \
  --instance-group-region=us-central1 \
  --global

Nota:
Aquí estamos asignando como backend el Grupo de Instancias Gestionado (MIG) previamente creado.
Si aún no tienes un MIG configurado, puedes ver la guía completa sobre cómo crear uno aquí:
👉 Crear Grupo de Instancias Gestionado en GCP.

✳️ Crear URL map

Define cómo se enruta el tráfico entrante.

gcloud beta compute url-maps create url-map-web-kloudconk   --default-service=backend-web-kloudconk   --global

✳️ Crear HTTPS proxy con certificado existente

Asocia el tráfico seguro HTTPS con tu URL Map.

gcloud beta compute target-https-proxies create https-proxy-web-kloudconk   --url-map=url-map-web-kloudconk   --ssl-certificates=cert-web-kloudconk   --global

✳️ Crear regla de reenvío HTTPS

Apunta el tráfico HTTPS a tu proxy.

gcloud beta compute forwarding-rules create https-rule-web-kloudconk   --load-balancing-scheme=EXTERNAL_MANAGED   --network-tier=PREMIUM   --address=web-ip   --global   --target-https-proxy=https-proxy-web-kloudconk   --ports=443

✳️ Crear registro A en DNS público

Apunta tu dominio a la IP pública del balanceador.

Obtener la IP pública del balanceador:

gcloud compute addresses describe web-ip --global --format="get(address)"

Agregar en tu proveedor DNS

Tipo: A
Nombre: web.kloudconk.com
Valor: <IP del comando anterior>

📌 Nota: Este paso es necesario para que Google valide el dominio y active el certificado SSL.

✳️ Verificar estado del certificado

Confirma que tu SSL esté activo.

gcloud compute ssl-certificates describe cert-web-kloudconk --global

Debe aparecer con status: ACTIVE (puede tardar hasta 30 minutos la verificacion).

Con esta implementación, ahora cuentas con un Application Load Balancer Global Moderno en GCP, asegurado y optimizado para entornos de alta disponibilidad.

Application Load Balancer Global Moderno en GCP

🎯 Conclusión

¡Listo!

Ahora has implementado un Application Load Balancer Global moderno en GCP, configurado para ofrecer alta disponibilidad, tráfico seguro HTTPS y distribución global optimizada.

Este tipo de arquitectura no solo mejora la resiliencia y seguridad de tus aplicaciones, sino que también sigue las mejores prácticas de infraestructura cloud en entornos productivos.

Si quieres reforzar esta arquitectura aún más, te invito a revisar también cómo crear el Grupo de Instancias Gestionado (MIG) que hemos utilizado como backend en esta configuración.

👉 Ver cómo crear un Grupo de Instancias Gestionado en GCP.

Gracias por seguir construyendo infraestructura cloud conmigo en KloudConK. 🚀

Leave a Comment