En esta guía, se proporcionan instrucciones para crear una implementación de balanceador de cargas de red de transferencia externo mediante un servicio de backend regional. En este ejemplo, se crea un balanceador de cargas de red de transferencia externo que admite tráfico de TCP o UDP. Si quieres crear un balanceador de cargas de red de transferencia externo que balancee las cargas de tráfico de TCP, UDP, ESP, GRE, ICMP e ICMPv6 (no solo TCP o UDP), consulta Configura un balanceador de cargas de red de transferencia externo para varios protocolos de IP.
En este ejemplo, usaremos el balanceador de cargas para distribuir el tráfico de TCP entre las VM de backend en dos grupos de instancias zonales administrados en la región us-central1
. Un enfoque con igual validez sería usar un solo grupo de instancias regional administrado en la región us-central1
.
Esta situación distribuye el tráfico de TCP en instancias en buen estado. A fin de admitir este ejemplo, las verificaciones de estado de TCP están configuradas para garantizar que el tráfico se envíe solo a instancias en buen estado. Ten en cuenta que las verificaciones de estado de TCP solo son compatibles con un balanceador de cargas basado en servicios de backend. Los balanceadores de cargas de destino basados en grupos solo pueden usar verificaciones de estado HTTP heredadas.
En este ejemplo, se balancean las cargas de tráfico de TCP, pero puedes usar balanceadores de cargas de red de transferencia externos basados en servicios de backend para balancear cargas del tráfico de TCP, UDP, ESP, GRE, ICMP e ICMPv6.
El balanceador de cargas de red de transferencia externo es un balanceador de cargas regional. Todos los componentes del balanceador de cargas (VM de backend, servicio de backend y regla de reenvío) deben estar en la misma región.
Antes de comenzar
Instala Google Cloud CLI. Para obtener una descripción general completa de la herramienta, consulta la descripción general de la CLI de gcloud. Encontrarás comandos relacionados con el balanceo de cargas en las referencias de la API y de gcloud.
Si nunca ejecutaste Google Cloud CLI, primero ejecuta gcloud init
para autenticarte.
En esta guía, suponemos que estás familiarizado con bash.
Configura la red y las subredes
En el ejemplo de esta página, se usa una red de VPC en modo personalizado con el nombre lb-network
. Puedes usar una red de VPC de modo automático si solo deseas controlar el tráfico IPv4.
Sin embargo, el tráfico IPv6 requiere una subred de modo personalizado.
El tráfico IPv6 también requiere una subred de doble pila (stack-type
configurada en IPv4_IPv6
). Cuando creas una subred de doble pila en una red de VPC de modo personalizado, eliges un tipo de acceso IPv6 para la subred. Para este ejemplo, establecemos el parámetro ipv6-access-type
de la subred en EXTERNAL
. Esto significa que a las VMs nuevas de esta subred se les pueden asignar direcciones IPv4 y IPv6 externas. Las reglas de reenvío también se pueden asignar direcciones IPv4 externas y direcciones IPv6 externas.
Los backends y los componentes del balanceador de cargas usados para este ejemplo se encuentran en la región y la subred que se indican a continuación:
- Región:
us-central1
- Subred:
lb-subnet
, con el rango de direcciones IPv4 principal10.1.2.0/24
. Aunque elijas qué rango de direcciones IPv4 se configurará en la subred, el rango de direcciones IPv6 se asigna automáticamente. Google proporciona un bloque CIDR IPv6 de tamaño fijo (/64).
Para crear la red y la subred de ejemplo, sigue estos pasos:
Console
Para admitir el tráfico IPv4 e IPv6, sigue estos pasos:
En la consola de Google Cloud, ve a la página Redes de VPC.
Haga clic en Crear red de VPC.
En Nombre ingresa
lb-network
.En la sección Subredes:
- Establece Modo de creación de subred en Personalizado.
- En la sección Subred nueva, configura los siguientes campos y haz clic en Listo:
- Nombre:
lb-subnet
- Región:
us-central1
- Tipo de pila IP: IPv4 e IPv6 (pila doble)
- Rango IPv4:
10.1.2.0/24
Aunque puedes configurar un rango de direcciones IPv4 para la subred, no puedes elegir el rango de direcciones IPv6 para lo siguiente: la subred. Google proporciona un bloque CIDR IPv6 de tamaño fijo (/64). - Tipo de acceso IPv6: externo
- Nombre:
Haz clic en Crear.
Para que solo sea compatible con el tráfico IPv4, sigue estos pasos:
En la consola de Google Cloud, ve a la página Redes de VPC.
Haga clic en Crear red de VPC.
En Nombre ingresa
lb-network
.En la sección Subredes:
- Establece Modo de creación de subred en Personalizado.
- En la sección Subred nueva, configura los siguientes campos y haz clic en Listo:
- Nombre:
lb-subnet
- Región:
us-central1
- Tipo de pila IP: IPv4 (pila única)
- Rango IPv4:
10.1.2.0/24
- Nombre:
Haz clic en Crear.
gcloud
Crea la red de VPC en modo personalizado:
gcloud compute networks create lb-network \ --subnet-mode=custom
Dentro de la red
lb-network
, crea una subred para backends en la regiónus-central1
.Para el tráfico IPv4 e IPv6, usa el siguiente comando a fin de crear una subred de pila doble:
gcloud compute networks subnets create lb-subnet \ --stack-type=IPV4_IPv6 \ --ipv6-access-type=EXTERNAL \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1
Para el tráfico IPv4, usa el siguiente comando:
gcloud compute networks subnets create lb-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1
Crea los grupos de instancias administrados zonales
Para esta situación de balanceo de cargas, crearás dos grupos de instancias zonales administrados de Compute Engine y, luego, instalarás un servidor web Apache en cada instancia.
Para manejar el tráfico IPv4 e IPv6, configura las VM de backend a fin de que sean de pila doble. Establece stack-type
de la VM en IPv4_IPv6
. Las VM también heredan la configuración ipv6-access-type
(en este ejemplo, EXTERNAL
) de la subred. Para obtener más detalles sobre los requisitos de IPv6, consulta la descripción general del balanceador de cargas de red de transferencia externo: reglas de reenvío.
Para usar las VMs existentes como backends, actualiza las VM para que sean de pila doble mediante el comando gcloud compute instances network-interfaces
update
.
Las instancias que participan como VMs de backend para los balanceadores de cargas de red de transferencia externos deben ejecutar el entorno invitado de Linux o el entorno invitado de Windows adecuados, o algún otro proceso que proporcione una función equivalente.
Configura las instancias
Console
Crear una plantilla de instancias En la consola de Google Cloud, ve a la página Plantillas de instancia.
- Haz clic en Crear plantilla de instancias.
- En Nombre, ingresa
ig-us-template
. - En la sección Disco de arranque, asegúrate de que la imagen esté configurado en una imagen de Debian, como Debian GNU/Linux 12 (bookworm). En estas instrucciones, se usan comandos que solo están disponibles en Debian, como
apt-get
. - Haz clic en Opciones avanzadas.
- Haz clic en Herramientas de redes.
- En Etiquetas de red, ingresa
lb-tag
. - En Interfaces de red, haz clic en la interfaz predeterminada y configura los siguientes campos:
- Red:
lb-network
- Subred:
lb-subnet
- Red:
- Haz clic en Listo.
- En Etiquetas de red, ingresa
Haz clic en Administración y copia la siguiente secuencia de comandos en el campo Secuencia de comandos de inicio.
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2
Haz clic en Crear.
Crea un grupo de instancias administrado. En la consola de Google Cloud, ve a la página Grupos de instancias.
- Haz clic en Crear grupo de instancias.
- Selecciona Nuevo grupo de instancias administrado (sin estado). Para obtener más información, consulta MIG sin estado o con estado.
- En Nombre, ingresa
ig-us-1
. - En Plantilla de instancias, selecciona
ig-us-template
. - En Ubicación, selecciona Zona única.
- En Región, selecciona
us-central1
. - En Zona, selecciona
us-central1-a
. Especifica la cantidad de instancias que quieres crear en el grupo.
En este ejemplo, especifica las siguientes opciones en la sección Ajuste de escala automático:
- En Modo de ajuste de escala automático, selecciona
Off:do not autoscale
. - En Cantidad máxima de instancias, ingresa
2
.
- En Modo de ajuste de escala automático, selecciona
Haz clic en Crear.
Repite los pasos anteriores para crear un segundo grupo de instancias administrado en la zona
us-central1-c
con las siguientes especificaciones:- Nombre:
ig-us-2
- Zona:
us-central1-c
- Plantilla de instancias: Usa la misma plantilla
ig-us-template
creada en la sección anterior.
- Nombre:
gcloud
En las instrucciones de gcloud
que se incluyen en esta guía, se supone que usas Cloud Shell o algún otro entorno con bash instalado.
Crea una plantilla de instancias de VM con el servidor de HTTP con el comando
gcloud compute instance-templates create
.Para controlar el tráfico IPv4 e IPv6, usa el siguiente comando.
gcloud compute instance-templates create ig-us-template \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPv4_IPv6 \ --tags=lb-tag \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Para controlar el tráfico solo IPv4, usa el siguiente comando.
gcloud compute instance-templates create ig-us-template \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --tags=lb-tag \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Crea un grupo de instancias administrado en la zona con el comando
gcloud compute instance-groups managed create
.gcloud compute instance-groups managed create ig-us-1 \ --zone us-central1-a \ --size 2 \ --template ig-us-template
Crea un segundo grupo de instancias administrado en la zona
us-central1-c
:gcloud compute instance-groups managed create ig-us-2 \ --zone us-central1-c \ --size 2 \ --template ig-us-template
Configura las reglas de firewall
Crea reglas de firewall que permitan que el tráfico externo (que incluye sondeos de verificación de estado) llegue a las instancias de backend.
En este ejemplo, se crea una regla de firewall que permite que el tráfico TCP de todos los rangos de origen llegue a tus instancias de backend en el puerto 80. Si deseas crear reglas de firewall independientes específicamente para los sondeos de verificación de estado, usa los rangos de direcciones IP de origen documentados en Descripción general de las verificaciones de estado: rangos de IP de sondeo y reglas de firewall.
Console
En la consola de Google Cloud, ve a la página Políticas de firewall.
Para permitir el tráfico IPv4, sigue estos pasos:
- Haz clic en Crear regla de firewall.
- En Nombre, ingresa
allow-network-lb-ipv4
. - En la lista Red, selecciona
lb-network
. - En Destinos, selecciona Etiquetas de destino especificadas.
- En el campo Etiquetas de destino, ingresa
lb-tag
. - En Filtro de fuente, selecciona Rangos de IPv4.
- Establece los Rangos IPv4 de origen en
0.0.0.0/0
. Esto permite el tráfico IPv4 desde cualquier fuente. Así como permite que los sondeos de verificación de estado de Google lleguen a las instancias de backend. - En Protocolos y puertos especificados, selecciona la casilla de verificación TCP e ingresa
80
. - Haz clic en Crear. Pueden pasar unos minutos hasta que la consola de Google Cloud muestre la regla de firewall nueva, o es posible que debas hacer clic en Actualizar a fin de ver la regla.
Para permitir el tráfico IPv6, sigue estos pasos:
- Vuelve a hacer clic en Crear regla de firewall.
- En Nombre, ingresa
allow-network-lb-ipv6
. - En la lista Red, selecciona
lb-network
. - En Destinos, selecciona Etiquetas de destino especificadas.
- En el campo Etiquetas de destino, ingresa
lb-tag
. - En Filtro de fuente, selecciona Rangos de IPv6.
- Establece los Rangos de IPv6 de origen en
::/0
. Esto permite el tráfico IPv6 de cualquier fuente. Así como permite que los sondeos de verificación de estado de Google lleguen a las instancias de backend. - En Protocolos y puertos especificados, selecciona la casilla de verificación TCP e ingresa
80
. - Haz clic en Crear. Pueden pasar unos minutos hasta que Console muestre la regla de firewall nueva, o es posible que debas hacer clic en Actualizar a fin de ver la regla.
gcloud
Para permitir el tráfico IPv4, ejecuta el siguiente comando:
gcloud compute firewall-rules create allow-network-lb-ipv4 \ --network=lb-network \ --target-tags=lb-tag \ --allow=tcp:80 \ --source-ranges=0.0.0.0/0
Para permitir el tráfico IPv6, ejecuta el siguiente comando:
gcloud compute firewall-rules create allow-network-lb-ipv6 \ --network=lb-network \ --target-tags=lb-tag \ --allow=tcp:80 \ --source-ranges=::/0
Configura el balanceador de cargas
A continuación, configura el balanceador de cargas.
Cuando configuras el balanceador de cargas, tus instancias de máquina virtual (VM) recibirán paquetes destinados a la dirección IP externa estática que configures. Si usas una imagen proporcionada por Compute Engine, tus instancias se configurarán de forma automática para controlar esta dirección IP. Si usas cualquier otra imagen, debes configurar esta dirección como un alias en eth0
o como un bucle invertido en cada instancia.
Para configurar el balanceador de cargas, sigue las siguientes instrucciones.
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 de transferencia, selecciona Balanceador de cargas de transferencia y haz clic en Siguiente.
- En Orientado al público o interno, selecciona Orientado al público (externo) y haz clic en Siguiente.
- Haz clic en Configurar.
Configuración de backend
- En la página Crear balanceador de cargas de red de transferencia externo, ingresa el nombre
tcp-network-lb
para el balanceador de cargas nuevo. - En Región, selecciona
us-central1
. - Haz clic en Configuración de backend.
- En la pantalla Configuración de backend, realiza los siguientes cambios:
- En Backend nuevo, selecciona el Tipo de pila de IP. Si creaste backends de pila doble para controlar el tráfico IPv4 e IPv6, selecciona IPv4 e IPv6 (pila doble). Para controlar solo el tráfico IPv4, selecciona IPv4 (una sola pila).
- En la lista Grupo de instancias, selecciona
ig-us-1
y, luego, haz clic en Listo. - Haz clic en Agregar backend y repite este paso para agregar
ig-us-2
. - En la Verificación de estado, elige Crea una verificación de estado o Crea otra verificación de estado y, luego, ingresa la siguiente información:
- Nombre:
tcp-health-check
- Protocolo:
TCP
- Puerto:
80
- Nombre:
- Haz clic en Guardar.
- Verifica que haya una marca de verificación azul junto a Configuración de backend antes de continuar.
Configuración de frontend
- Haga clic en Configuración de frontend.
- En Nombre, ingresa
network-lb-forwarding-rule
. - Para controlar el tráfico IPv4, sigue estos pasos:
- Para Versión de la IP, elige IPv4.
- En la sección Propósito de la IP interna, en la lista Direcciones IP, selecciona Crear dirección IP.
- En la página Reservar una dirección IP estática nueva, en Nombre, ingresa
network-lb-ipv4
. - Haz clic en Reservar.
- En la página Reservar una dirección IP estática nueva, en Nombre, ingresa
- En Puertos, elige Individual. En Número de puerto, ingresa
80
. - Haz clic en Listo.
Para controlar el tráfico IPv6, sigue estos pasos:
- En Versión de la IP, selecciona IPv6.
- En Subred, selecciona lb-subnet.
- En la lista Rango de IPv6, selecciona Crear dirección IP.
- En la página Reservar una dirección IP estática nueva, en Nombre, ingresa
network-lb-ipv6
. - Haz clic en Reservar.
- En la página Reservar una dirección IP estática nueva, en Nombre, ingresa
- En Puertos, selecciona Individual. En Número de puerto, ingresa
80
. - Haz clic en Listo.
El círculo azul con una marca de verificación a la izquierda de la Configuración de Frontend indica que la configuración se realizó de forma correcta.
Revisa la configuración
- Haz clic en Revisar y finalizar.
- Revisa la configuración del balanceador de cargas.
- Opcional: Haz clic en Código equivalente a fin de ver la solicitud a la API de REST que se usará para crear el balanceador de cargas.
Haz clic en Crear.
En la página de balanceo de cargas, en la columna Backend de tu balanceador de cargas nuevo, deberías ver una marca de verificación verde que muestra que el balanceador de cargas nuevo está en buen estado.
gcloud
Reserva una dirección IP externa estática.
(Solo para tráfico IPv4) Crea una dirección IPv4 externa estática para tu balanceador de cargas.
gcloud compute addresses create network-lb-ipv4 \ --region us-central1
Para el tráfico IPv6: Crea un rango de direcciones IPv6 externas estáticas para tu balanceador de cargas. La subred usada debe ser una subred de pila doble con un rango de IPv6 externo.
gcloud compute addresses create network-lb-ipv6 \ --region us-central1 \ --subnet lb-subnet \ --ip-version IPV6 \ --endpoint-type NETLB
Crea una verificación de estado de TCP.
gcloud compute health-checks create tcp tcp-health-check \ --region us-central1 \ --port 80
Crear un servicio de backend.
gcloud compute backend-services create network-lb-backend-service \ --protocol TCP \ --health-checks tcp-health-check \ --health-checks-region us-central1 \ --region us-central1
Agrega los dos grupos de instancias al servicio de backend.
gcloud compute backend-services add-backend network-lb-backend-service \ --instance-group ig-us-1 \ --instance-group-zone us-central1-a \ --region us-central1
gcloud compute backend-services add-backend network-lb-backend-service \ --instance-group ig-us-2 \ --instance-group-zone us-central1-c \ --region us-central1
Crea las reglas de reenvío según si deseas manejar el tráfico IPv4 o IPv6. Crea ambas reglas de reenvío para manejar ambos tipos de tráfico.
Para el tráfico IPv4: crea una regla de reenvío a fin de enrutar el tráfico de TCP entrante al servicio de backend. Usa la dirección IPv4 reservada en el paso 1 como la dirección IP externa estática del balanceador de cargas.
gcloud compute forwarding-rules create network-lb-forwarding-rule-ipv4 \ --load-balancing-scheme EXTERNAL \ --region us-central1 \ --ports 80 \ --address network-lb-ipv4 \ --backend-service network-lb-backend-service
Para el tráfico IPv6: crea una regla de reenvío a fin de controlar el tráfico IPv6. Usa el rango de direcciones IPv6 reservado en el paso 1 como la dirección IP externa estática del balanceador de cargas. La subred usada debe ser una subred de pila doble con un rango de subred IPv6 externo.
gcloud compute forwarding-rules create network-lb-forwarding-rule-ipv6 \ --load-balancing-scheme EXTERNAL \ --region us-central1 \ --network-tier PREMIUM \ --ip-version IPV6 \ --subnet lb-subnet \ --address network-lb-ipv6 \ --ports 80 \ --backend-service network-lb-backend-service
Prueba el balanceador de cargas
Ahora que el servicio de balanceo de cargas está configurado, puedes comenzar a enviar tráfico a la dirección IP externa del balanceador de cargas y ver cómo se distribuye el tráfico a las instancias de backend.
Busca la dirección IP externa del balanceador de cargas
Console
En la página Componentes del balanceo de cargas, ve a la pestaña Reglas de reenvío.
Ubica la regla de reenvío que usa el balanceador de cargas.
En la columna Dirección IP externa de , anota la dirección IP externa que aparece en la lista.
gcloud: IPv4
Ingresa el siguiente comando para ver la dirección IPv4 externa de la regla de reenvío network-lb-forwarding-rule
que usa el balanceador de cargas.
gcloud compute forwarding-rules describe network-lb-forwarding-rule-ipv4 \ --region us-central1
gcloud: IPv6
Ingresa el siguiente comando para ver la dirección IP IPv6 externa de la regla de reenvío network-lb-forwarding-rule
que usa el balanceador de cargas.
gcloud compute forwarding-rules describe network-lb-forwarding-rule-ipv6 \ --region us-central1
Envía tráfico al balanceador de cargas
Realiza solicitudes web al balanceador de cargas mediante curl
para contactar a su dirección IP.
Desde los clientes con conectividad IPv4, ejecuta el siguiente comando:
$ while true; do curl -m1 IPV4_ADDRESS; done
Desde los clientes con conectividad IPv6, ejecuta el siguiente comando:
$ while true; do curl -m1 http://IPV6_ADDRESS; done
Por ejemplo, si la dirección IPv6 asignada es
[2001:db8:1:1:1:1:1:1/96]:80
, el comando debe verse de la siguiente manera:$ while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:80; done
Ten en cuenta el texto que muestra el comando curl
. El nombre de la VM de backend que genera la respuesta se muestra en ese texto; por ejemplo: Page served
from: VM_NAME
.
La respuesta del comando curl
se alterna de manera aleatoria entre las tres instancias. Si al principio tu respuesta es incorrecta, es posible que debas esperar alrededor de 30 segundos para que la configuración se cargue por completo y tus instancias se marquen como en buen estado antes de intentar otra vez.
Opciones de configuración adicionales
En esta sección, se expande el ejemplo de configuración para proporcionar instrucciones sobre cómo personalizar aún más el balanceador de cargas de red de transferencia externo. Estas tareas son opcionales. Puedes realizarlas en cualquier orden.
Configura la afinidad de sesión
La configuración de ejemplo crea un servicio de backend con afinidad de sesión inhabilitada (valor establecido en NONE
). En esta sección, se muestra cómo actualizar el servicio de backend para cambiar la configuración de afinidad de sesión del balanceador de cargas.
Para conocer los tipos de afinidad de sesión compatibles, consulta Opciones de afinidad de sesión.
Console
En la consola de Google Cloud, ve a la página Balanceo de cargas.
En la pestaña Balanceadores de cargas, haz clic en el nombre del servicio de backend y, luego, en Editar.
En la página Editar balanceador de cargas de red de transferencia externo, haz clic en Configuración de backend.
Selecciona una opción de la lista Afinidad de sesión.
Haz clic en Actualizar.
gcloud
Usa el siguiente comando de gcloud
a fin de actualizar la afinidad de sesión para el servicio de backend:
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --session-affinity=SESSION_AFFINITY_OPTION
Reemplaza los marcadores de posición por valores válidos:
BACKEND_SERVICE
: El servicio de backend que estás actualizando.SESSION_AFFINITY_OPTION
: Es la opción de afinidad de sesión que deseas establecer.A fin de obtener una lista de los valores admitidos para un balanceador de cargas de red de transferencia externo, consulta Opciones de afinidad de sesión.
Configura una política de seguimiento de conexiones
En la configuración de ejemplo, se crea un servicio de backend con la configuración predeterminada para la política de seguimiento de conexiones. En esta sección, se muestra cómo actualizar el servicio de backend para cambiar la política predeterminada de seguimiento de conexiones del balanceador de cargas.
Una política de seguimiento de conexión incluye la siguiente configuración:
- Modo de seguimiento
- Persistencia de la conexión en backends en mal estado
- Tiempo de espera de inactividad (60 segundos, no configurable)
gcloud
Usa el siguiente comando gcloud compute
backend-services
para actualizar la política de seguimiento de conexiones del servicio de backend:
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --tracking-mode=TRACKING_MODE \ --connection-persistence-on-unhealthy-backends=CONNECTION_PERSISTENCE_BEHAVIOR
Reemplaza los marcadores de posición por valores válidos:
BACKEND_SERVICE
: El servicio de backend que estás actualizando.TRACKING_MODE
: Es el modo de seguimiento de la conexión que se usará para los paquetes entrantes. Para obtener la lista de valores admitidos, consulta Modo de seguimiento.CONNECTION_PERSISTENCE_BEHAVIOR
: Es el comportamiento de persistencia de la conexión cuando los backends están en mal estado. Para obtener la lista de valores compatibles, consulta Persistencia de conexión en backends en mal estado.
Configura el direccionamiento del tráfico
En esta sección, se muestra cómo actualizar la configuración de frontend de un balanceador de cargas para configurar el direccionamiento del tráfico basado en la IP de origen. Para obtener detalles sobre cómo funciona el direccionamiento del tráfico, consulta Direccionamiento del tráfico.
En estas instrucciones, se supone que ya creaste una regla de reenvío base superior. En este ejemplo, se crea una segunda regla de reenvío, que es la regla de reenvío, con la misma dirección IP, el mismo protocolo IP y los mismos puertos que el superior. Esta regla de reenvío de dirección se configura con rangos de IP de origen para que puedas personalizar la forma en que se reenvían los paquetes de esos rangos de IP de origen.
gcloud
Usa el siguiente comando para crear una regla de reenvío de dirección que apunte a un servicio de backend:
gcloud compute forwarding-rules create STEERING_FORWARDING_RULE_BS \ --load-balancing-scheme=EXTERNAL \ --backend-service=BACKEND_SERVICE \ --address=LOAD_BALANCER_VIP \ --ip-protocol=IP_PROTOCOL \ --ports=PORTS \ --region=REGION \ --source-ip-ranges=SOURCE_IP_ADDRESS_RANGES
Usa el siguiente comando para crear una regla de reenvío de dirección que apunte a una instancia de destino:
gcloud compute forwarding-rules create STEERING_FORWARDING_RULE_TI \ --load-balancing-scheme=EXTERNAL \ --target-instance=TARGET_INSTANCE \ --address=LOAD_BALANCER_VIP \ --ip-protocol=IP_PROTOCOL \ --ports=PORTS \ --region=REGION \ --source-ip-ranges=SOURCE_IP_ADDRESS_RANGES
Reemplaza los marcadores de posición por valores válidos:
FORWARDING_RULE
: Es el nombre de la regla de reenvío de dirección que creas.BACKEND_SERVICE
oTARGET_INSTANCE
: Es el nombre del servicio de backend o de la instancia de destino a la que esta regla de reenvío de dirección enviará tráfico. Incluso si la regla de reenvío superior apunta a un servicio de backend, puedes crear reglas de reenvío de dirección que apunten a instancias de destino.LOAD_BALANCER_VIP
,IP_PROTOCOL
,PORTS
: la dirección IP, el protocolo IP y los puertos, respectivamente, para la regla de reenvío de direccionamiento que creas. Esta configuración debe coincidir con una regla de reenvío base preexistente.REGION
: Es la región de la regla de reenvío que deseas crear.SOURCE_IP_ADDRESS_RANGES
: Es una lista separada por comas de las direcciones IP o los rangos de direcciones IP. Esta regla de reenvío solo reenviará el tráfico cuando la dirección IP de origen del paquete entrante se encuentre en uno de los rangos de IP establecidos aquí.
Usa el siguiente comando para borrar una regla de reenvío de dirección. Debes borrar cualquier regla de reenvío de dirección que use un balanceador de cargas antes de poder borrar el balanceador de cargas.
gcloud compute forwarding-rules delete STEERING_FORWARDING_RULE \ --region=REGION
Configura la política de conmutación por error
Si quieres configurar la política de conmutación por error, consulta Configura la conmutación por error para balanceadores de cargas de red de transferencia externos.
Configura el balanceo de cargas ponderado
Para configurar el balanceo de cargas ponderado, consulta Configura el balanceo de cargas ponderado.
Crea una regla de reenvío de IPv6 con BYOIP
El balanceador de cargas creado en los pasos anteriores se configuró con reglas de reenvío con IP version
como IPv4
o IPv6
. En esta sección, se proporcionan instrucciones para crear una regla de reenvío de IPv6 con tus propias direcciones IP (BYOIP).
Usar tus propias direcciones IP te permite aprovisionar y usar tus propias direcciones IPv6 públicas para los recursos de Google Cloud. Para obtener más información, consulta Usa tus propias direcciones IP.
Antes de comenzar a configurar una regla de reenvío de IPv6 con direcciones de BYOIP, debes completar los siguientes pasos:
- Crea un prefijo IPv6 anunciado público
- Crea prefijos públicos delegados
- Crea prefijos secundarios IPv6
- Anuncia el prefijo
Para crear una nueva regla de reenvío, sigue estos pasos:
Console
En la consola de Google Cloud, ve a la página Balanceo de cargas.
- Haz clic en el nombre del balanceador de cargas que deseas modificar.
- Haz clic en Editar.
- Haz clic en Configuración de frontend.
- Haz clic en Agregar IP y puerto de frontend.
- En la sección IP y puerto de frontend nuevos, especifica lo siguiente:
- El Protocolo es TCP.
- En el campo Versión de la IP, selecciona IPv6.
- En el campo Origen del rango de IPv6, selecciona BYOIP.
- En la lista Recopilación de IP, selecciona un prefijo secundario creado en los pasos anteriores con la opción de regla de reenvío habilitada.
- En el campo Rango de IPv6, ingresa el rango de direcciones IPv6. El rango de direcciones IPv6 debe cumplir con las Especificaciones de los subprefijos IPv6.
- En el campo Puertos, ingresa un número de puerto.
- Haz clic en Listo.
- Haz clic en Actualizar.
Google Cloud CLI
Crea la regla de reenvío con el comando gcloud compute forwarding-rules create
:
gcloud compute forwarding-rules create FWD_RULE_NAME \ --load-balancing-scheme EXTERNAL \ --ip-protocol PROTOCOL \ --ports ALL \ --ip-version IPV6 \ --region REGION_A \ --address IPV6_CIDR_RANGE \ --backend-service BACKEND_SERVICE \ --ip-collection PDP_NAME
Reemplaza lo siguiente:
FWD_RULE_NAME
: el nombre de la regla de reenvío.PROTOCOL
: el protocolo IP para la regla de reenvío. El valor predeterminado esTCP
. El protocolo IP puede serTCP
,UDP
oL3_DEFAULT
.REGION_A
: Es la región para la regla de reenvíoIPV6_CIDR_RANGE
: el rango de direcciones IPv6 que entrega la regla de reenvío. El rango de direcciones IPv6 debe cumplir con las Especificaciones de los subprefijos IPv6.BACKEND_SERVICE
: el nombre del servicio de backend.PDP_NAME
: Es el nombre del prefijo público delegado. El PDP debe ser un prefijo secundario en el modo EXTERNAL_IPV6_FORWARDING_RULE_CREATION
¿Qué sigue?
- Para obtener información sobre cómo migrar un balanceador de cargas de red de transferencia externo desde un backend de grupo de destino a un servicio de backend regional, consulta Migra balanceadores de cargas de red de transferencia externos de grupos de destino a servicios de backend.
- Si quieres configurar un balanceador de cargas de red de transferencia externo para varios protocolos IP (compatibles con el tráfico de IPv4 e IPv6), consulta Configura un balanceador de cargas de red de traspaso externo para varios protocolos de IP.
- Para configurar un balanceador de cargas de red de transferencia externo con backends de grupo de extremos de red (NEG) zonales que te permitan reenviar paquetes a interfaces de red que no sean
nic0
de instancias de VM, consulta Configura un balanceador de cargas de red de transferencia externo con backends de NEG zonales. - Si quieres configurar la protección avanzada contra DSD de red para un balanceador de cargas de red de transferencia externo mediante Google Cloud Armor, consulta Configura la protección avanzada contra DSD de red.
- Para borrar recursos, consulta Limpia la configuración del balanceador de cargas.