Un balanceador de cargas de red de proxy externo regional es un balanceador de cargas regional de capa 4 basado en proxy que te permite ejecutar y escalar el tráfico de servicio TCP en una sola región detrás de una dirección IP regional externa. Estos balanceadores de cargas distribuyen el tráfico de TCP externo desde Internet hasta los backends en la misma región.
En esta página, se describe cómo configurar un balanceador de cargas de red del proxy externo regional para balancear las cargas del tráfico a los backends en entornos locales o en otros entornos de nube conectados mediante la conectividad híbrida. La configuración de la conectividad híbrida para conectar tus redes a Google Cloud no está dentro del alcance de esta página.
Antes de comenzar, lee la descripción general del balanceador de cargas de red del proxy externo.
En este ejemplo, usaremos el balanceador de cargas para distribuir el tráfico de TCP en las VMs de backend ubicadas en instalaciones locales o en otros entornos de nube.
En este ejemplo, debes configurar la implementación que se muestra en el siguiente diagrama.
Este es un balanceador de cargas regional. Todos los componentes del balanceador de cargas (grupos de instancias de backend, servicio de backend, proxy de destino y regla de reenvío) deben estar en la misma región.
Permisos
Para configurar el balanceo de cargas híbrido, debes tener los siguientes permisos:
En Google Cloud
- Permisos para establecer la conectividad híbrida entre Google Cloud y tu entorno local o cualquier otro entorno de nube. Para obtener la lista de permisos necesarios, consulta la documentación del producto de conectividad de red.
- Permisos para crear un NEG de conectividad híbrida y el balanceador de cargas.
El rol Administrador de balanceadores de cargas de Compute (
roles/compute.loadBalancerAdmin
) contiene el permiso necesario para realizar las tareas descritas en esta guía.
En tu entorno local o en otro entorno de nube que no sea de Google Cloud
- Permisos para configurar los extremos de red que permiten que se pueda acceder a los servicios en tu entorno local o en otros entornos de nube desde Google Cloud a través de una combinación
IP:Port
. Para obtener más información, comunícate con el administrador de red de tu entorno. - Permisos para crear reglas de firewall en tu entorno local o en otros entornos de nube a fin de permitir que los sondeos de verificación de estado de Google lleguen a los extremos.
- Permisos para configurar los extremos de red que permiten que se pueda acceder a los servicios en tu entorno local o en otros entornos de nube desde Google Cloud a través de una combinación
Además, a fin de completar las instrucciones de esta página, debes crear un NEG de conectividad híbrida, un balanceador de cargas y NEG zonales (y sus extremos) que funcionen como backends basados en Google Cloud para el balanceador de cargas.
Debes ser Propietario o Editor de un proyecto o tener los siguientes roles de IAM de Compute Engine.
Tarea | Función requerida |
---|---|
Crear redes, subredes y componentes del balanceador de cargas | Administrador de red de Compute
(roles/compute.networkAdmin ) |
Agrega y quita reglas de firewall | Administrador de seguridad de Compute
(roles/compute.securityAdmin ) |
Crea instancias | Administrador de instancias de Compute
(roles/compute.instanceAdmin ) |
Establece una conectividad híbrida
Tu Google Cloud y otros entornos de nube deben estar conectados a través de la conectividad híbrida, mediante adjuntos de VLAN de Cloud Interconnect o túneles de Cloud VPN con Cloud Router. Te recomendamos usar una conexión de alta disponibilidad.
Un Cloud Router habilitado con enrutamiento dinámico global aprende sobre el extremo específico a través del protocolo de puerta de enlace fronteriza (BGP) y lo programa en tu red de VPC de Google Cloud. No se admite el enrutamiento dinámico regional. Tampoco se admiten las rutas estáticas.
La red de VPC que usas para configurar Cloud Interconnect o Cloud VPN es la misma red que usas a fin de configurar la implementación del balanceo de cargas híbrido. Asegúrate de que los rangos de CIDR de la subred de la red de VPC no entren en conflicto con los rangos de CIDR remotos. Cuando las direcciones IP se superponen, las rutas de subred se priorizan por sobre la conectividad remota.
Para obtener instrucciones, consulta la siguiente documentación:
Configura tu entorno fuera de Google Cloud
Realiza los pasos siguientes a fin de configurar tu entorno local o algún otro entorno de nube para el balanceo de cargas híbrido:
- Configura los extremos de red para exponer los servicios locales a Google Cloud (
IP:Port
). - Configura reglas de firewall en tu entorno local o en otro entorno de nube.
- Configura Cloud Router para anunciar ciertas rutas obligatorias a tu entorno privado.
Configura extremos de red
Luego de configurar la conectividad híbrida, configura uno o más extremos de red en tus entornos de nube locales o en otros a los que se pueda acceder mediante Cloud Interconnect o Cloud VPN mediante una combinación IP:port
. Esta combinación IP:port
se configura como uno o más extremos para el NEG de conectividad híbrida que se crea más adelante en Google Cloud en este proceso.
Si hay varias rutas de acceso al extremo de IP, el enrutamiento seguirá el comportamiento descrito en la descripción general de Cloud Router.
Configura reglas de firewall
Las siguientes reglas de firewall se deben crear en tu entorno local o en otro entorno de nube:
- Crea una regla de firewall de permiso de entrada en entornos locales o en otros entornos de nube para permitir que el tráfico de la subred de solo proxy de la región llegue a los extremos.
No es necesario agregar los rangos de sondeo de verificación de estado de Google a una lista de entidades permitidas para NEG híbridos. Sin embargo, si usas una combinación de NEG híbridos y zonales en un solo servicio de backend, debes agregar los rangos de sondeo de verificación de estado de Google a una lista de entidades permitidas para los NEG zonales.
Anuncia rutas
Configura Cloud Router para Anunciar los siguientes rangos de IP personalizados a tu entorno local o a otro entorno de nube:
- El rango de la subred solo de proxy de la región.
Configura tu entorno de Google Cloud
Para los siguientes pasos, asegúrate de usar la misma red de VPC (llamada NETWORK
en este procedimiento) que se usó a fin de configurar la conectividad híbrida entre los entornos. Puedes seleccionar cualquier subred de esta red para reservar la dirección IP del balanceador de cargas y crear el balanceador de cargas. En este procedimiento, se hace referencia a esta subred como LB_SUBNET
.
Además, asegúrate de que la región que se usa (llamada REGION_A
en este procedimiento) sea la misma región que se usó para crear el túnel de Cloud VPN o el adjunto de VLAN de Cloud Interconnect.
Configura la subred de solo proxy
La subred de solo proxy proporciona un conjunto de direcciones IP que Google usa para ejecutar proxies de Envoy en tu nombre. Los proxies finalizan las conexiones del cliente y crean conexiones nuevas a los backends.
Todos los balanceadores de cargas regionales basados en Envoy usan la subred de solo proxy en la región (REGION_A
) de la red de VPC (NETWORK
).
Solo puede haber una subred de solo proxy activa por región y por red de VPC. Puedes omitir este paso si ya existe una subred de solo proxy en esta región.
Console
Si usas la consola de Google Cloud, puedes esperar y crear la subred de solo proxy más adelante en la página Balanceo de cargas.
Si quieres crear la subred de solo proxy ahora, sigue estos pasos:
En la consola de Google Cloud, ve a la página Redes de VPC.
Ve a la red que se usó para configurar la conectividad híbrida entre los entornos.
Haz clic en Agregar subred.
En Nombre, ingresa
proxy-only-subnet
.En Región, selecciona
REGION_A
.Configura Propósito como Proxy administrado regional.
En Rango de direcciones IP, ingresa
10.129.0.0/23
.Haz clic en Agregar.
gcloud
Para crear la subred de solo proxy, usa el comando gcloud compute networks subnets
create
:
gcloud compute networks subnets create proxy-only-subnet \ --purpose=REGIONAL_MANAGED_PROXY \ --role=ACTIVE \ --region=REGION_A \ --network=NETWORK \ --range=10.129.0.0/23
Reserva la dirección IP del balanceador de cargas
Reserva una dirección IP estática para el balanceador de cargas.
Console
En la consola de Google Cloud, ve a la página Reserva una dirección estática.
Elige un nombre para la dirección nueva.
En Nivel de servicio de red, selecciona Estándar.
Para Versión de la IP, selecciona IPv4. Las direcciones IPv6 no son compatibles.
En Tipo, selecciona Regional.
En Región, selecciona
REGION_A
.Deja la opción Conectado a configurada en Ninguna. Después de crear el balanceador de cargas, esta dirección IP se adjunta a la regla de reenvío del balanceador de cargas.
Haz clic en Reservar si deseas reservar la dirección IP.
gcloud
Para reservar una dirección IP externa estática, usa el comando
gcloud compute addresses create
:gcloud compute addresses create ADDRESS_NAME \ --region=REGION_A \ --network-tier=STANDARD
Reemplaza
ADDRESS_NAME
por el nombre que deseas darle a esta dirección.Para ver el resultado, usa el comando
gcloud compute addresses describe
:gcloud compute addresses describe ADDRESS_NAME
Configura el NEG de conectividad híbrida
Cuando crees el NEG, usa un ZONE
que minimice la distancia geográfica entre Google Cloud y tu entorno local o de otra nube. Por ejemplo, si alojas un servicio en un entorno local en Fráncfort, Alemania, puedes especificar la zona europe-west3-a
de Google Cloud cuando crees el NEG.
Además, la zona que usas a fin de crear el NEG debe estar en la misma región en la que se configuró el túnel de Cloud VPN o el adjunto de VLAN de Cloud Interconnect para la conectividad híbrida.
Para las regiones y zonas disponibles, consulta Regiones y zonas disponibles en la documentación de Compute Engine.
Console
Crea un NEG de conectividad híbrida
En la consola de Google Cloud, ve a la página Grupos de extremos de red.
Haz clic en Crear un grupo de extremos de red.
En Nombre, ingresa
HYBRID_NEG_NAME
.En Tipo de grupo de extremos de red, selecciona Grupo de extremos de red de conectividad híbrida (zonal).
En Red, selecciona
NETWORK
.En Subred, selecciona
LB_SUBNET
.En Zona, selecciona
HYBRID_NEG_ZONE
.En Puerto predeterminado, selecciona el valor predeterminado.
En Cantidad máxima de conexiones, ingresa
2
.Haz clic en Crear.
Agrega extremos al NEG de conectividad híbrida
En la consola de Google Cloud, ve a la página Grupos de extremos de red.
Haz clic en el nombre del grupo de extremos de red que creaste en el paso anterior (
HYBRID_NEG_NAME
).En la página Detalles del grupo de extremos de red, en la sección Extremos de red en este grupo, haz clic en Agregar extremo de red.
En la página Agregar extremo de red, ingresa la dirección IP del extremo de red nuevo.
Selecciona el tipo de puerto:
- Si seleccionas Predeterminado, el extremo usará el puerto predeterminado para todos los extremos del grupo de extremos de red.
- Si seleccionas Personalizado, puedes ingresar un Número de puerto diferente para que lo use el extremo.
Para agregar más extremos, haz clic en Agregar extremo de red y repite los pasos anteriores.
Después de agregar todos los extremos que no son de Google Cloud, haz clic en Crear.
gcloud
Para crear un NEG de conectividad híbrida, usa el comando
gcloud compute network-endpoint-groups create
:gcloud compute network-endpoint-groups create HYBRID_NEG_NAME \ --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \ --zone=HYBRID_NEG_ZONE \ --network=NETWORK
Agrega el extremo de IP:Port local al NEG híbrido:
gcloud compute network-endpoint-groups update HYBRID_NEG_NAME \ --zone=HYBRID_NEG_ZONE \ --add-endpoint="ip=ENDPOINT_IP_ADDRESS,port=ENDPOINT_PORT"
Puedes usar este comando para agregar los extremos de red que configuraste antes de forma local o en tu entorno de nube.
Repite --add-endpoint
tantas veces como sea necesario.
Puedes repetir estos pasos para crear varios NEG híbridos si es necesario.
Configura el balanceador de cargas
Console
Inicia la configuración
En la consola de Google Cloud, ve a la página Balanceo de cargas.
- Haz clic en Crear balanceador de cargas.
- En Tipo de balanceador de cargas, selecciona Balanceador de cargas de red (TCP/UDP/SSL) y haz clic en Siguiente.
- En Proxy o transferencia, selecciona Balanceador de cargas de proxy y haz clic en Siguiente.
- En Orientado al público o interno, selecciona Orientado al público (externo) y haz clic en Siguiente.
- En Implementación global o de una sola región, selecciona Mejor para cargas de trabajo regionales y haz clic en Siguiente.
- Haz clic en Configurar.
Configuración básica
- En Nombre, ingresa un nombre para el balanceador de cargas.
- En Región, selecciona
REGION_A
. - En Red, selecciona
NETWORK
.
Reserva una subred de solo proxy
- Haz clic en Reservar subred.
- En Nombre, ingresa
proxy-only-subnet
. - En Rango de direcciones IP, ingresa
10.129.0.0/23
. - Haga clic en Agregar.
Configura el backend
- Haz clic en Configuración de backend.
- En Tipo de backend, selecciona Grupo de extremos de red de conectividad híbrida (Zonal).
- En Protocol, selecciona TCP.
- En Backend nuevo, selecciona el NEG híbrido que creaste antes (
HYBRID_NEG_NAME
). También puedes hacer clic en Crear un grupo de extremos de red para crear el NEG híbrido ahora. Para obtener orientación sobre cómo configurar el NEG, consulta Configura el NEG híbrido. - Conserva los valores predeterminados restantes y haz clic en Listo.
- Configura la verificación de estado:
- En Verificación de estado, seleccione Crear una verificación de estado.
- En Nombre, ingresa un nombre para la verificación de estado.
- En Protocol, selecciona TCP.
- En Puerto, ingresa
80
.
- Conserva los valores predeterminados restantes y haz clic en Guardar.
- En la consola de Google Cloud, verifica que haya una marca de verificación junto a Configuración de backend. De lo contrario, verifica que hayas completado todos los pasos.
Configura el frontend
- Haz clic en Configuración de frontend.
- En Nombre, ingresa un nombre para la regla de reenvío.
- En Dirección IP, selecciona
LB_IP_ADDRESS
. - En Número de puerto, ingresa cualquier número de puerto del 1 al 65535. La regla de reenvío solo reenvía los paquetes con un puerto de destino coincidente.
- Habilita el Protocolo de proxy solo si funciona con el servicio que se ejecuta en tu extremo local o en otros extremos de la nube. Por ejemplo, el protocolo PROXY no funciona con el software del servidor HTTP de Apache. Para obtener más información, consulta Protocolo PROXY.
- Haz clic en Listo.
- En la consola de Google Cloud, verifica que haya una marca de verificación junto a Configuración de frontend. De lo contrario, verifica que hayas completado todos los pasos anteriores.
Revisa y finaliza
- Haz clic en Revisar y finalizar.
- Vuelve a verificar la configuración.
- Haga clic en Crear.
gcloud
Crea una verificación de estado regional para los backends:
gcloud compute health-checks create tcp TCP_HEALTH_CHECK_NAME \ --region=REGION_A \ --use-serving-port
Crea un servicio de backend:
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=TCP \ --region=REGION_A \ --health-checks=TCP_HEALTH_CHECK_NAME \ --health-checks-region=REGION_A
Agrega el backend de NEG híbrido al servicio de backend:
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=HYBRID_NEG_NAME \ --network-endpoint-group-zone=HYBRID_NEG_ZONE \ --region=REGION_A \ --balancing-mode=CONNECTION \ --max-connections=MAX_CONNECTIONS
Para
MAX_CONNECTIONS
, ingresa la cantidad máxima de conexiones simultáneas que el backend debe manejar.Crea el proxy TCP de destino:
gcloud compute target-tcp-proxies create TARGET_TCP_PROXY_NAME \ --backend-service=BACKEND_SERVICE_NAME \ --region=REGION_A
Crea la regla de reenvío. Usa el comando
gcloud compute forwarding-rules create
. ReemplazaFWD_RULE_PORT
por un solo número de puerto, de 1 a 65535. La regla de reenvío solo reenvía los paquetes con un puerto de destino coincidente.gcloud compute forwarding-rules create FORWARDING_RULE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network=NETWORK \ --subnet=LB_SUBNET \ --address=LB_IP_ADDRESS \ --ports=FWD_RULE_PORT \ --region=REGION_A \ --target-tcp-proxy=TARGET_TCP_PROXY_NAME \ --target-tcp-proxy-region=REGION_A
Prueba el balanceador de cargas
Ahora que ya configuraste el balanceador de cargas, puedes probar el envío de tráfico a la dirección IP del balanceador de cargas.
Obtén la dirección IP del balanceador de cargas.
Para obtener la dirección IPv4, ejecuta el siguiente comando:
gcloud compute addresses describe ADDRESS_NAME
Envía tráfico a tu balanceador de cargas mediante la ejecución del siguiente comando. Reemplaza
LB_IP_ADDRESS
por la dirección IPv4 del balanceador de cargas:curl -m1 LB_IP_ADDRESS:FWD_RULE_PORT
¿Qué sigue?
- Para obtener información sobre cómo funcionan los balanceadores de cargas de red del proxy externos, consulta la descripción general del balanceador de cargas de red del proxy externo.
- Para configurar el registro y la supervisión de tu balanceador de cargas, consulta Registro y supervisión del balanceador de cargas de red de proxy.
- Para borrar los recursos que creaste a fin de que no se te facturen en el futuro, consulta Limpia la configuración del balanceador de cargas.