Google Cloud Los balanceadores de carga de red con proxy externo global te permiten usar una sola dirección IP para todos los usuarios del mundo. Los balanceadores de carga de red con proxy externo global dirigen automáticamente el tráfico a las instancias de backend más cercanas al usuario.
En esta página se explica cómo configurar un balanceador de carga de red con proxy externo global con un proxy TCP de destino y backends de grupos de instancias de máquina virtual. Antes de empezar, consulta la descripción general del balanceador de carga de red de proxy externo para obtener información detallada sobre cómo funcionan estos balanceadores de carga.
Descripción general de la configuración
En este ejemplo se muestra cómo configurar un balanceador de carga de red de proxy externo para un servicio que se encuentra en dos regiones: A y B.
En este ejemplo, el servicio es un conjunto de servidores Apache configurados para responder en el puerto 110
. Muchos navegadores no permiten el puerto 110
, por lo que la sección de pruebas usa curl
.
En este ejemplo, se configura lo siguiente:
- Cuatro instancias distribuidas entre dos regiones
- Grupos de instancias, que contienen las instancias
- Comprobación del estado para verificar el estado de la instancia
- Un servicio de backend que monitoriza las instancias y evita que superen el uso configurado
- El proxy TCP de destino
- Una dirección IPv4 estática externa y una regla de reenvío que envía el tráfico de los usuarios al proxy
- Una dirección IPv6 estática externa y una regla de reenvío que envía el tráfico de los usuarios al proxy
- Una regla de cortafuegos que permita que el tráfico del balanceador de carga y del comprobador de estado llegue a las instancias
Una vez configurado el balanceador de carga, prueba la configuración.
Permisos
Para seguir esta guía, debes poder crear instancias y modificar una red en un proyecto. Debes tener el rol de propietario o editor del proyecto, o bien debes tener todos los roles de gestión de identidades y accesos de Compute Engine siguientes:
Tarea | Rol obligatorio |
---|---|
Crear redes, subredes y componentes de balanceador de carga | Administrador de red |
Añadir y eliminar reglas de cortafuegos | Administrador de seguridad |
Crear instancias | Administrador de instancias de Compute |
Para obtener más información, consulta las siguientes guías:
Configurar la red y las subredes
Para crear la red y la subred de ejemplo, sigue estos pasos.
Consola
Para admitir el tráfico IPv4 e IPv6, sigue estos pasos:
En la Google Cloud consola, ve a la página Redes de VPC.
Haz clic en Crear red VPC.
Introduce un nombre para la red.
Opcional: Si quieres configurar intervalos de direcciones IPv6 internas en subredes de esta red, sigue estos pasos:
- En Intervalo IPv6 interno ULA de la red VPC, selecciona Habilitado.
En Asignar intervalo de IPv6 interno, selecciona Automáticamente o Manualmente.
Si selecciona Manualmente, introduzca un intervalo
/48
dentro del intervalofd20::/20
. Si el intervalo está en uso, se te pedirá que proporciones otro.
En Modo de creación de subred, elige Personalizado.
En la sección Nueva subred, configure los siguientes campos:
- En el campo Nombre, asigna un nombre a la subred.
- En el campo Región, selecciona una región.
- En Tipo de pila de IP, selecciona IPv4 e IPv6 (pila dual).
En el campo Intervalo de direcciones IP, introduce un intervalo de direcciones IP. Este es el intervalo IPv4 principal de la subred.
Aunque puedes configurar un intervalo de direcciones IPv4 para la subred, no puedes elegir el intervalo de direcciones IPv6 de la subred. Google proporciona un bloque CIDR IPv6 de tamaño fijo (
/64
).En Tipo de acceso IPv6, selecciona Externo.
Haz clic en Listo.
Para añadir una subred en otra región, haz clic en Añadir subred y repite los pasos anteriores.
Haz clic en Crear.
Para admitir solo el tráfico IPv4, sigue estos pasos:
En la Google Cloud consola, ve a la página Redes de VPC.
Haz clic en Crear red VPC.
En el campo Nombre, introduce un nombre para la red.
En Modo de creación de subred, elige Personalizado.
En la sección Nueva subred, configure lo siguiente:
- En el campo Nombre, asigna un nombre a la subred.
- En el campo Región, selecciona una región.
- En Tipo de pila de IP, selecciona IPv4 (pila única).
- En el campo Intervalo de direcciones IP, introduce el intervalo IPv4 principal de la subred.
Haz clic en Listo.
Para añadir una subred en otra región, haz clic en Añadir subred y repite los pasos anteriores.
Haz clic en Crear.
gcloud
Crea la red VPC en modo personalizado:
gcloud compute networks create NETWORK \ --subnet-mode=custom
Dentro de la red, crea una subred para los back-ends.
Para el tráfico IPv4 e IPv6, usa el siguiente comando para actualizar una subred:
gcloud compute networks subnets create SUBNET \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=EXTERNAL \ --network=NETWORK \ --range=IPV4_RANGE \ --region=REGION_A
gcloud compute networks subnets create SUBNET_B \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=EXTERNAL \ --network=NETWORK \ --range=IPV4_RANGE_B \ --region=REGION_B
Para solo tráfico IPv4, usa el siguiente comando:
gcloud compute networks subnets create SUBNET \ --network=NETWORK \ --stack-type=IPV4_ONLY \ --range=IPV4_RANGE \ --region=REGION_A
gcloud compute networks subnets create SUBNET_B \ --network=NETWORK \ --stack-type=IPV4_ONLY \ --range=IPV4_RANGE_B \ --region=REGION_B
Haz los cambios siguientes:
NETWORK
: nombre de la red de VPCIPV4_RANGE
: el intervalo IPv4 principal de la nueva subred, en notación CIDR. Por ejemplo,10.1.2.0/24
.SUBNET
: nombre de la subred
REGION_A
oREGION_B
: el nombre de la región.
Configurar backends de grupos de instancias
En esta sección se explica cómo crear grupos de instancias básicos, añadir instancias a ellos y, a continuación, añadir esas instancias a un servicio de backend con una comprobación de estado. Un sistema de producción normalmente usaría grupos de instancias gestionadas basados en plantillas de instancias, pero esta configuración es más rápida para las pruebas iniciales.
Configurar instancias
Para hacer pruebas, instala Apache en cuatro instancias, dos en cada uno de los dos grupos de instancias. Normalmente, los balanceadores de carga de red de proxy externos no se usan para el tráfico HTTP, pero el software Apache se suele usar para las pruebas.
En este ejemplo, las instancias se crean con la etiqueta tcp-lb
. Esta etiqueta la usa más adelante la regla de cortafuegos.
Consola
Crear instancias
En la consola de Google Cloud , ve a la página Instancias de VM.
Haz clic en Crear instancia.
Asigna el valor
vm-a1
a Nombre.Define Región como
REGION_A
.En Zona, elija
ZONE_A
.Haz clic en Advanced options (Opciones avanzadas).
Haga clic en Redes y configure el siguiente campo:
- En Etiquetas de red, introduce
tcp-lb
,allow-health-check-ipv6
.
Para admitir el tráfico IPv4 e IPv6, sigue estos pasos:
- En la sección Interfaces de red, haz clic en
- Red:
NETWORK
- Subred:
SUBNET
- Tipo de pila de IP: IPv4 e IPv6 (pila dual)
Editar y haz los
cambios siguientes:
- Red:
- Haz clic en Hecho.
- En Etiquetas de red, introduce
Haz clic en Gestión. Introduce la siguiente secuencia de comandos en el campo Secuencia de comandos de inicio.
sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a1</h1></body></html>' | sudo tee /var/www/html/index.html
Haz clic en Crear.
Crea un
vm-a2
con los mismos ajustes, pero con la siguiente secuencia de comandos en el campo Secuencia de comandos de inicio:sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a2</h1></body></html>' | sudo tee /var/www/html/index.html
Crea
vm-b1
con los mismos ajustes, excepto que Región debe serREGION_B
y Zona,ZONE_B
. Introduce la siguiente secuencia de comandos en el campo Secuencia de comandos de inicio:sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b1</h1></body></html>' | sudo tee /var/www/html/index.html
Crea
vm-b2
con los mismos ajustes, excepto que Región debe serREGION_B
y Zona,ZONE_B
. Introduce la siguiente secuencia de comandos en el campo Secuencia de comandos de inicio:sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b2</h1></body></html>' | sudo tee /var/www/html/index.html
gcloud
Crear
vm-a1
en la zonaZONE_A
gcloud compute instances create vm-a1 \ --image-family debian-12 \ --image-project debian-cloud \ --tags tcp-lb \ --zone ZONE_A \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a1</h1></body></html>' | tee /var/www/html/index.html EOF"
Crear
vm-a2
en la zonaZONE_A
gcloud compute instances create vm-a2 \ --image-family debian-12 \ --image-project debian-cloud \ --tags tcp-lb \ --zone ZONE_A \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a2</h1></body></html>' | tee /var/www/html/index.html EOF"
Crear
vm-b1
en la zonaZONE_B
gcloud compute instances create vm-b1 \ --image-family debian-12 \ --image-project debian-cloud \ --tags tcp-lb \ --zone ZONE_B \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b1</h1></body></html>' | tee /var/www/html/index.html EOF"
Crear
vm-b2
en la zonaZONE_B
gcloud compute instances create vm-b2 \ --image-family debian-12 \ --image-project debian-cloud \ --tags tcp-lb \ --zone ZONE_B \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b2</h1></body></html>' | tee /var/www/html/index.html EOF"
Crear grupos de instancias
En esta sección, creará un grupo de instancias en cada zona y añadirá las instancias.
Consola
En la consola, ve a la página Grupos de instancias. Google Cloud
Haz clic en Crear grupo de instancias.
Haga clic en Nuevo grupo de instancias sin gestionar.
Asigna el valor
instance-group-a
a Nombre.En Zona, elija
ZONE_A
.En Asignación de puertos, haz clic en Añadir puerto. Un balanceador de carga envía tráfico a un grupo de instancias mediante un puerto con nombre. Crea un puerto con nombre para mapear el tráfico entrante a un número de puerto específico.
- Asigna el valor
tcp110
a Nombre del puerto. - Define Port numbers (Transferir números) en
110
.
- Asigna el valor
En Instancias de VM, selecciona
vm-a1
yvm-a2
.Deja los demás ajustes como están.
Haz clic en Crear.
Repite los pasos, pero define los siguientes valores:
- Nombre:
instance-group-b
- Región:
REGION_B
- Zona:
ZONE_B
- Nombre del puerto:
tcp110
- Números de puerto:
110
- Instancias: vm-b1 y vm-b2.
- Nombre:
gcloud
Crea el grupo de instancias
instance-group-a
.gcloud compute instance-groups unmanaged create instance-group-a \ --zone ZONE_A
Crea un puerto con nombre para el grupo de instancias.
gcloud compute instance-groups set-named-ports instance-group-a \ --named-ports tcp110:110 \ --zone ZONE_A
Añade
vm-a1
yvm-a2
ainstance-group-a
.gcloud compute instance-groups unmanaged add-instances instance-group-a \ --instances vm-a1,vm-a2 \ --zone ZONE_A
Crea el grupo de instancias
us-ig2
.gcloud compute instance-groups unmanaged create instance-group-b \ --zone ZONE_B
Crea un puerto con nombre para el grupo de instancias.
gcloud compute instance-groups set-named-ports instance-group-b \ --named-ports tcp110:110 \ --zone ZONE_B
Añade
vm-b1
yvm-b2
a instance-group-bgcloud compute instance-groups unmanaged add-instances instance-group-b \ --instances vm-b1,vm-b2 \ --zone ZONE_B
Ahora tienes un grupo de instancias por región. Cada grupo de instancias tiene dos instancias de VM.
Crear una regla de cortafuegos para el balanceador de carga de red de proxy externo
Configura el cortafuegos para permitir el tráfico del balanceador de carga y del comprobador de estado a las instancias. En este caso, abriremos el puerto TCP 110. La comprobación de estado usará el mismo puerto. Dado que el tráfico entre el balanceador de carga y tus instancias usa IPv4, solo es necesario abrir los intervalos de IPv4.
Consola
En la Google Cloud consola, ve a la página Políticas de cortafuegos.
Haz clic en Crear regla de cortafuegos.
En el campo Name (Nombre), introduce
allow-tcp-lb-and-health
.Selecciona una red.
En Objetivos, seleccione Etiquetas de destino especificadas.
Defina Etiquetas de destino en
tcp-lb
.En Filtro de origen, elija Intervalos de IPv4.
Define Intervalos de IPv4 de origen como
130.211.0.0/22
,35.191.0.0/16
.En Protocolos y puertos, selecciona Protocolos y puertos especificados en
tcp:110
.Haz clic en Crear.
gcloud
gcloud compute firewall-rules create allow-tcp-lb-and-health \ --source-ranges 130.211.0.0/22,35.191.0.0/16 \ --target-tags tcp-lb \ --allow tcp:110
Crear una regla de cortafuegos de comprobación del estado de IPv6
Asegúrate de que tienes una regla de entrada aplicable a las instancias que se van a balancear y que permite el tráfico de los Google Cloudsistemas de comprobación del estado (2600:2d00:1:b029::/64
). En este ejemplo se usa la etiqueta de destino allow-health-check-ipv6
para identificar las instancias de VM a las que se aplica.
Sin esta regla de cortafuegos, la regla denegar de forma predeterminada entrada bloquea el tráfico IPv6 entrante a las instancias de backend.
Consola
En la Google Cloud consola, ve a la página Políticas de cortafuegos.
Para permitir el tráfico de subred IPv6, haz clic de nuevo en Crear regla de cortafuegos e introduce la siguiente información:
- Nombre:
fw-allow-lb-access-ipv6
- Selecciona la red.
- Prioridad:
1000
- Sentido del tráfico: entrada
- Objetivos: Etiquetas de destino especificadas
- Etiquetas de destino:
allow-health-check-ipv6
- Filtro de origen: Intervalos de IPv6
- Intervalos de IPv6 de origen:
2600:2d00:1:b029::/64
,2600:2d00:1:1::/64
- Protocolos y puertos: Permitir todo
- Nombre:
Haz clic en Crear.
gcloud
Crea la regla de cortafuegos fw-allow-lb-access-ipv6
para permitir la comunicación con la subred:
gcloud compute firewall-rules create fw-allow-lb-access-ipv6 \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \ --rules=all
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.
- En Implementación global o en una sola región, selecciona La mejor opción para cargas de trabajo globales y haz clic en Siguiente.
- En Generación del balanceador de carga, selecciona Balanceador de carga de red con proxy externo global y haz clic en Siguiente.
- Haz clic en Configurar.
Configuración básica
Asigna el valor my-tcp-lb
a Nombre.
Configuración de backend
- Haz clic en Configuración de backend.
- En Tipo de backend, selecciona Grupos de instancias.
- En Protocolo, selecciona TCP.
- En la lista Política de selección de direcciones IP, selecciona Preferir IPv6.
- Configura el primer backend:
- En Nuevo backend, selecciona el grupo de instancias
instance-group-a
. - Mantén los valores predeterminados restantes.
- En Nuevo backend, selecciona el grupo de instancias
- Configura el segundo backend:
- En Tipo de pila de IP, selecciona
IPv4 and IPv6 (dual-stack)
. - Haz clic en Añadir backend.
- Selecciona el grupo de instancias
instance-group-b
. - En Números de puerto, elimina
80
y añade110
.
Para admitir el tráfico IPv4 e IPv6, haz lo siguiente:
- En Tipo de pila de IP, selecciona
- Configura la comprobación del estado:
- En Comprobación del estado, selecciona Crear comprobación del estado.
- Asigna el valor
my-tcp-health-check
al Nombre de la comprobación del estado. - En Protocolo, selecciona TCP.
- Define Puerto como
110
. - Mantén los valores predeterminados restantes.
- Haz clic en Guardar y continuar.
- 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.
Configuración del frontend
- Haz clic en Configuración de frontend.
- Añade la primera regla de reenvío:
- Asigne un Nombre de
my-tcp-lb-forwarding-rule
. - En Protocolo, selecciona TCP.
- En Dirección IP, selecciona Crear dirección IP:
- Asigne un Nombre de
tcp-lb-static-ip
. - Haz clic en Reservar.
- Asigne un Nombre de
- Define Puerto como
110
. - En este ejemplo, no habilites Proxy Protocol porque no funciona con el software del servidor HTTP de Apache. Para obtener más información, consulta Protocolo de proxy.
- Haz clic en Listo.
- Asigne un Nombre de
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.
- Revisa los ajustes de configuración de tu balanceador de carga.
- Opcional: Haz clic en Código equivalente para ver la solicitud de la API REST que se usará para crear el balanceador de carga.
- Haz clic en Crear.
gcloud
- Crea una comprobación del estado.
gcloud compute health-checks create tcp my-tcp-health-check --port 110
- Crea un servicio de backend.
gcloud beta compute backend-services create my-tcp-lb \ --load-balancing-scheme EXTERNAL_MANAGED \ --global-health-checks \ --global \ --protocol TCP \ --ip-address-selection-policy=PREFER_IPV6 \ --health-checks my-tcp-health-check \ --timeout 5m \ --port-name tcp110
También puedes configurar la comunicación cifrada del balanceador de carga a las instancias con
--protocol SSL
. Añade grupos de instancias a tu servicio de backend.
gcloud beta compute backend-services add-backend my-tcp-lb \ --global \ --instance-group instance-group-a \ --instance-group-zone ZONE_A \ --balancing-mode UTILIZATION \ --max-utilization 0.8
gcloud beta compute backend-services add-backend my-tcp-lb \ --global \ --instance-group instance-group-b \ --instance-group-zone ZONE_B \ --balancing-mode UTILIZATION \ --max-utilization 0.8
- Configura un proxy TCP de destino. Si quieres activar el encabezado de proxy, asigna el valor
PROXY_V1
en lugar deNONE
.gcloud beta compute target-tcp-proxies create my-tcp-lb-target-proxy \ --backend-service my-tcp-lb \ --proxy-header NONE
- Reserva direcciones IPv4 e IPv6 estáticas globales.
Tus clientes pueden usar estas direcciones IP para acceder a tu servicio con balanceo de carga.
gcloud compute addresses create tcp-lb-static-ipv4 \ --ip-version=IPV4 \ --global
gcloud compute addresses create tcp-lb-static-ipv6 \ --ip-version=IPV6 \ --global
- Configura reglas de reenvío globales para las dos direcciones.
gcloud beta compute forwarding-rules create my-tcp-lb-ipv4-forwarding-rule \ --load-balancing-scheme EXTERNAL_MANAGED \ --global \ --target-tcp-proxy my-tcp-lb-target-proxy \ --address tcp-lb-static-ipv4 \ --ports 110
Probar el 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 tcp-lb-static-ipv4
Para obtener la dirección IPv6, ejecuta el siguiente comando:
gcloud compute addresses describe tcp-lb-static-ipv6
Envía tráfico a tu balanceador de carga ejecutando el siguiente comando. Sustituye
LB_IP_ADDRESS
por la dirección IPv4 o IPv6 de tu balanceador de carga.curl -m1 LB_IP_ADDRESS:110
Por ejemplo, si la dirección IPv6 asignada es
[2001:db8:1:1:1:1:1:1/96]:110
, el comando debería tener este aspecto:curl -m1 http://[2001:db8:1:1:1:1:1:1]:110
Si no puedes acceder al balanceador de carga, prueba los pasos descritos en la sección Solucionar problemas de la configuración.
Opciones de configuración adicionales
En esta sección se amplía el ejemplo de configuración para ofrecer opciones de configuración alternativas y adicionales. Todas las tareas son opcionales. Puedes realizarlas en el orden que prefieras.
Protocolo PROXY para conservar la información de conexión del cliente
El balanceador de carga de red proxy finaliza las conexiones TCP del cliente y crea nuevas conexiones con las instancias. De forma predeterminada, la información de la IP y el puerto del cliente original no se conserva.
Para conservar y enviar la información de conexión original a tus instancias, habilita PROXY protocol version 1 (Protocolo PROXY versión 1). Este protocolo envía un encabezado adicional que contiene la dirección IP de origen, la dirección IP de destino y los números de puerto a la instancia como parte de la solicitud.
Asegúrate de que las instancias de backend del balanceador de carga de red proxy ejecuten servidores que admitan encabezados del protocolo PROXY. Si los servidores no están configurados para admitir encabezados del protocolo PROXY, las instancias de backend devuelven respuestas vacías.
Si configuras el protocolo PROXY para el tráfico de usuarios, también puedes hacerlo para tus comprobaciones del estado. Si compruebas el estado y sirves contenido en el mismo puerto, define el --proxy-header
de la comprobación del estado para que coincida con la configuración del balanceador de carga.
El encabezado del protocolo PROXY suele ser una sola línea de texto legible por el usuario con el siguiente formato:
PROXY TCP4 <client IP> <load balancing IP> <source port> <dest port>\r\n
En el siguiente ejemplo se muestra un protocolo PROXY:
PROXY TCP4 192.0.2.1 198.51.100.1 15221 110\r\n
En el ejemplo anterior, la IP del cliente es 192.0.2.1
, la IP de balanceo de carga es 198.51.100.1
, el puerto del cliente es 15221
y el puerto de destino es 110
.
Cuando no se conoce la IP del cliente, el balanceador de carga genera un encabezado de protocolo PROXY con el siguiente formato:
PROXY UNKNOWN\r\n
Actualizar el encabezado del protocolo PROXY del proxy de destino
La configuración de ejemplo del balanceador de carga de esta página muestra cómo habilitar el encabezado del protocolo PROXY al crear el balanceador de carga de red de proxy. Sigue estos pasos para cambiar el encabezado del protocolo PROXY de un proxy de destino.
Consola
En la Google Cloud consola, ve a la página Balanceo de carga.
- Haz clic en Editar en el balanceador de carga.
- Haz clic en Configuración de frontend.
- Cambia el valor del campo Protocolo de proxy a Activado.
- Haz clic en Update (Actualizar) para guardar los cambios.
gcloud
En el siguiente comando, edita el campo --proxy-header
y asigna el valor NONE
o PROXY_V1
, según tus necesidades.
gcloud compute target-tcp-proxies update TARGET_PROXY_NAME \ --proxy-header=[NONE | PROXY_V1]
Configurar la afinidad de sesión
La configuración de ejemplo crea un servicio de backend sin afinidad de sesión.
En estos procedimientos se muestra cómo actualizar un servicio de backend del balanceador de carga de ejemplo para que utilice la afinidad de IP de cliente o la afinidad de cookies generada.
Cuando la afinidad de IP de cliente está habilitada, el balanceador de carga dirige las solicitudes de un cliente concreto a la misma VM de backend en función de un hash creado a partir de la dirección IP del cliente y la dirección IP del balanceador de carga (la dirección IP externa de una regla de reenvío externa).
Consola
Para habilitar la afinidad de sesión de IP de cliente, sigue estos pasos:
En la Google Cloud consola, ve a la página Balanceo de carga.
Haz clic en Back-ends.
Haga clic en my-tcp-lb (el nombre del servicio de backend que ha creado para este ejemplo) y, a continuación, en Editar.
En la página Detalles del servicio backend, haz clic en Configuración avanzada.
En Afinidad de sesión, seleccione IP de cliente en el menú.
Haz clic en Actualizar.
gcloud
Usa el siguiente comando de la CLI de Google Cloud para actualizar el my-tcp-lb
backend
service y especificar la afinidad de sesión de la IP del cliente:
gcloud compute backend-services update my-tcp-lb \ --global \ --session-affinity=CLIENT_IP
API
Para definir la afinidad de sesión por IP de cliente, envía una solicitud PATCH
al método backendServices/patch
.
PATCH https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/us-west1/backendServices/my-tcp-lb
{
"sessionAffinity": "CLIENT_IP"
}
Habilitar la purga de conexión
Puedes habilitar el drenaje de conexiones en los servicios de backend para minimizar las interrupciones para los usuarios cuando se termina, se elimina manualmente o se elimina mediante un escalador automático una instancia que está sirviendo tráfico. Para obtener más información sobre la purga de conexiones, consulta la documentación sobre cómo habilitar la purga de conexiones.
Siguientes pasos
- Convertir un balanceador de carga de red de proxy a IPv6
- Descripción general del balanceador de carga de red de proxy externo
- Registro y monitorización de balanceadores de carga de red de proxy
- Convertir a back-ends de pila dual
- Limpiar una configuración de balanceo de carga