En esta guía se usa un ejemplo para mostrar cómo configurar la conmutación por error de un balanceador de carga de red de paso a través externo con un servicio de backend. Antes de seguir esta guía, familiarízate con lo siguiente:
- Descripción general del balanceador de carga de red de paso a través externo con un servicio de backend
- Conceptos de conmutación por error para balanceadores de carga de red de paso a través externos
- Resumen de las reglas de cortafuegos
- Conceptos de la comprobación del estado
Permisos
Para seguir esta guía, debes crear instancias y modificar una red en un proyecto. Debes tener el rol de propietario o editor del proyecto, o bien tener todos los roles de gestión de identidades y accesos de Compute Engine siguientes:
Tarea | Rol obligatorio |
---|---|
Crear 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:
Configuración
En esta guía se explica cómo configurar y probar un balanceador de carga de red de paso a través externo que usa la conmutación por error. En los pasos de esta sección se describe cómo configurar lo siguiente:
- VMs de backend:
- Un backend principal en un grupo de instancias sin gestionar de la zona
us-west1-a
- Un backend de conmutación por error en un grupo de instancias sin gestionar de la zona
us-west1-c
- Un backend principal en un grupo de instancias sin gestionar de la zona
- Reglas de cortafuegos que permiten las conexiones entrantes a las VMs de backend
- Una máquina virtual de cliente para probar las conexiones y observar el comportamiento de la conmutación por error
- Los siguientes componentes del balanceador de carga de red de paso a través externo:
- Una comprobación del estado del servicio de backend
- Un servicio de backend en la región
us-west1
para gestionar la distribución de conexiones entre las VMs de backend - Una regla de reenvío y una dirección IP para el frontend del balanceador de carga
La arquitectura de este ejemplo es la siguiente:
Crear VMs y grupos de instancias de backend
En este paso, crearás las VMs de backend y los grupos de instancias sin gestionar:
- El grupo de instancias
ig-a
deus-west1-a
es un backend principal con dos VMs:vm-a1
vm-a2
- El grupo de instancias
ig-c
deus-west1-c
es un backend de conmutación por error con dos VMs:vm-c1
vm-c2
Los back-ends principal y de conmutación por error se colocan en zonas independientes para que las instrucciones sean más claras y para gestionar la conmutación por error en caso de que una de las zonas deje de funcionar.
Cada VM principal y de copia de seguridad está configurada para ejecutar un servidor web Apache en el puerto 80 de TCP. De forma predeterminada, Apache está configurado para enlazarse a cualquier dirección IP. Los balanceadores de carga de red entregan paquetes conservando la IP de destino.
Asegúrate de que el software del servidor que se ejecuta en tus VMs primaria y de copia de seguridad esté escuchando en la dirección IP de la regla de reenvío del balanceador de carga. La dirección IP de destino de un paquete que un balanceador de carga de red pasarela externo entrega a una VM de backend es la dirección IP de la regla de reenvío.
Para simplificar las instrucciones, todas las máquinas virtuales principales y de copia de seguridad ejecutan Debian GNU/Linux 9.
Consola
Crear VMs de backend
- En la consola de Google Cloud , ve a la página Instancias de VM. Ir a instancias de VM
- Repite los pasos siguientes para crear cuatro VMs con las siguientes combinaciones de nombre y zona.
- Nombre:
vm-a1
, zona:us-west1-a
- Nombre:
vm-a2
, zona:us-west1-a
- Nombre:
vm-c1
, zona:us-west1-c
- Nombre:
vm-c2
, zona:us-west1-c
- Nombre:
- Haz clic en Crear instancia.
- Asigna el Nombre como se indica en el paso 2.
- En Región, elige
us-west1
y, en Zona, selecciona la opción que se indica en el paso 2. - En la sección Disco de arranque, comprueba que la imagen seleccionada sea Debian GNU/Linux 12 (bookworm). Haz clic en Elegir para cambiar la imagen si es necesario.
- Haz clic en Advanced options (Opciones avanzadas).
- Haz clic en Redes y configura el siguiente campo:
- En Etiquetas de red, introduzca
network-lb
.
- En Etiquetas de red, introduzca
Haz clic en Gestión. Introduce la siguiente secuencia de comandos en el campo Secuencia de comandos de inicio. El contenido de la secuencia de comandos es idéntico en las cuatro VMs:
#! /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.
Crear grupos de instancias
En la consola, ve a la página Grupos de instancias. Google Cloud
Repite los pasos siguientes para crear dos grupos de instancias no gestionados, cada uno con dos VMs, usando estas combinaciones.
- Grupo de instancias:
ig-a
, zona:us-west1-a
, VMs:vm-a1
yvm-a2
- Grupo de instancias:
ig-c
, zona:us-west1-c
, VMs:vm-c1
yvm-c2
- Grupo de instancias:
Haz clic en Crear grupo de instancias.
Haga clic en Nuevo grupo de instancias sin gestionar.
Asigna el Nombre como se indica en el paso 2.
En la sección Ubicación, elija
us-west1
en Región y, a continuación, seleccione una Zona como se indica en el paso 2.En Red, escribe
default
.En la sección Instancias de VM, añade las VMs como se indica en el paso 2.
Haz clic en Crear.
gcloud
Crea cuatro VMs ejecutando el siguiente comando cuatro veces y usando estas cuatro combinaciones para
VM-NAME
yZONE
. El contenido de la secuencia de comandos es idéntico en las cuatro VMs.VM-NAME
devm-a1
yZONE
deus-west1-a
VM-NAME
devm-a2
yZONE
deus-west1-a
VM-NAME
devm-c1
yZONE
deus-west1-c
VM-NAME
devm-c2
yZONE
deus-west1-c
gcloud compute instances create VM-NAME \ --zone=ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=network-lb \ --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 los dos grupos de instancias sin gestionar en cada zona:
gcloud compute instance-groups unmanaged create ig-a \ --zone us-west1-a gcloud compute instance-groups unmanaged create ig-c \ --zone us-west1-c
Añade las VMs a los grupos de instancias correspondientes:
gcloud compute instance-groups unmanaged add-instances ig-a \ --zone us-west1-a \ --instances vm-a1,vm-a2 gcloud compute instance-groups unmanaged add-instances ig-c \ --zone us-west1-c \ --instances vm-c1,vm-c2
Configurar reglas de cortafuegos
Crea una regla de cortafuegos que permita que el tráfico externo llegue a las instancias de backend.
Consola
En la Google Cloud consola, ve a la página Políticas de cortafuegos.
Haga clic en Crear regla de cortafuegos para crear la regla que permita el tráfico de cualquier origen. Usa los siguientes valores:
- Nombre:
allow-network-lb
. - Red:
default
- Prioridad:
1000
- Dirección del tráfico: entrada
- Acción tras coincidencia: permitir.
- Destinos: etiquetas de destino especificadas
- Etiquetas de destino:
network-lb
- Filtro de origen: Intervalos de IPv4
- Intervalos de IPv4 de origen:
0.0.0.0/0
, que permite el tráfico de cualquier origen. De esta forma, tanto el tráfico externo como las sondas de comprobación del estado pueden llegar a las instancias de backend. - Protocolos y puertos: elige Protocolos y puertos especificados.
Selecciona la casilla TCP e introduce
80
.
- Nombre:
Haz clic en Crear.
Vuelve a hacer clic en Crear regla de cortafuegos para crear la regla que permita las conexiones SSH entrantes a las instancias. Usa los siguientes valores:
- Nombre:
allow-ssh
- Red:
default
- Prioridad:
1000
- Dirección del tráfico: entrada
- Acción tras coincidencia: permitir
- Destinos: etiquetas de destino especificadas
- Etiquetas de destino:
network-lb
- Filtro de origen: Intervalos de IPv4
- Intervalos de IPv4 de origen:
0.0.0.0/0
- Protocolos y puertos: elige Protocolos y puertos especificados.
Selecciona la casilla TCP e introduce
22
.
- Nombre:
Haz clic en Crear.
gcloud
gcloud compute firewall-rules create allow-network-lb \ --target-tags network-lb \ --allow tcp:80
gcloud compute firewall-rules create allow-ssh \ --target-tags network-lb \ --allow tcp:22
Configurar componentes de balanceadores de carga
En estos pasos se configuran los siguientes componentes del balanceador de carga de red de paso a través externo:
Comprobación del estado: en este ejemplo se usa una comprobación del estado de HTTP que simplemente comprueba si hay una respuesta HTTP
200
(Correcto).Servicio de backend: como el ejemplo envía tráfico HTTP a través del balanceador de carga, la configuración especifica TCP, no UDP. Para ilustrar la conmutación por error, este servicio de backend tiene una proporción de conmutación por error de
0.75
.Regla de reenvío: en este ejemplo se crea una sola regla de reenvío.
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 pasarela y haz clic en Siguiente.
- En Público o interno, selecciona Público (externo) y haz clic en Siguiente.
- Haz clic en Configurar.
Configuración de backend
- En la página Create external passthrough Network Load Balancer (Crear balanceador de carga de red de paso a través externo), introduzca un nombre de
tcp-network-lb
para el nuevo balanceador de carga. - Haz clic en Configuración de backend. Aparece el Nombre del balanceador de carga que has introducido anteriormente, pero no se puede modificar.
- Haz clic en Configuración de backend y haz los siguientes cambios:
- En Región, selecciona us-west1.
- En Backends (Back-ends), usa el menú desplegable Grupo de instancias para seleccionar
ig-a
. Por último, haz clic en Listo. - Haz clic en Añadir backend y repite este paso para añadir
ig-c
. Selecciona la casilla Usar este grupo de instancias como grupo de conmutaciones por error alternativo. - En Comprobación del estado, elige Crear otra comprobación del estado o
Crear otra comprobación del estado e introduce la siguiente información:
- Nombre:
hc-http-80
- Protocolo:
TCP
- Puerto:
80
- Nombre:
- Haz clic en Guardar y continuar.
- Haz clic en Configuraciones avanzadas.
- En Índice de conmutación por error, introduce
0.75
. - Comprueba que haya una marca de verificación azul junto a Configuración del backend antes de continuar.
Configuración de frontend
- Haz clic en Configuración de frontend.
- Asigne un Nombre de
network-lb-forwarding-rule
. - En IP, haz clic en el menú desplegable y selecciona Crear dirección IP.
- En la pantalla Reservar una dirección IP estática nueva, asigna un nombre a
network-lb-ip
. - Haz clic en Reservar.
- En la pantalla Reservar una dirección IP estática nueva, asigna un nombre a
- Elige Único e introduce
80
en el campo Número de puerto. Haz clic en el botón Hecho.
Un círculo azul con una marca de verificación a la izquierda de Configuración del frontend indica que la configuración se ha realizado correctamente.
Revisar la configuración
- Haz clic en el botón Revisar y finalizar para comprobar todos los ajustes de configuración del balanceador de carga.
Si los ajustes son correctos, haz clic en Crear. El balanceador de carga tardará unos minutos en crearse.
En la pantalla de balanceo de carga, en la columna Backend de tu nuevo balanceador de carga, deberías ver una marca de verificación verde que indica que el nuevo balanceador de carga está en buen estado.
gcloud
Crea una dirección IP externa estática para tu balanceador de carga.
gcloud compute addresses create network-lb-ip \ --region us-west1
Crea una comprobación del estado de HTTP para probar la conectividad TCP a las VMs en el puerto 80.
gcloud compute health-checks create http hc-http-80 \ --region us-west1 \ --port 80
Crea el servicio de backend para el tráfico HTTP:
gcloud compute backend-services create network-lb-backend-service \ --protocol tcp \ --region us-west1 \ --health-checks hc-http-80 \ --health-checks-region us-west1 \ --failover-ratio 0.75
Añade el backend principal al servicio de backend:
gcloud compute backend-services add-backend network-lb-backend-service \ --region us-west1 \ --instance-group ig-a \ --instance-group-zone us-west1-a
Añade el backend de failover al servicio backend:
gcloud compute backend-services add-backend network-lb-backend-service \ --region us-west1 \ --instance-group ig-c \ --instance-group-zone us-west1-c \ --failover
Crea una regla de reenvío para el servicio de backend. Usa la dirección IP reservada en el paso 1 como dirección IP externa estática del balanceador de carga.
gcloud compute forwarding-rules create network-lb-forwarding-rule \ --region us-west1 \ --load-balancing-scheme external \ --address network-lb-ip\ --ports 80 \ --backend-service network-lb-backend-service
Pruebas
Estas pruebas muestran cómo validar la configuración del balanceador de carga y cómo conocer su comportamiento esperado.
Enviar tráfico al balanceador de carga
Este procedimiento envía tráfico externo al balanceador de carga. Seguirás este procedimiento para completar las demás pruebas.
Conéctate a la instancia de VM cliente.
gcloud compute forwarding-rules describe network-lb-forwarding-rule \ --region us-west1
Haz una solicitud web al balanceador de carga mediante
curl
para ponerte en contacto con su dirección IP.curl http://IP_ADDRESS
Fíjate en el texto devuelto por el comando
curl
. El nombre de la VM backend que genera la respuesta se muestra en ese texto. Por ejemplo:Page served from: vm-a1
Prueba del estado inicial
Una vez que hayas configurado el balanceador de carga de ejemplo, las cuatro VMs de backend deberían estar en buen estado:
- Las dos máquinas virtuales principales,
vm-a1
yvm-a2
- las dos VMs de copia de seguridad,
vm-c1
yvm-c2
Sigue el procedimiento de prueba para enviar tráfico al balanceador de carga.
Repite el segundo paso varias veces. Lo habitual es que el tráfico se sirva desde las dos VMs principales, vm-a1
y vm-a2
, porque ambas están en buen estado. Deberías ver que cada VM principal sirve una respuesta aproximadamente la mitad del tiempo porque no se ha configurado ninguna afinidad de sesión para este balanceador de carga.
Prueba de conmutación por error
Esta prueba simula el fallo de vm-a1
para que puedas observar el comportamiento de la conmutación por error.
Conéctate a la VM
vm-a1
.gcloud compute ssh vm-a1 --zone us-west1-a
Detén el servidor web Apache. Después de diez segundos, Google Cloudconsidera que esta VM no está en buen estado. (La comprobación del estado
hc-http-80
que has creado en la configuración usa el intervalo de comprobación predeterminado de cinco segundos y el umbral de mal estado de dos sondeos fallidos consecutivos).sudo apachectl stop
Sigue el procedimiento de prueba para enviar tráfico al balanceador de carga. Repite el segundo paso varias veces. Lo normal es que el tráfico ahora se publique en las dos VMs de copia de seguridad,
vm-c1
yvm-c2
. Como solo hay una VM principal en buen estado (vm-a2
), la proporción de VMs principales en buen estado con respecto al total de VMs principales es0.5
. Este número es inferior al umbral de conmutación por error de0.75
, por lo queGoogle Cloud ha vuelto a configurar el grupo activo del balanceador de carga para que use las VMs de copia de seguridad. Deberías ver que cada VM de copia de seguridad responde aproximadamente la mitad del tiempo siempre que no se haya configurado ninguna afinidad de sesión para este balanceador de carga.
Prueba de conmutación por error
Esta prueba simula una conmutación por recuperación reiniciando el servidor Apache en vm-a1
.
Conéctate a la VM
vm-a1
.gcloud compute ssh vm-a1 --zone us-west1-a
Inicia el servidor web Apache y espera 10 segundos.
sudo apachectl start
Sigue el procedimiento de prueba del cliente. Repite el segundo paso varias veces. Lo normal es que el tráfico se publique en las dos máquinas virtuales principales,
vm-a1
yvm-a2
. Como ambas VMs principales están en buen estado, la proporción de VMs principales en buen estado con respecto al total de VMs principales es1.0
, que es superior al umbral de conmutación por error de0.75
, por lo que Google Cloud ha configurado el grupo activo para que vuelva a usar las VMs principales.
Añadir más VMs de backend
En esta sección se amplía la configuración de ejemplo añadiendo más VMs principales y de copia de seguridad al balanceador de carga. Para ello, crea dos grupos de instancias de backend más para demostrar que puedes distribuir las VMs principales y de copia de seguridad entre varias zonas de la misma región:
- Un tercer grupo de instancias,
ig-d
enus-west1-c
, actúa como backend principal con dos VMs:vm-d1
vm-d2
- Un cuarto grupo de instancias,
ig-b
enus-west1-a
, actúa como backend de conmutación por error con dos VMs:vm-b1
vm-b2
La arquitectura modificada de este ejemplo es la siguiente:
Crear más VMs y grupos de instancias
Sigue estos pasos para crear las VMs principales y de copia de seguridad adicionales, así como los grupos de instancias no gestionados correspondientes.
Consola
Crear VMs de backend
En la consola de Google Cloud , ve a la página Instancias de VM.
Repite los pasos siguientes para crear cuatro VMs con las siguientes combinaciones de nombre y zona.
- Nombre:
vm-b1
, zona:us-west1-a
- Nombre:
vm-b2
, zona:us-west1-a
- Nombre:
vm-d1
, zona:us-west1-c
- Nombre:
vm-d2
, zona:us-west1-c
- Nombre:
Haz clic en Crear instancia.
Asigna el Nombre como se indica en el paso 2.
En Región, elige
us-west1
y, en Zona, selecciona la opción que se indica en el paso 2.En la sección Disco de arranque, asegúrate de que la imagen seleccionada sea Debian GNU/Linux 9 Stretch. Haz clic en Elegir para cambiar la imagen si es necesario.
Haz clic en Advanced options (Opciones avanzadas).
Haga clic en Redes y configure el siguiente campo:
- En Etiquetas de red, introduzca
network-lb
.
- En Etiquetas de red, introduzca
Haz clic en Gestión. Introduce la siguiente secuencia de comandos en el campo Secuencia de comandos de inicio. El contenido de la secuencia de comandos es idéntico en las cuatro VMs:
#! /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.
Crear grupos de instancias
En la consola, ve a la página Grupos de instancias. Google Cloud
Repite los pasos siguientes para crear dos grupos de instancias no gestionados, cada uno con dos VMs, usando estas combinaciones.
- Grupo de instancias:
ig-b
, zona:us-west1-a
, VMs:vm-b1
yvm-b2
- Grupo de instancias:
ig-d
, zona:us-west1-c
, VMs:vm-d1
yvm-d2
- Grupo de instancias:
Haz clic en Crear grupo de instancias.
Haga clic en Nuevo grupo de instancias sin gestionar.
Asigna el Nombre como se indica en el paso 2.
En la sección Ubicación, elija
us-west1
en Región y, a continuación, seleccione una Zona como se indica en el paso 2.En Red, escribe
default
.En la sección Instancias de VM, añade las VMs como se indica en el paso 2.
Haz clic en Crear.
gcloud
Crea cuatro VMs ejecutando el siguiente comando cuatro veces y usando estas cuatro combinaciones para
VM-NAME
yZONE
. El contenido de la secuencia de comandos es idéntico en las cuatro VMs.VM-NAME
devm-b1
yZONE
deus-west1-a
VM-NAME
devm-b2
yZONE
deus-west1-a
VM-NAME
devm-d1
yZONE
deus-west1-c
VM-NAME
devm-d2
yZONE
deus-west1-c
gcloud compute instances create VM-NAME \ --zone=ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=network-lb \ --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 los dos grupos de instancias sin gestionar en cada zona:
gcloud compute instance-groups unmanaged create ig-b \ --zone us-west1-a gcloud compute instance-groups unmanaged create ig-d \ --zone us-west1-c
Añade las VMs a los grupos de instancias correspondientes:
gcloud compute instance-groups unmanaged add-instances ig-b \ --zone us-west1-a \ --instances vm-b1,vm-b2 gcloud compute instance-groups unmanaged add-instances ig-d \ --zone us-west1-c \ --instances vm-d1,vm-d2
Añadir un backend principal
Puedes usar este procedimiento como plantilla para añadir un grupo de instancias no gestionado al servicio de backend de un balanceador de carga de red de pases externo como backend principal. En la configuración de ejemplo, este procedimiento muestra cómo añadir el grupo de instancias ig-d
como backend principal al balanceador de carga network-lb
.
Consola
Edita la configuración del balanceador de carga para añadir un backend principal.
En la Google Cloud consola, ve a la página Balanceo de carga.
Haz clic en el balanceador de carga que quieras modificar.
Haz clic en Editar.
Haz clic en Configuración de backend y haz los siguientes cambios:
- En Backends, haz clic en Add Backend (Añadir backend).
- En el menú desplegable, selecciona el grupo de instancias que quieras añadir como backend principal. En este caso,
ig-d
. - Haz clic en Listo.
- Comprueba que haya una marca de verificación azul junto a Configuración del backend antes de continuar.
Revisar la configuración
- Haz clic en el botón Revisar y finalizar y confirma que el nuevo backend principal se muestra en Backend.
Si los ajustes son correctos, haz clic en Crear. El balanceador de carga tardará unos minutos en crearse.
En la pantalla de balanceo de carga, en la columna Backend de tu nuevo balanceador de carga, deberías ver una marca de verificación verde que indica que el nuevo balanceador de carga está en buen estado.
gcloud
Usa el siguiente comando gcloud
para añadir un backend principal al servicio de backend de un balanceador de carga de red de paso a través externo.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION
donde:
BACKEND_SERVICE_NAME
es el nombre del servicio de backend del balanceador de carga. En este ejemplo, usanetwork-lb-backend-service
.INSTANCE_GROUP_NAME
es el nombre del grupo de instancias que se va a añadir como backend principal. En este ejemplo, usaig-d
.INSTANCE_GROUP_ZONE
es la zona en la que se define el grupo de instancias. En este ejemplo, usaus-west1-c
.REGION
es la región del balanceador de carga. En este ejemplo, usaus-west1
.
Añadir un backend de failover
Puedes usar este procedimiento como plantilla para añadir un grupo de instancias no gestionado al servicio de backend de un balanceador de carga de red de transferencia externo como backend de conmutación por error. En la configuración de ejemplo, este procedimiento muestra cómo añadir el grupo de instancias ig-b
como backend de conmutación por error al balanceador de carga network-lb
.
Consola
Edita la configuración del balanceador de carga para añadir un backend principal.
En la Google Cloud consola, ve a la página Balanceo de carga.
Haz clic en el balanceador de carga que quieras modificar.
Haz clic en Editar.
Haz clic en Configuración de backend y haz los siguientes cambios:
- En Backends, haz clic en Add Backend (Añadir backend).
- En el menú desplegable, selecciona el grupo de instancias que quieras añadir como backend de conmutación por error. En este caso,
ig-b
. - Selecciona la casilla Usar este grupo de instancias como grupo de conmutaciones por error alternativo.
- Haz clic en Listo.
- Comprueba que haya una marca de verificación azul junto a Configuración del backend antes de continuar.
Revisar la configuración
- Haz clic en el botón Revisar y finalizar y confirma que el nuevo backend principal se muestra en Backend.
Si los ajustes son correctos, haz clic en Crear. El balanceador de carga tardará unos minutos en crearse.
En la pantalla de balanceo de carga, en la columna Backend de tu nuevo balanceador de carga, deberías ver una marca de verificación verde que indica que el nuevo balanceador de carga está en buen estado.
gcloud
Usa el siguiente comando gcloud
para añadir un backend de failover al servicio de backend de un balanceador de carga de red de paso a través externo.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --failover
donde:
BACKEND_SERVICE_NAME
es el nombre del servicio de backend del balanceador de carga. En este ejemplo, usanetwork-lb-backend-service
.INSTANCE_GROUP_NAME
es el nombre del grupo de instancias que se va a añadir como backend de failover. En este ejemplo, usaig-b
.INSTANCE_GROUP_ZONE
es la zona en la que se define el grupo de instancias. En este ejemplo, usaus-west1-a
.REGION
es la región del balanceador de carga. En este ejemplo, usaus-west1
.
Convertir un backend principal o de failover
Puedes convertir un backend principal en un backend de failover o viceversa sin tener que quitar el grupo de instancias del servicio de backend del balanceador de carga de red de pases externo.
gcloud
Usa el siguiente comando gcloud
para convertir un backend principal en un backend de conmutación por error:
gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --failover
Usa el siguiente comando gcloud
para convertir un backend de conmutación por error en un backend principal:
gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --no-failover
donde:
BACKEND_SERVICE_NAME
es el nombre del servicio de backend del balanceador de carga.INSTANCE_GROUP_NAME
es el nombre del grupo de instancias.INSTANCE_GROUP_ZONE
es la zona en la que se define el grupo de instancias.REGION
es la región del balanceador de carga.
Configurar políticas de conmutación por error
En esta sección se describe cómo gestionar una política de conmutación por error para el servicio backend de un balanceador de carga de red pasante externo. Una política de conmutación por error consta de lo siguiente:
- Índice de conmutación por error
- Eliminar el tráfico cuando todas las VMs de backend estén en mal estado
- Vaciado de conexiones al producirse una conmutación por error
Para obtener más información sobre los parámetros de una política de conmutación por error, consulta los siguientes artículos:
- Definir una proporción de conmutación por error
- Eliminar el tráfico cuando no haya ninguna VM en buen estado
- Desviación de conexiones al producirse una conmutación por error y una conmutación por recuperación
Definir una política de conmutación por error
En las siguientes instrucciones se describe cómo definir la política de conmutación por error de un balanceador de carga de red de pases externo.
gcloud
Para definir una política de conmutación por error con gcloud CLI, actualiza el servicio de backend del balanceador de carga:
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region REGION \ --failover-ratio FAILOVER_RATIO \ --connection-drain-on-failover \ --connection-draining-timeout=CONNECTION_DRAINING_TIMEOUT \ --drop-traffic-if-unhealthy
donde:
BACKEND_SERVICE_NAME
es el nombre del servicio de backend del balanceador de carga. En este ejemplo, usanetwork-lb
.REGION
es la región del balanceador de carga. En este ejemplo, usaus-west1
.FAILOVER_RATIO
es el índice de conmutación por error. Los valores posibles están comprendidos entre0.0
y1.0
, ambos incluidos. En este ejemplo, usa0.75
.CONNECTION_DRAINING_TIMEOUT
permite que las conexiones TCP persistan, incluso en VMs que ya no están en el pool activo, durante el tiempo de espera de la desviación de conexiones.
Ver una política de conmutación por error
En las siguientes instrucciones se describe cómo ver la política de conmutación por error de un balanceador de carga de red de paso a través externo.
gcloud
Para enumerar los ajustes de la política de conmutación por error con gcloud CLI, usa el siguiente comando. Los ajustes indefinidos de una política de conmutación por error usan los valores predeterminados de la política de conmutación por error.
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION \ --format="get(failoverPolicy)"
donde:
BACKEND_SERVICE_NAME
es el nombre del servicio de backend del balanceador de carga. En este ejemplo, usanetwork-lb-backend-service
.REGION
es la región del balanceador de carga. En este ejemplo, usaus-west1
.
Siguientes pasos
- Consulta la descripción general del balanceador de carga de red de paso a través externo para obtener información básica importante.
- Consulta Conceptos de conmutación por error para balanceadores de carga de red de paso a través externos para obtener información importante sobre la conmutación por error.
- Consulta un ejemplo de configuración en Configurar un balanceador de carga de red de paso a través externo.