Este guia usa um exemplo para ensinar a configurar a comutação por falha para um equilibrador de carga de passagem externo com um serviço de back-end. Antes de seguir este guia, familiarize-se com o seguinte:
- Balanceador de carga de rede de passagem externo com uma vista geral do serviço de back-end
- Conceitos de comutação por falha para balanceadores de carga de rede de encaminhamento externo
- Vista geral das regras de firewall
- Conceitos de verificação de saúde
Autorizações
Para seguir este guia, tem de criar instâncias e modificar uma rede num projeto. Deve ser proprietário ou editor do projeto, ou ter todas as seguintes funções do IAM do Compute Engine:
Tarefa | Função necessária |
---|---|
Crie componentes do balanceador de carga | Administrador da rede |
Adicione e remova regras de firewall | Administrador de segurança |
Crie instâncias | Administrador de instâncias do Compute |
Para mais informações, consulte os seguintes guias:
Configuração
Este guia mostra como configurar e testar um Network Load Balancer de encaminhamento externo que usa a comutação por falha. Os passos nesta secção descrevem como configurar o seguinte:
- VMs de back-end:
- Um back-end principal num grupo de instâncias não gerido na zona
us-west1-a
- Um back-end de alternativa num grupo de instâncias não gerido na zona
us-west1-c
- Um back-end principal num grupo de instâncias não gerido na zona
- Regras de firewall que permitem ligações recebidas a VMs de back-end
- Uma VM do cliente para testar as ligações e observar o comportamento de comutação por falha
- Os seguintes componentes do balanceador de carga de rede de encaminhamento externo:
- Uma verificação de funcionamento para o serviço de back-end
- Um serviço de back-end na região
us-west1
para gerir a distribuição de ligações entre as VMs de back-end - Uma regra de encaminhamento e um endereço IP para o front-end do balanceador de carga
A arquitetura para este exemplo tem o seguinte aspeto:
Criar VMs de back-end e grupos de instâncias
Neste passo, vai criar as VMs de back-end e os grupos de instâncias não geridos:
- O grupo de instâncias
ig-a
emus-west1-a
é um back-end principal com duas VMs:vm-a1
vm-a2
- O grupo de instâncias
ig-c
emus-west1-c
é um back-end de comutação por falha com duas VMs:vm-c1
vm-c2
Os back-ends principal e de ativação pós-falha são colocados em zonas separadas para clareza das instruções e para processar a ativação pós-falha caso uma zona fique inativa.
Cada VM principal e de cópia de segurança está configurada para executar um servidor Web Apache na porta 80 de TCP. Por predefinição, o Apache está configurado para ser associado a qualquer endereço IP. Os balanceadores de carga de rede fornecem pacotes preservando o IP de destino.
Certifique-se de que o software do servidor em execução nas VMs principal e de cópia de segurança está a ouvir no endereço IP da regra de encaminhamento do balanceador de carga. O endereço IP de destino de um pacote entregue a uma VM de back-end por um balanceador de carga de rede de passagem externo é o endereço IP da regra de encaminhamento.
Para simplificar as instruções, todas as VMs principais e de cópia de segurança executam o Debian GNU/Linux 9.
Consola
Crie VMs de back-end
- Na Google Cloud consola, aceda à página Instâncias de VM. Aceder às instâncias de VM
- Repita os passos seguintes para criar quatro VMs, usando as seguintes combinações de nomes e zonas.
- Nome:
vm-a1
, zona:us-west1-a
- Nome:
vm-a2
, zona:us-west1-a
- Nome:
vm-c1
, zona:us-west1-c
- Nome:
vm-c2
, zona:us-west1-c
- Nome:
- Clique em Criar instância.
- Defina o Nome conforme indicado no passo 2.
- Para a Região, escolha
us-west1
e escolha uma Zona, conforme indicado no passo 2. - Na secção Disco de arranque, certifique-se de que a imagem selecionada é o Debian GNU/Linux 12 (bookworm). Clique em Escolher para alterar a imagem, se necessário.
- Clique em Opções avançadas.
- Clique em Rede e configure o seguinte campo:
- Para etiquetas de rede, introduza
network-lb
.
- Para etiquetas de rede, introduza
Clique em Gestão. Introduza o seguinte script no campo Script de arranque. O conteúdo do script é idêntico para todas as quatro 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
Clique em Criar.
Crie grupos de instâncias
Na Google Cloud consola, aceda à página Grupos de instâncias.
Repita os passos seguintes para criar dois grupos de instâncias não geridos, cada um com duas VMs, usando estas combinações.
- Grupo de instâncias:
ig-a
, zona:us-west1-a
, VMs:vm-a1
evm-a2
- Grupo de instâncias:
ig-c
, zona:us-west1-c
, VMs:vm-c1
evm-c2
- Grupo de instâncias:
Clique em Criar grupo de instâncias.
Clique em Novo grupo de instâncias não gerido.
Defina o Nome conforme indicado no passo 2.
Na secção Localização, escolha
us-west1
para a Região e, em seguida, escolha uma Zona, conforme indicado no passo 2.Para Rede, introduza
default
.Na secção Instâncias de VM, adicione as VMs conforme indicado no passo 2.
Clique em Criar.
gcloud
Crie quatro VMs executando o seguinte comando quatro vezes, usando estas quatro combinações para
VM-NAME
eZONE
. O conteúdo do script é idêntico para todas as quatro VMs.VM-NAME
devm-a1
eZONE
deus-west1-a
VM-NAME
devm-a2
eZONE
deus-west1-a
VM-NAME
devm-c1
eZONE
deus-west1-c
VM-NAME
devm-c2
eZONE
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'
Crie os dois grupos de instâncias não geridos em 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
Adicione as VMs aos grupos de instâncias adequados:
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 regras de firewall
Crie uma regra de firewall que permita que o tráfego externo alcance as instâncias de back-end.
Consola
Na Google Cloud consola, aceda à página Políticas de firewall.
Clique em Criar regra de firewall para criar a regra que permite tráfego de qualquer origem. Use os seguintes valores:
- Nome:
allow-network-lb
. - Rede:
default
- Prioridade:
1000
- Sentido do tráfego: entrada
- Ação na correspondência: permitir.
- Objetivos: etiquetas de objetivo especificadas
- Etiquetas de segmentação:
network-lb
- Filtro de origem: intervalos IPv4
- Intervalos de IPv4 de origem:
0.0.0.0/0
, que permite tráfego de qualquer origem. Isto permite que o tráfego externo e as sondagens de verificação de estado alcancem as instâncias de back-end. - Protocolos e portas: escolha Protocolos e portas especificados.
Selecione a caixa de verificação TCP e introduza
80
.
- Nome:
Clique em Criar.
Clique novamente em Criar regra de firewall para criar a regra que permite ligações SSH de entrada às instâncias. Use os seguintes valores:
- Nome:
allow-ssh
- Rede:
default
- Prioridade:
1000
- Sentido do tráfego: entrada
- Ação na correspondência: permitir
- Objetivos: etiquetas de objetivo especificadas
- Etiquetas de segmentação:
network-lb
- Filtro de origem: intervalos IPv4
- Intervalos IPv4 de origem:
0.0.0.0/0
- Protocolos e portas: escolha Protocolos e portas especificados.
Selecione a caixa de verificação TCP e introduza
22
.
- Nome:
Clique em Criar.
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 do balanceador de carga
Estes passos configuram os seguintes componentes do balanceador de carga de rede de encaminhamento externo:
Verificação de funcionamento: este exemplo usa uma verificação de funcionamento de HTTP que verifica simplesmente uma resposta HTTP
200
(OK).Serviço de back-end: uma vez que o exemplo passa tráfego HTTP através do balanceador de carga, a configuração especifica TCP e não UDP. Para ilustrar a comutação por falha, este serviço de back-end tem uma taxa de comutação por falha de
0.75
.Regra de encaminhamento: este exemplo cria uma única regra de encaminhamento.
Consola
Inicie a configuração
Na Google Cloud consola, aceda à página Equilíbrio de carga.
- Clique em Criar equilibrador de carga.
- Para Tipo de balanceador de carga, selecione Balanceador de carga de rede (TCP/UDP/SSL) e clique em Seguinte.
- Para Proxy ou passagem, selecione Passagem do balanceador de carga e clique em Seguinte.
- Para Público ou interno, selecione Público (externo) e clique em Seguinte.
- Clique em Configurar.
Configuração do back-end
- Na página Crie um balanceador de carga de rede de encaminhamento externo, introduza um Nome de
tcp-network-lb
para o novo balanceador de carga. - Clique em Configuração de back-end. O nome do equilibrador de carga que introduziu anteriormente é apresentado, mas não é modificável.
- Clique em Configuração de back-end e faça as seguintes alterações:
- Para a Região, selecione us-west1.
- Em Back-ends, use o menu pendente Grupo de instâncias para selecionar
ig-a
. Clique em Concluído. - Clique em Adicionar back-end e repita este passo para adicionar
ig-c
. Selecione a caixa de verificação Use this instance group as a failover group for backup (Usar este grupo de instâncias como um grupo de alternativa para a cópia de segurança). - Em Verificação de funcionamento, escolha Criar outra verificação de funcionamento ou
Criar outra verificação de funcionamento, introduza as seguintes informações:
- Nome:
hc-http-80
- Protocolo:
TCP
- Porta:
80
- Nome:
- Clique em Guardar e continuar.
- Clique em Configurações avançadas.
- Para Rácio de alternativa, introduza
0.75
. - Verifique se existe uma marca de verificação azul junto a Configuração de back-end antes de continuar.
Configuração da interface
- Clique em Configuração do front-end.
- Introduza um Nome de
network-lb-forwarding-rule
. - Em IP, clique no menu pendente e selecione Criar endereço IP.
- No ecrã Reserve um novo endereço IP estático, atribua um
Nome de
network-lb-ip
. - Clique em Reservar.
- No ecrã Reserve um novo endereço IP estático, atribua um
Nome de
- Escolha Único e introduza
80
para o Número da porta. Clique no botão Concluído.
Um círculo azul com uma marca de verificação à esquerda de Configuração do front-end indica uma configuração bem-sucedida.
Reveja a configuração
- Clique no botão Rever e finalizar para verificar todas as definições de configuração do equilibrador de carga.
Se as definições estiverem corretas, clique em Criar. Demora alguns minutos a criar o balanceador de carga.
No ecrã de equilíbrio de carga, na coluna Backend do novo equilibrador de carga, deve ver uma marca de verificação verde a indicar que o novo equilibrador de carga está em bom estado.
gcloud
Crie um endereço IP externo estático para o balanceador de carga.
gcloud compute addresses create network-lb-ip \ --region us-west1
Crie uma nova verificação de funcionamento de HTTP para testar a conetividade TCP às VMs na porta 80.
gcloud compute health-checks create http hc-http-80 \ --region us-west1 \ --port 80
Crie o serviço de back-end para o tráfego 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
Adicione o back-end principal ao serviço de back-end:
gcloud compute backend-services add-backend network-lb-backend-service \ --region us-west1 \ --instance-group ig-a \ --instance-group-zone us-west1-a
Adicione o back-end de alternativa ao serviço de back-end:
gcloud compute backend-services add-backend network-lb-backend-service \ --region us-west1 \ --instance-group ig-c \ --instance-group-zone us-west1-c \ --failover
Crie uma regra de encaminhamento para o serviço de back-end. Use o endereço IP reservado no passo 1 como o endereço IP externo estático do equilibrador 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
Testes
Estes testes mostram como validar a configuração do equilibrador de carga e saber mais sobre o respetivo comportamento esperado.
Envie tráfego para o balanceador de carga
Este procedimento envia tráfego externo para o balanceador de carga. Vai usar este procedimento para concluir os outros testes.
Ligue-se à instância de VM do cliente.
gcloud compute forwarding-rules describe network-lb-forwarding-rule \ --region us-west1
Faça um pedido Web ao equilibrador de carga através de
curl
para contactar o respetivo endereço IP.curl http://IP_ADDRESS
Tenha em atenção o texto devolvido pelo comando
curl
. O nome da VM de back-end que gera a resposta é apresentado nesse texto; por exemplo:Page served from: vm-a1
Testar o estado inicial
Depois de configurar o balanceador de carga de exemplo, todas as quatro VMs de back-end devem estar em bom estado:
- As duas VMs principais,
vm-a1
evm-a2
- As duas VMs de cópia de segurança,
vm-c1
evm-c2
Siga o procedimento de teste para enviar tráfego para o balanceador de carga.
Repita o segundo passo algumas vezes. O comportamento esperado é que o tráfego seja
servido pelas duas VMs principais, vm-a1
e vm-a2
, porque ambas estão
em bom estado. Deve ver cada VM principal a fornecer uma resposta aproximadamente metade das vezes porque não foi configurada nenhuma afinidade de sessão para este equilibrador de carga.
Testar a comutação por falha
Este teste simula a falha de vm-a1
para que possa observar o comportamento de comutação por falha.
Estabeleça ligação à VM
vm-a1
.gcloud compute ssh vm-a1 --zone us-west1-a
Pare o servidor Web Apache. Após dez segundos, Google Cloud considera que esta VM não está em bom estado. (A verificação de funcionamento
hc-http-80
que criou na configuração usa o intervalo de verificação predefinido de cinco segundos e o limite não saudável de duas sondagens com falhas consecutivas.)sudo apachectl stop
Siga o procedimento de teste para enviar tráfego para o balanceador de carga. Repita o segundo passo algumas vezes. O comportamento esperado é que o tráfego seja agora publicado pelas duas VMs de cópia de segurança,
vm-c1
evm-c2
. Uma vez que apenas uma VM principal,vm-a2
, está em bom estado, a proporção de VMs principais em bom estado em relação ao total de VMs principais é de0.5
. Este número é inferior ao limite de comutação por falha de0.75
, pelo que Google Cloud reconfigurou o conjunto ativo do equilibrador de carga para usar as VMs de cópia de segurança. Deve ver cada VM de backup a fornecer uma resposta aproximadamente metade das vezes desde que não tenha sido configurada nenhuma afinidade de sessão para este equilibrador de carga.
Teste de reversão
Este teste simula a reposição reiniciando o servidor Apache em vm-a1
.
Estabeleça ligação à VM
vm-a1
.gcloud compute ssh vm-a1 --zone us-west1-a
Inicie o servidor Web Apache e aguarde 10 segundos.
sudo apachectl start
Siga o procedimento de teste do cliente. Repita o segundo passo algumas vezes. O comportamento esperado é que o tráfego seja publicado pelas duas VMs principais,
vm-a1
evm-a2
. Com ambas as VMs principais em bom estado, a relação entre VMs principais em bom estado e o total de VMs principais é1.0
, superior ao limite de comutação por falha de0.75
, pelo que o Google Cloud configurou o conjunto ativo para usar novamente as VMs principais.
Adicionar mais VMs de back-end
Esta secção expande a configuração de exemplo adicionando mais VMs primárias e de cópia de segurança ao balanceador de carga. Para tal, cria mais dois grupos de instâncias de back-end para demonstrar que pode distribuir VMs primárias e de cópia de segurança por várias zonas na mesma região:
- Um terceiro grupo de instâncias,
ig-d
emus-west1-c
, funciona como um back-end principal com duas VMs:vm-d1
vm-d2
- Um quarto grupo de instâncias,
ig-b
emus-west1-a
, funciona como um back-end de comutação por falha com duas VMs:vm-b1
vm-b2
A arquitetura modificada para este exemplo tem o seguinte aspeto:
Crie VMs e grupos de instâncias adicionais
Siga estes passos para criar as VMs primárias e de backup adicionais, bem como os respetivos grupos de instâncias não geridos.
Consola
Crie VMs de back-end
Na Google Cloud consola, aceda à página Instâncias de VM.
Repita os passos seguintes para criar quatro VMs, usando as seguintes combinações de nomes e zonas.
- Nome:
vm-b1
, zona:us-west1-a
- Nome:
vm-b2
, zona:us-west1-a
- Nome:
vm-d1
, zona:us-west1-c
- Nome:
vm-d2
, zona:us-west1-c
- Nome:
Clique em Criar instância.
Defina o Nome conforme indicado no passo 2.
Para a Região, escolha
us-west1
e escolha uma Zona, conforme indicado no passo 2.Na secção Disco de arranque, certifique-se de que a imagem selecionada é o Debian GNU/Linux 9 Stretch. Clique em Escolher para alterar a imagem, se necessário.
Clique em Opções avançadas.
Clique em Rede e configure o seguinte campo:
- Para etiquetas de rede, introduza
network-lb
.
- Para etiquetas de rede, introduza
Clique em Gestão. Introduza o seguinte script no campo Script de arranque. O conteúdo do script é idêntico para todas as quatro 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
Clique em Criar.
Crie grupos de instâncias
Na Google Cloud consola, aceda à página Grupos de instâncias.
Repita os passos seguintes para criar dois grupos de instâncias não geridos, cada um com duas VMs, usando estas combinações.
- Grupo de instâncias:
ig-b
, zona:us-west1-a
, VMs:vm-b1
evm-b2
- Grupo de instâncias:
ig-d
, zona:us-west1-c
, VMs:vm-d1
evm-d2
- Grupo de instâncias:
Clique em Criar grupo de instâncias.
Clique em Novo grupo de instâncias não gerido.
Defina o Nome conforme indicado no passo 2.
Na secção Localização, escolha
us-west1
para a Região e, em seguida, escolha uma Zona, conforme indicado no passo 2.Para Rede, introduza
default
.Na secção Instâncias de VM, adicione as VMs conforme indicado no passo 2.
Clique em Criar.
gcloud
Crie quatro VMs executando o seguinte comando quatro vezes, usando estas quatro combinações para
VM-NAME
eZONE
. O conteúdo do script é idêntico para todas as quatro VMs.VM-NAME
devm-b1
eZONE
deus-west1-a
VM-NAME
devm-b2
eZONE
deus-west1-a
VM-NAME
devm-d1
eZONE
deus-west1-c
VM-NAME
devm-d2
eZONE
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'
Crie os dois grupos de instâncias não geridos em 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
Adicione as VMs aos grupos de instâncias adequados:
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
Adicionar um back-end principal
Pode usar este procedimento como um modelo para adicionar um grupo de instâncias não gerido ao serviço de back-end de um Network Load Balancer de passagem externo existente como um back-end principal. Para a configuração de exemplo, este procedimento mostra como
adicionar o grupo de instâncias ig-d
como um back-end principal ao equilibrador de carga network-lb
.
Consola
Edite a configuração do balanceador de carga para adicionar um back-end principal.
Na Google Cloud consola, aceda à página Equilíbrio de carga.
Clique no equilibrador de carga que quer modificar.
Clique em Edit.
Clique em Configuração de back-end e faça as seguintes alterações:
- Em Back-ends, clique em Adicionar back-end.
- No menu pendente, selecione o grupo de instâncias a adicionar como um back-end principal. Neste caso,
ig-d
. - Clique em Concluído.
- Verifique se existe uma marca de verificação azul junto a Configuração de back-end antes de continuar.
Reveja a configuração
- Clique no botão Rever e finalizar e confirme que o novo back-end principal está visível em Back-end.
Se as definições estiverem corretas, clique em Criar. Demora alguns minutos a criar o balanceador de carga.
No ecrã de equilíbrio de carga, na coluna Backend do novo equilibrador de carga, deve ver uma marca de verificação verde a indicar que o novo equilibrador de carga está em bom estado.
gcloud
Use o comando gcloud
seguinte para adicionar um back-end principal a um serviço de back-end de um Network Load Balancer de encaminhamento externo existente.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION
where:
BACKEND_SERVICE_NAME
é o nome do serviço de back-end do balanceador de carga. Para o exemplo, usenetwork-lb-backend-service
.INSTANCE_GROUP_NAME
é o nome do grupo de instâncias a adicionar como um back-end principal. Para o exemplo, useig-d
.INSTANCE_GROUP_ZONE
é a zona onde o grupo de instâncias está definido. Para o exemplo, useus-west1-c
.REGION
é a região do balanceador de carga. Para o exemplo, useus-west1
.
Adicionar um back-end de alternativa
Pode usar este procedimento como um modelo para adicionar um grupo de instâncias não gerido ao serviço de back-end de um equilibrador de carga de rede de passagem externo existente como um back-end de failover. Para a configuração de exemplo, este procedimento mostra como adicionar o grupo de instâncias ig-b
como um motor de processamento de reserva ao equilibrador de carga network-lb
.
Consola
Edite a configuração do balanceador de carga para adicionar um back-end principal.
Na Google Cloud consola, aceda à página Equilíbrio de carga.
Clique no equilibrador de carga que quer modificar.
Clique em Edit.
Clique em Configuração de back-end e faça as seguintes alterações:
- Em Back-ends, clique em Adicionar back-end.
- No menu pendente, selecione o grupo de instâncias a adicionar como um back-end de
failover. Neste caso,
ig-b
. - Selecione a caixa de verificação Usar este grupo de instâncias como um grupo de alternativa para cópia de segurança.
- Clique em Concluído.
- Verifique se existe uma marca de verificação azul junto a Configuração de back-end antes de continuar.
Reveja a configuração
- Clique no botão Rever e finalizar e confirme que o novo back-end principal está visível em Back-end.
Se as definições estiverem corretas, clique em Criar. Demora alguns minutos a criar o balanceador de carga.
No ecrã de equilíbrio de carga, na coluna Backend do novo equilibrador de carga, deve ver uma marca de verificação verde a indicar que o novo equilibrador de carga está em bom estado.
gcloud
Use o seguinte comando gcloud
para adicionar um back-end de alternativa
a um serviço de back-end de um Network Load Balancer de passagem 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
where:
BACKEND_SERVICE_NAME
é o nome do serviço de back-end do balanceador de carga. Para o exemplo, usenetwork-lb-backend-service
.INSTANCE_GROUP_NAME
é o nome do grupo de instâncias a adicionar como um back-end de alternativa. Para o exemplo, useig-b
.INSTANCE_GROUP_ZONE
é a zona onde o grupo de instâncias está definido. Para o exemplo, useus-west1-a
.REGION
é a região do balanceador de carga. Para o exemplo, useus-west1
.
Converter um back-end principal ou de alternativa
Pode converter um back-end principal num back-end de alternativa ou vice-versa, sem ter de remover o grupo de instâncias do serviço de back-end do Network Load Balancer de passagem externo.
gcloud
Use o seguinte comando gcloud
para converter um back-end principal existente num back-end de alternativa:
gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --failover
Use o seguinte comando gcloud
para converter um back-end de alternativa existente num back-end 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
where:
BACKEND_SERVICE_NAME
é o nome do serviço de back-end do balanceador de carga.INSTANCE_GROUP_NAME
é o nome do grupo de instâncias.INSTANCE_GROUP_ZONE
é a zona onde o grupo de instâncias está definido.REGION
é a região do balanceador de carga.
Configurar políticas de comutação por falha
Esta secção descreve como gerir uma política de failover para um serviço de back-end de um Network Load Balancer de encaminhamento externo. Uma política de alternativa consiste no seguinte:
- Rácio de comutação por falha
- Diminuir o tráfego quando todas as VMs de back-end estão em mau estado de funcionamento
- Drenagem da ligação na comutação por falha
Para mais informações sobre os parâmetros de uma política de alternativa, consulte:
- Definir uma taxa de alternativa
- Eliminar tráfego quando não existe uma VM em bom estado
- Drenagem de ligações em caso de comutação por falha e recuperação
Definir uma política de alternativa
As instruções seguintes descrevem como definir a política de comutação por falha para um Network Load Balancer de encaminhamento externo existente.
gcloud
Para definir uma política de comutação por falha através da CLI gcloud, atualize o serviço de back-end do 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
where:
BACKEND_SERVICE_NAME
é o nome do serviço de back-end do balanceador de carga. Para o exemplo, usenetwork-lb
.REGION
é a região do balanceador de carga. Para o exemplo, useus-west1
.FAILOVER_RATIO
é a taxa de alternativa. Os valores possíveis estão entre0.0
e1.0
, inclusive. Para o exemplo, use0.75
.- O
CONNECTION_DRAINING_TIMEOUT
permite que as ligações TCP persistam, mesmo em VMs que já não estão no conjunto ativo, durante o período de tempo limite de esgotamento das ligações.
Visualizar uma política de comutação por falha
As instruções seguintes descrevem como ver a política de comutação por falha existente para um balanceador de carga de rede de encaminhamento externo.
gcloud
Para listar as definições da política de comutação por falha através da CLI gcloud, use o seguinte comando. As definições não definidas numa política de alternativa usam os valores predefinidos da política de alternativa.
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION \ --format="get(failoverPolicy)"
where:
BACKEND_SERVICE_NAME
é o nome do serviço de back-end do balanceador de carga. Para o exemplo, usenetwork-lb-backend-service
.REGION
é a região do balanceador de carga. Para o exemplo, useus-west1
.
O que se segue?
- Consulte a vista geral do balanceador de carga de rede de encaminhamento externo para ver os princípios importantes.
- Consulte os conceitos de comutação por falha para balanceadores de carga de rede de encaminhamento externo para ver informações importantes sobre a comutação por falha.
- Consulte o artigo Configure um balanceador de carga de rede de encaminhamento externo para ver um exemplo de configuração.