Un balanceador de carga de red de proxy externo regional es un balanceador de carga de capa 4 regional basado en proxy que te permite ejecutar y escalar el tráfico de tu servicio TCP en una sola región mediante una dirección IP regional externa. Estos balanceadores de carga distribuyen el tráfico TCP externo de Internet a los backends de la misma región.
En esta página se describe cómo configurar un balanceador de carga de red proxy externo regional para balancear la carga del tráfico a backends en entornos on-premise o en otros entornos de nube que estén conectados mediante conectividad híbrida. En esta página no se explica cómo configurar la conectividad híbrida para conectar tus redes a Google Cloud .
Antes de empezar, consulta la descripción general del balanceador de carga de red del proxy externo.
En este ejemplo, usaremos el balanceador de carga para distribuir el tráfico TCP entre las VMs de backend ubicadas en las instalaciones o en otros entornos de nube.
En este ejemplo, configurará la implementación que se muestra en el siguiente diagrama.
Se trata de un balanceador de carga regional. Todos los componentes del balanceador de carga (grupo 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 carga híbrido, debes tener los siguientes permisos:
Activado Google Cloud
- Permisos para establecer la conectividad híbrida entre Google Cloud y tu entorno on-premise u otros entornos de nube. Para ver la lista de permisos necesarios, consulta la documentación del producto de conectividad de red correspondiente.
- Permisos para crear un NEG de conectividad híbrida y el balanceador de carga.
El rol Administrador de balanceadores de carga de Compute
(
roles/compute.loadBalancerAdmin
) contiene los permisos necesarios para realizar las tareas descritas en esta guía.
En tu entorno local u otro entorno que no sea deGoogle Cloud cloud
- Permisos para configurar endpoints de red que permitan que los servicios de tu entorno local u otros entornos de nube sean accesibles desdeGoogle Cloud mediante una combinación de
IP:Port
. Para obtener más información, ponte en contacto con el administrador de red de tu entorno. - Permisos para crear reglas de cortafuegos en tu entorno local u otros entornos de nube para permitir que las sondas de comprobación del estado de Google lleguen a los endpoints.
- Permisos para configurar endpoints de red que permitan que los servicios de tu entorno local u otros entornos de nube sean accesibles desdeGoogle Cloud mediante una combinación de
Además, para completar las instrucciones de esta página, debe crear un NEG de conectividad híbrida, un balanceador de carga y NEGs zonales (y sus endpoints) para que actúen como back-ends basados en Google Clouddel balanceador de carga.
Debes tener el rol de propietario o editor del proyecto, o bien los siguientes roles de gestión de identidades y accesos de Compute Engine.
Tarea | Rol necesario |
---|---|
Crear redes, subredes y componentes de balanceador de carga | Administrador de red de Compute
(roles/compute.networkAdmin ) |
Añadir y eliminar reglas de cortafuegos | Administrador de seguridad de Compute
(roles/compute.securityAdmin ) |
Crear instancias | Administrador de instancias de Compute
(roles/compute.instanceAdmin ) |
Establecer una conectividad híbrida
Tu entorno Google Cloud y el entorno on-premise u otros entornos de nube deben conectarse mediante conectividad híbrida usando vinculaciones de VLAN de Cloud Interconnect o túneles de Cloud VPN con Cloud Router o VMs de dispositivo router. Te recomendamos que uses una conexión de alta disponibilidad.
Un Cloud Router habilitado con enrutamiento dinámico global obtiene información sobre el endpoint específico mediante el protocolo de pasarela fronteriza (BGP) y lo programa en tu Google Cloud red de VPC. No se admite el enrutamiento dinámico regional. Tampoco se admiten las rutas estáticas.
Puedes usar la misma red de VPC o una diferente en el mismo proyecto para configurar tanto la red híbrida (Cloud Interconnect, Cloud VPN o una VM de dispositivo Router) como el balanceador de carga. Ten en cuenta lo siguiente:
Si usas redes de VPC diferentes, las dos redes deben estar conectadas mediante el emparejamiento entre redes de VPC o deben ser radios de VPC en el mismo hub de Network Connectivity Center.
Si usas la misma red de VPC, asegúrate de que los intervalos CIDR de las subredes de tu red de VPC no entren en conflicto con los intervalos CIDR remotos. Cuando las direcciones IP se superponen, se priorizan las rutas de subred sobre la conectividad remota.
Para obtener instrucciones, consulta la siguiente documentación:
Configurar un entorno externo Google Cloud
Sigue estos pasos para configurar tu entorno local u otro entorno de nube para el balanceo de carga híbrido:
- Configura los endpoints de red para exponer los servicios locales aGoogle Cloud (
IP:Port
). - Configura reglas de cortafuegos en tu entorno local u otro entorno de nube.
- Configura Cloud Router para que anuncie determinadas rutas necesarias a tu entorno privado.
Configurar endpoints de red
Después de configurar la conectividad híbrida, configura uno o varios endpoints de red en tu entorno local u otros entornos de nube a los que se pueda acceder a través de Cloud Interconnect, Cloud VPN o el dispositivo Router mediante una combinación de IP:port
. Esta IP:port
combinación se configura como uno o varios endpoints para el NEG de conectividad híbrida que se crea Google Cloud más adelante en este proceso.
Si hay varias rutas al endpoint IP, el enrutamiento sigue el comportamiento descrito en la descripción general de Cloud Router.
Configurar reglas de cortafuegos
Debes crear las siguientes reglas de cortafuegos en tu entorno local u otro entorno de nube:
- Crea una regla de cortafuegos de entrada en un entorno local o en otra nube para permitir que el tráfico de la subred de solo proxy de la región llegue a los endpoints.
No es necesario permitir el tráfico de los intervalos de sondeo de comprobación del estado de Google para los NEGs híbridos. Sin embargo, si utilizas una combinación de NEGs híbridos y zonales en un mismo servicio de backend, debes permitir el tráfico de los intervalos de sondeo de comprobación de estado de Google para los NEGs zonales.
Anunciar rutas
Configura Cloud Router para anunciar los siguientes intervalos de IP personalizados a tu entorno local u otro entorno de nube:
- Intervalo de la subred de solo proxy de la región.
Configurar el Google Cloud entorno
En los pasos siguientes, asegúrate de usar la misma red de VPC (denominada NETWORK
en este procedimiento) que se usó para configurar la conectividad híbrida entre los entornos. Puedes seleccionar cualquier subred de esta red para reservar la dirección IP del balanceador de carga y crear el balanceador de carga. En este procedimiento, esta subred se denomina LB_SUBNET
.
Además, asegúrate de que la región utilizada (denominada REGION_A
en este procedimiento) sea la misma que se usó para crear el túnel de Cloud VPN o la vinculación de VLAN de Cloud Interconnect.
Configurar la subred de solo proxy
Una subred de solo proxy proporciona un conjunto de direcciones IP que Google usa para ejecutar proxies de Envoy en tu nombre. Los proxies terminan las conexiones del cliente y crean nuevas conexiones con los back-ends.
Todos los balanceadores de carga regionales basados en Envoy de la región (REGION_A
) de la red de VPC (NETWORK
) usan esta subred de solo proxy.
Solo puede haber una subred solo proxy activa por región y por red de VPC. Puedes saltarte este paso si ya hay una subred solo proxy en esta región.
Consola
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 carga.
Si quieres crear la subred de solo proxy ahora, sigue estos pasos:
En la Google Cloud consola, 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 Añadir subred.
En Nombre, escribe
proxy-only-subnet
.En Región, selecciona
REGION_A
.En Propósito, selecciona Proxy gestionado regional.
En Intervalo de direcciones IP, introduce
10.129.0.0/23
.Haz clic en Añadir.
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
Reservar la dirección IP del balanceador de carga
Reserva una dirección IP estática para el balanceador de carga.
Consola
En la Google Cloud consola, ve a la página Reservar una dirección estática.
Elige un nombre para la nueva dirección.
En Nivel de servicio de red, selecciona Estándar.
En Versión de IP, selecciona IPv4. No se admiten direcciones IPv6.
En Type (Tipo), selecciona Regional (Regional).
En Región, selecciona
REGION_A
.Deje la opción Adjunto a configurada como Ninguno. Una vez que hayas creado el balanceador de carga, esta dirección IP se adjuntará a la regla de reenvío del balanceador de carga.
Haz clic en Reservar para 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
Sustituye
ADDRESS_NAME
por el nombre que quieras asignar a esta dirección.Para ver el resultado, usa el comando
gcloud compute addresses describe
:gcloud compute addresses describe ADDRESS_NAME
Configurar el NEG de conectividad híbrida
Cuando cree el NEG, utilice un ZONE
que minimice la Google Cloud distancia geográfica entre Google Cloud y su entorno local u otro entorno de nube. Por ejemplo, si alojas un servicio en un entorno local en Fráncfort (Alemania), puedes especificar la zona europe-west3-a
Google Cloud al crear el NEG.
Además, la zona que uses para crear el NEG debe estar en la misma región en la que se haya configurado el túnel de Cloud VPN o la vinculación de VLAN de Cloud Interconnect para la conectividad híbrida.
Para ver las regiones y zonas disponibles, consulta Regiones y zonas disponibles en la documentación de Compute Engine.
Consola
Crear un NEG de conectividad híbrida
En la Google Cloud consola, ve a la página Grupos de endpoints de red.
Haz clic en Crear grupo de endpoints de red.
En Nombre, escribe
HYBRID_NEG_NAME
.En Tipo de grupo de puntos finales de red, selecciona Grupo de puntos finales de red de conectividad híbrida (por zonas).
En Red, selecciona
NETWORK
.En Subred, selecciona
LB_SUBNET
.En Zona, selecciona
HYBRID_NEG_ZONE
.En Puerto predeterminado, selecciona el predeterminado.
En Número máximo de conexiones, introduce
2
.Haz clic en Crear.
Añadir puntos finales al NEG de conectividad híbrida
En la Google Cloud consola, ve a la página Grupos de endpoints de red.
Haga clic en el nombre del grupo de endpoints de red que ha creado en el paso anterior (
HYBRID_NEG_NAME
).En la página Detalles del grupo de puntos finales de red, vaya a la sección Puntos finales de red de este grupo y haga clic en Añadir punto final de red.
En la página Añadir punto final de red, introduce la dirección IP del nuevo punto final de red.
Seleccione el Tipo de puerto:
- Si seleccionas Predeterminado, el endpoint usará el puerto predeterminado para todos los endpoints del grupo de endpoints de red.
- Si seleccionas Personalizado, puedes introducir otro número de puerto para que lo use el endpoint.
Para añadir más endpoints, haz clic en Añadir endpoint de red y repite los pasos anteriores.
Una vez que hayas añadido todos los endpoints que no seanGoogle 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
Añade el endpoint IP:Puerto 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 añadir los endpoints de red que hayas configurado anteriormente de forma local o en tu entorno de nube.
Repite --add-endpoint
tantas veces como sea necesario.
Puedes repetir estos pasos para crear varios NEGs híbridos si es necesario.
Configurar el balanceador de carga
Consola
Iniciar la configuración
En la Google Cloud consola, ve a la página Balanceo de carga.
- Haga clic en Crear balanceador de carga.
- En Tipo de balanceador de carga, selecciona Balanceador de carga de red (TCP/UDP/SSL) y haz clic en Siguiente.
- En Proxy o pasarela, selecciona Balanceador de carga de proxy y haz clic en Siguiente.
- En Público o interno, selecciona Público (externo) y haz clic en Siguiente.
- Para la implementación global o en una sola región, selecciona La mejor opción para cargas de trabajo regionales y haz clic en Siguiente.
- Haz clic en Configurar.
Configuración básica
- En Name (Nombre), introduce el nombre del balanceador de carga.
- En Región, selecciona
REGION_A
. - En Red, selecciona
NETWORK
.
Reservar una subred de solo proxy
- Haz clic en Reservar subred.
- En Nombre, escribe
proxy-only-subnet
. - En Intervalo de direcciones IP, introduce
10.129.0.0/23
. - Haz clic en Añadir.
Configurar el backend
- Haz clic en Configuración de backend.
- En Tipo de backend, selecciona Grupo de endpoints de red de conectividad híbrida (por zonas).
- En Protocolo, selecciona TCP.
- En Nuevo backend, selecciona el NEG híbrido que has creado anteriormente (
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 información sobre cómo configurar el NEG, consulta Configurar el NEG híbrido. - Conserva el resto de los valores predeterminados y haz clic en Hecho.
- Configura la comprobación del estado:
- En Comprobación del estado, selecciona Crear una comprobación del estado.
- En Name (Nombre), introduce un nombre para la comprobación del estado.
- En Protocolo, selecciona TCP.
- En Puerto, escribe
80
.
- Mantenga el resto de los valores predeterminados y haga clic en Guardar.
- En la Google Cloud consola, comprueba que haya una marca de verificación junto a Configuración de backend. Si no es así, comprueba que has completado todos los pasos.
Configurar el frontend
- Haz clic en Configuración de frontend.
- En Name (Nombre), introduce un nombre para la regla de reenvío.
- En Nivel de servicio de red, selecciona Estándar.
- En Dirección IP, selecciona
LB_IP_ADDRESS
. - En Número de puerto, introduce cualquier número de puerto entre 1 y 65535. La regla de reenvío solo reenvía los paquetes con un puerto de destino coincidente.
- Habilita Protocolo de proxy solo si funciona con el servicio que se ejecuta en tus endpoints on-premise o de otra nube. Por ejemplo, el protocolo PROXY no funciona con el software del servidor HTTP de Apache. Para obtener más información, consulta el protocolo PROXY.
- Haz clic en Listo.
- En la Google Cloud consola, comprueba que haya una marca de verificación junto a Configuración de frontend. Si no es así, comprueba que has completado todos los pasos anteriores.
Revisar y finalizar
- Haz clic en Revisar y finalizar.
- Comprueba tu configuración.
- Haz clic en Crear.
gcloud
Crea una comprobación del 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
Añade 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
En
MAX_CONNECTIONS
, introduce el número máximo de conexiones simultáneas que debe gestionar el backend.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
. SustituyeFWD_RULE_PORT
por un número de puerto único entre 1 y 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 \ --network-tier=STANDARD \ --address=LB_IP_ADDRESS \ --ports=FWD_RULE_PORT \ --region=REGION_A \ --target-tcp-proxy=TARGET_TCP_PROXY_NAME \ --target-tcp-proxy-region=REGION_A
Probar el balanceador de carga
Ahora que ha configurado el balanceador de carga, puede probar a enviar tráfico a la dirección IP del balanceador de carga.
Obtén la dirección IP del balanceador de carga.
Para obtener la dirección IPv4, ejecuta el siguiente comando:
gcloud compute addresses describe ADDRESS_NAME
Envía tráfico a tu balanceador de carga ejecutando el siguiente comando. Sustituye
LB_IP_ADDRESS
por la dirección IPv4 de tu balanceador de carga.curl -m1 LB_IP_ADDRESS:FWD_RULE_PORT
Siguientes pasos
- Para saber cómo funcionan los balanceadores de carga de red de proxy externo, consulta la descripción general de los balanceadores de carga de red de proxy externo.
- Para configurar el registro y la monitorización de tu balanceador de carga, consulta Registro y monitorización de balanceadores de carga de red de proxy.
- Para eliminar los recursos que has creado y que no se te facture por ellos en el futuro, consulta Limpiar la configuración del balanceador de carga.