En esta guía, se usa un ejemplo para enseñarte a configurar la conmutación por error en un balanceador de cargas de red de transferencia externo con un servicio de backend. Antes de seguir con esta guía, familiarízate con lo siguiente:
- Descripción general del balanceador de cargas de red de transferencia externo con un servicio de backend
- Conceptos de conmutación por error para balanceadores de cargas de red de transferencia externa
- Descripción general de las reglas de firewall
- Conceptos de verificación de estado
Permisos
Para seguir esta guía, debes crear instancias y modificar una red en un proyecto. Debes ser propietario o editor de un proyecto o tener todas las siguientes funciones de IAM de Compute Engine:
Tarea | Función requerida |
---|---|
Crea componentes del balanceador de cargas | Administrador de redes |
Agrega y quita reglas de firewall | Administrador de seguridad |
Crea instancias | Administrador de instancias de Compute |
Si deseas obtener más información, consulta las siguientes guías:
Configuración
En esta guía, se muestra cómo configurar y probar un balanceador de cargas de red de transferencia externo que usa la conmutación por error. En los pasos de esta sección, se describe cómo configurar los siguientes elementos:
- VM de backend:
- Un backend principal en un grupo de instancias no administrado en la zona
us-west1-a
- Un backend de conmutación por error en un grupo de instancias no administrado en la zona
us-west1-c
- Un backend principal en un grupo de instancias no administrado en la zona
- Reglas de firewall que permiten conexiones entrantes a VM de backend
- Una VM cliente para probar conexiones y observar el comportamiento de conmutación por error
- Los siguientes componentes del balanceador de cargas de red de transferencia externo:
- Una verificación de estado del servicio de backend
- Un servicio de backend en la región
us-west1
para administrar la distribución de las conexiones entre las VM de backend - Una regla de reenvío y una dirección IP para el frontend del balanceador de cargas
Así se ve la arquitectura de este ejemplo:
Crea grupos de instancias y VM de backend
En este paso, crearás las VM de backend y los grupos de instancias no administrados:
- El grupo de instancias
ig-a
enus-west1-a
es un backend principal con dos VM:vm-a1
vm-a2
- El grupo de instancias
ig-c
enus-west1-c
es un backend de conmutación por error con dos VM:vm-c1
vm-c2
Los backends principales y de conmutación por error se colocan en zonas diferentes para favorecer la claridad de instrucción y manejar la conmutación por error en caso de que una zona se desconecte.
Cada VM principal y de copia de seguridad está configurada para ejecutar un servidor web Apache en el puerto TCP 80. De forma predeterminada, Apache está configurado para vincularse a cualquier dirección IP. Los balanceadores de cargas de red entregan paquetes mediante la preservación de la IP de destino.
Asegúrate de que el software del servidor que se ejecuta en las VMs principales y las de copia de seguridad estén escuchando en la dirección IP de la regla de reenvío del balanceador de cargas. La dirección IP de destino de un paquete que un balanceador de cargas de red de transferencia externo a una VM de backend es la dirección IP de la regla de reenvío.
Para simplificar las instrucciones, todas las VMs principales y de copia de seguridad ejecutan Debian GNU/Linux 9.
Console
Crea VM de backend
- En la consola de Google Cloud, ve a la página Instancias de VM. Ir a Instancias de VM
- Repite los siguientes pasos para crear cuatro VM 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.
- En Nombre establece lo que se indica en el paso 2.
- En Región, elige
us-west1
y selecciona una Zona como se indica en el paso 2. - En la sección Disco de arranque, asegúrate de que la imagen seleccionada sea Debian GNU/Linux 12 (bookWorm). Haz clic en Elegir para cambiar la imagen si es necesario.
- Haga clic en Opciones avanzadas.
- Haz clic en Herramientas de redes y configura el siguiente campo:
- En Etiquetas de red, ingresa
network-lb
.
- En Etiquetas de red, ingresa
Haz clic en Administración. Ingresa la siguiente secuencia de comandos en el campo Secuencia de comandos de inicio. El contenido de secuencia de comandos es idéntico para las cuatro VM:
#! /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 grupos de instancias
En la consola de Google Cloud, ve a la página Grupos de instancias.
Repite estos pasos para crear dos grupos de instancias no administrados, cada uno con dos VM, mediante estas combinaciones.
- Grupo de instancias:
ig-a
, zona:us-west1-a
, VM:vm-a1
yvm-a2
- Grupo de instancias:
ig-c
, zona:us-west1-c
, VM:vm-c1
yvm-c2
- Grupo de instancias:
Haz clic en Crear grupo de instancias.
Haz clic en Crear un nuevo grupo de instancias no administrado.
Configura Nombre como se indica en el paso 2.
En la sección Ubicación, elige
us-west1
para Región y, luego, elige una opción en Zona, como se indica en el paso 2.En Red, ingresa
default
.En la sección Instancias de VM, agrega las VM como se indica en el paso 2.
Haz clic en Crear.
gcloud
A fin de crear cuatro VM, ejecuta el siguiente comando cuatro veces, con estas cuatro combinaciones para
VM-NAME
yZONE
. El contenido de la secuencia de comandos es idéntico para las cuatro VM.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 no administrados 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
Agrega las VM a los grupos de instancias adecuados:
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
Configura las reglas de firewall
Crea una regla de firewall que permita que el tráfico externo llegue a las instancias de backend.
Console
En la consola de Google Cloud, ve a la página Políticas de firewall.
Haz clic en Crear regla de firewall a fin de crear la regla para permitir el tráfico desde cualquier fuente. Usa los siguientes valores:
- Nombre:
allow-network-lb
. - Red:
default
- Prioridad:
1000
- Dirección del tráfico: Entrada
- Acción en caso de coincidencia: Permitir
- Objetivos: etiquetas de destino especificadas
- Etiquetas de destino:
network-lb
- Filtro de fuente: Rangos de IPv4
- Rangos de IPv4 de origen:
0.0.0.0/0
, que permiten el tráfico desde cualquier fuente. Esto permite que el tráfico externo y los sondeos de verificaciones de estado lleguen a las instancias de backend. - Protocolos y puertos: Elige Protocolos y puertos especificados.
Selecciona la casilla de verificación TCP y, luego, ingresa el puerto
80
.
- Nombre:
Haz clic en Crear.
Haz clic en Crear regla de firewall de nuevo para crear la regla que permita 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 si hay coincidencia: permitir
- Objetivos: etiquetas de destino especificadas
- Etiquetas de destino:
network-lb
- Filtro de fuente: Rangos de IPv4
- Rangos de IPv4 de origen:
0.0.0.0/0
- Protocolos y puertos: Elige Protocolos y puertos especificados.
Selecciona la casilla de verificación TCP y, luego, ingresa el puerto
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
Configura componentes del balanceador de cargas
Con estos pasos, se configuran los siguientes componentes externos del balanceador de cargas de red de transferencia externo:
Verificación de estado: En este ejemplo, se usa una verificación de estado HTTP que busca una respuesta HTTP
200
(OK).Servicio de backend: Debido a que el ejemplo transmite tráfico HTTP a través del balanceador de cargas, 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 interno.
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 un Nombre de
tcp-network-lb
para el balanceador de cargas nuevo. - Haz clic en Configuración de backend. El Nombre del balanceador de cargas que ingresaste antes aparece, pero no puedes modificarlo.
- Haz clic en Configuración de backend y realiza los siguientes cambios:
- Para la Región, selecciona us-west1.
- En Backends, usa el menú desplegable Grupo de instancias para seleccionar
ig-a
. Haz clic en Listo. - Haz clic en Agregar backend y repite este paso para agregar
ig-c
. Selecciona la casilla de verificación Usar este grupo de instancias como grupo de conmutación por error para la copia de seguridad. - En Verificación de estado, elige Crear otra verificación de estado o Crear otra verificación de estado, ingresa la siguiente información:
- Nombre:
hc-http-80
- Protocolo:
TCP
- Puerto:
80
- Nombre:
- Haz clic en Guardar y continuar.
- Haz clic en Configuración avanzada.
- En Proporción de conmutación por error, ingresa
0.75
. - Verifica que haya una marca de verificación azul junto a Configuración de backend antes de continuar.
Configuración de frontend
- Haz clic en Configuración de frontend.
- Ingresa 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 de
network-lb-ip
. - Haz clic en Reservar.
- En la pantalla Reservar una dirección IP estática nueva, asigna un Nombre de
- Elige Individual e ingresa
80
en el Número de puerto. Haz clic en el botón 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 el botón Revisar y finalizar para verificar la configuración del balanceador de cargas.
Si la configuración es correcta, haz clic en Crear. El balanceador de cargas tarda unos cuantos minutos en crearse.
En la pantalla 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
Crea una dirección IP externa estática para tu balanceador de cargas.
gcloud compute addresses create network-lb-ip \ --region us-west1
Crea una verificación de estado HTTP nueva para probar la conectividad TCP a las VM en 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
Agrega 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
Agrega el backend de conmutación por error al servicio de 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 la dirección IP externa estática del balanceador de cargas.
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
Prueba
Mediante estas pruebas se muestra cómo validar la configuración del balanceador de cargas y conocer su comportamiento esperado.
Envía tráfico al balanceador de cargas
Este procedimiento envía tráfico externo al balanceador de cargas. Usarás este procedimiento para completar las otras pruebas.
Conéctate a la instancia de VM de cliente.
gcloud compute forwarding-rules describe network-lb-forwarding-rule \ --region us-west1
Realiza una solicitud web al balanceador de cargas mediante
curl
para establecer contacto con su dirección IP.curl http://IP_ADDRESS
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-a1
.
Realiza una prueba de estado inicial
Después de configurar el balanceador de cargas de ejemplo, las cuatro VM de backend deberían estar en buen estado:
- las dos VM principales,
vm-a1
yvm-a2
- las dos VM de copia de seguridad,
vm-c1
yvm-c2
Sigue el procedimiento de prueba para enviar tráfico al balanceador de cargas.
Repite el segundo paso varias veces. El comportamiento esperado es que las dos VM principales entreguen tráfico, vm-a1
y vm-a2
, ya que ambas están en buen estado. Cada VM principal debería entregar una respuesta aproximadamente la mitad del tiempo porque no se configuró ninguna afinidad de sesión para este balanceador de cargas.
Prueba de conmutación por error
En esta prueba, se simula la falla de vm-a1
para que puedas observar el comportamiento de 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 Cloud considera que esta VM no está en buen estado. La verificación de estado
hc-http-80
que creaste en la configuración usa el intervalo de comprobación predeterminado de cinco segundos y el límite de mal estado de dos sondeos fallidos consecutivos.sudo apachectl stop
Sigue el procedimiento de prueba para enviar tráfico al balanceador de cargas. Repite el segundo paso varias veces. El comportamiento esperado es que
vm-c1
yvm-c2
, las dos VM de copia de seguridad, entreguen tráfico. Debido a que solo una VM principal,vm-a2
, está en buen estado, la proporción de VM principales en buen estado respecto al total de VM principales es de0.5
. Este número es menor que el límite de conmutación por error de0.75
, por lo que Google Cloud volvió a configurar el grupo activo del balanceador de cargas para usar las VM de copia de seguridad. Deberías ver que cada VM de copia de seguridad entregue una respuesta aproximadamente la mitad del tiempo siempre y cuando no se haya configurado la afinidad de sesión para este balanceador de cargas.
Realiza una prueba de recuperación
En esta prueba, se simula la conmutación por recuperación mediante el reinicio del servidor de 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. El comportamiento esperado es que
vm-a1
yvm-a2
, las dos VM principales, entreguen tráfico. Con ambas VM principales en buen estado, la proporción de VM principales en buen estado respecto al total de VM principales es de1.0
, más que el límite de conmutación por error de0.75
, por lo que Google Cloud configuró el grupo activo para usar las VM principales otra vez.
Agrega más VM de backend
En esta sección, se amplía la configuración de ejemplo mediante el agregado de más VM principales y de copia de seguridad al balanceador de cargas. Para ello, se crean dos grupos de instancias de backend a fin de demostrar que puedes distribuir VM principales y de copia de seguridad entre varias zonas de la misma región:
- Un tercer grupo de instancias,
ig-d
enus-west1-c
, funciona como backend principal con dos VM:vm-d1
vm-d2
- Un cuarto grupo de instancias,
ig-b
enus-west1-a
, funciona como un backend de conmutación por error con dos VM:vm-b1
vm-b2
Así se ve la arquitectura modificada de este ejemplo:
Crea VM y grupos de instancias adicionales
Sigue estos pasos para crear las VM principales y de copia de seguridad adicionales y sus grupos de instancias no administrados correspondientes.
Console
Crea VM de backend
En la consola de Google Cloud, ve a la página Instancias de VM.
Repite los siguientes pasos para crear cuatro VM 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.
En Nombre establece lo que se indica en el paso 2.
En Región, elige
us-west1
y selecciona una Zona como 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 Opciones avanzadas.
Haz clic en Herramientas de redes y configura el siguiente campo:
- En Etiquetas de red, ingresa
network-lb
.
- En Etiquetas de red, ingresa
Haz clic en Administración. Ingresa la siguiente secuencia de comandos en el campo Secuencia de comandos de inicio. El contenido de secuencia de comandos es idéntico para las cuatro VM:
#! /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 grupos de instancias
En la consola de Google Cloud, ve a la página Grupos de instancias.
Repite los siguientes pasos para crear dos grupos de instancias no administrados, cada uno con dos VM, con estas combinaciones.
- Grupo de instancias:
ig-b
, zona:us-west1-a
, VM:vm-b1
yvm-b2
- Grupo de instancias:
ig-d
, zona:us-west1-c
, VM:vm-d1
yvm-d2
- Grupo de instancias:
Haz clic en Crear grupo de instancias.
Haz clic en Crear un nuevo grupo de instancias no administrado.
Configura Nombre como se indica en el paso 2.
En la sección Ubicación, elige
us-west1
para Región y, luego, elige una opción en Zona, como se indica en el paso 2.En Red, ingresa
default
.En la sección Instancias de VM, agrega las VM como se indica en el paso 2.
Haz clic en Crear.
gcloud
A fin de crear cuatro VM, ejecuta el siguiente comando cuatro veces, con estas cuatro combinaciones para
VM-NAME
yZONE
. El contenido de la secuencia de comandos es idéntico para las cuatro VM.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 no administrados 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
Agrega las VM a los grupos de instancias adecuados:
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
Agrega un backend principal
Puedes usar este procedimiento como una plantilla para agregar un grupo de instancias no administrado al servicio de backend de un balanceador de cargas de red de transferencia externo existente como un backend principal. Para la configuración de ejemplo, este procedimiento muestra cómo agregar el grupo de instancias ig-d
como backend principal al balanceador de cargas network-lb
.
Console
Edita la configuración del balanceador de cargas para agregar un backend principal.
En la consola de Google Cloud, ve a la página Balanceo de cargas.
Haz clic en el balanceador de cargas que deseas modificar.
Haz clic en Editar.
Haz clic en Configuración de backend y realiza los siguientes cambios:
- En Backends, haz clic en Agregar backend.
- En el menú desplegable, selecciona el grupo de instancias que se agregará como backend principal. En este caso:
ig-d
. - Haz clic en Listo.
- Verifica que haya una marca de verificación azul junto a Configuración de backend antes de continuar.
Revisa la configuración
- Haz clic en el botón Revisar y finalizar y confirma que el backend principal nuevo sea visible en Backend.
Si la configuración es correcta, haz clic en Crear. El balanceador de cargas tarda unos cuantos minutos en crearse.
En la pantalla 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
Usa el siguiente comando de gcloud
para agregar un backend principal a un servicio de backend del balanceador de cargas de red de transferencia externo existente.
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 cargas. Para el ejemplo, usanetwork-lb-backend-service
.INSTANCE_GROUP_NAME
es el nombre del grupo de instancias que se agregará como backend principal. Para el ejemplo, usaig-d
.INSTANCE_GROUP_ZONE
es la zona en la que se define el grupo de instancias. Para el ejemplo, usaus-west1-c
.REGION
es la región del balanceador de cargas. Para el ejemplo, usaus-west1
.
Agrega un backend de conmutación por error
Puedes usar este procedimiento como una plantilla para agregar un grupo de instancias no administrado al servicio de backend de un balanceador de cargas de red de transferencia externo existente como un backend de conmutación por error. Para la configuración de ejemplo, este procedimiento muestra cómo agregar el grupo de instancias ig-b
como backend de conmutación por error al balanceador de cargas network-lb
.
Console
Edita la configuración del balanceador de cargas para agregar un backend principal.
En la consola de Google Cloud, ve a la página Balanceo de cargas.
Haz clic en el balanceador de cargas que deseas modificar.
Haz clic en Editar.
Haz clic en Configuración de backend y realiza los siguientes cambios:
- En Backends, haz clic en Agregar backend.
- En el menú desplegable, selecciona el grupo de instancias que se agregará como backend de conmutación por error. En este caso:
ig-b
. - Selecciona la casilla de verificación Usar este grupo de instancias como un grupo de conmutación por error para la copia de seguridad.
- Haz clic en Listo.
- Verifica que haya una marca de verificación azul junto a Configuración de backend antes de continuar.
Revisa la configuración
- Haz clic en el botón Revisar y finalizar y confirma que el backend principal nuevo sea visible en Backend.
Si la configuración es correcta, haz clic en Crear. El balanceador de cargas tarda unos cuantos minutos en crearse.
En la pantalla 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
Usa el siguiente comando de gcloud
para agregar un backend principal a un servicio de backend del balanceador de cargas de red de transferencia externo existente.
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 cargas. Para el ejemplo, usanetwork-lb-backend-service
.INSTANCE_GROUP_NAME
es el nombre del grupo de instancias que se agregará como backend de conmutación por error. Para el ejemplo, usaig-b
.INSTANCE_GROUP_ZONE
es la zona en la que se define el grupo de instancias. Para el ejemplo, usaus-west1-a
.REGION
es la región del balanceador de cargas. Para el ejemplo, usaus-west1
.
Convierte un backend primario o de conmutación por error
Puedes convertir un backend principal en uno de conmutación por error, o viceversa, sin quitar el grupo de instancias del servicio de backend del balanceador de cargas de red de transferencia externo.
gcloud
Usa el siguiente comando de gcloud
para convertir un backend principal existente 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 de gcloud
para convertir un backend de conmutación por error existente 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 cargas.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 cargas.
Configura las políticas de conmutación por error
En esta sección, se describe cómo administrar una política de conmutación por error para un servicio de backend del balanceador de cargas de red de transferencia externo. Una política de conmutación por error consta de las siguientes partes:
- Índice de conmutación por error
- Abandono del tráfico cuando todas las VM de backend están en mal estado
- Desvío de conexión en conmutación por error
Para obtener más información sobre los parámetros de una política de conmutación por error, consulta estos artículos:
- Configuración de una proporción de conmutación por error
- Abandono del tráfico cuando no hay una VM en buen estado
- Vaciado de conexiones en conmutación por error y recuperación
Define 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 cargas de red de transferencia externo existente.
gcloud
Para definir una política de conmutación por error mediante la CLI de gcloud, actualiza el servicio de backend del balanceador de cargas:
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 cargas. Para el ejemplo, usanetwork-lb
.REGION
es la región del balanceador de cargas. Para el ejemplo, usaus-west1
.FAILOVER_RATIO
es la proporción de conmutación por error. Los valores posibles están entre0.0
y1.0
, incluido. Para el ejemplo, usa0.75
.CONNECTION_DRAINING_TIMEOUT
permite que las conexiones TCP se conserven, incluso en las VM que ya no están en el grupo activo, hasta que dure el tiempo de espera de vaciado de conexiones.
Visualiza 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 existente para un balanceador de cargas de red de transferencia externo.
gcloud
Para mostrar la configuración de la política de conmutación por error mediante la CLI de gcloud, usa el siguiente comando. Si no se define la configuración en una política de conmutación por error, se usan los valores de la política de conmutación por error predeterminados.
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 cargas. Para el ejemplo, usanetwork-lb-backend-service
.REGION
es la región del balanceador de cargas. Para el ejemplo, usaus-west1
.
¿Qué sigue?
- Consulta la descripción general del balanceador de cargas de red de transferencia externo para obtener información básica importante.
- Consulta la página sobre los conceptos de la conmutación por error para balanceadores de cargas de red de transferencia externo a fin de obtener información importante sobre la conmutación por error.
- Consulta Configura un balanceador de cargas de red de transferencia externo para obtener un ejemplo de configuración.