Neste guia, usamos um exemplo para ensinar como configurar o failover para um balanceador de carga de rede de passagem externa com um serviço de back-end. Antes de seguir as instruções deste guia, familiarize-se com os itens abaixo:
- Balanceador de carga de rede de passagem externa com uma visão geral do serviço de back-end
- Conceitos de failover para balanceadores de carga de rede de passagem externa
- Visão geral das regras de firewall
- Conceitos de verificação de integridade
Permissões
Para seguir este guia, você precisa criar instâncias e modificar uma rede em um projeto. É necessário ser proprietário ou editor de um projeto ou ter todos os papéis do IAM do Compute Engine a seguir:
Tarefa | Papel obrigatório |
---|---|
Criar componentes do balanceador de carga | Administrador de rede |
Adicionar e remover regras de firewall | Administrador de segurança |
Criar instâncias | Administrador da instância da computação |
Para mais informações, consulte estes guias:
Instalação
Neste guia, mostramos como configurar e testar um balanceador de carga de rede de passagem externa que usa failover. Nas etapas desta seção, você fará as configurações do seguinte:
- VMs de back-end:
- Um back-end principal em um grupo de instâncias não gerenciadas na zona
us-west1-a
- Um back-end de failover em um grupo de instâncias não gerenciadas na zona
us-west1-c
- Um back-end principal em um grupo de instâncias não gerenciadas na zona
- Regras de firewall que permitem conexões de entrada com VMs de back-end
- Uma VM cliente para testar conexões e verificar o comportamento do failover
- Os componentes do balanceador de carga de rede de passagem externa a seguir:
- uma verificação de integridade do serviço de back-end
- um serviço de back-end na região
us-west1
para gerenciar a distribuição de conexõ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 deste exemplo é a seguinte:
Como criar VMs de back-end e grupos de instâncias
Nesta etapa, você criará as VMs de back-end e os grupos de instâncias não gerenciadas:
- 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 failover com duas VMs:vm-c1
vm-c2
Os back-ends primário e de failover são colocados em zonas separadas para facilitar o entendimento das instruções e para processar o failover no caso de uma zona ficar inativa.
Cada VM primária e de backup é configurada para executar um servidor da Web Apache na porta TCP 80. Por padrão, o Apache é configurado para ser vinculado a qualquer endereço IP. Os balanceadores de carga de rede enviam pacotes preservando o IP de destino.
Certifique-se de que o software servidor em execução nas suas VMs principais e de backup faz detecções 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 é o endereço IP da regra de encaminhamento.
Para simplificar as instruções, todas as VMs primárias e de backup executam o Debian GNU/Linux 9.
Console
Criar VMs de back-end
- No console do Google Cloud, acesse a página Instâncias de VMs. Acessar instâncias de VM
- Repita as etapas a seguir para criar quatro VMs. Use estas combinações de nome e zona.
- 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 como indicado na etapa 2.
- Em Região, escolha
us-west1
e escolha uma Zona, como indicado na etapa 2. - Na seção Disco de inicialização, verifique se a imagem selecionada é Debian GNU/Linux 10 (buster). Clique em Escolher para alterar a imagem, se necessário.
- Clique em Opções avançadas.
- Clique em Rede e configure o seguinte campo:
- Em Tags de rede, insira
network-lb
.
- Em Tags de rede, insira
Clique em Gerenciamento. Insira o script a seguir no campo Script de inicialização. que é o mesmo para 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.
Criar grupos de instâncias
No Console do Google Cloud, acesse a página Grupos de instâncias.
Repita as etapas a seguir para criar dois grupos de instâncias não gerenciadas com duas VMs cada. Use 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 gerenciadas.
Defina o Nome como indicado na etapa 2.
Na seção Local, escolha
us-west1
como Região e escolha uma Zona, conforme indicado na etapa 2.Em Rede, insira
default
.Na seção Instâncias de VM, adicione as VMs como indicado na etapa 2.
Clique em Criar.
gcloud
Para criar quatro VMs, execute o comando a seguir quatro vezes, usando as quatro combinações de
VM-NAME
eZONE
abaixo. O conteúdo do script é o mesmo para 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-10 \ --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 gerenciadas 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 apropriados:
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
Como configurar regras de firewall
Criar uma regra de firewall que permita que o tráfego externo alcance as instâncias de back-end.
Console
No Console do Google Cloud, acesse a página políticas de Firewall.
Clique em Criar regra de firewall para criar uma regra que permita o tráfego de qualquer origem. Use os valores a seguir:
- Nome:
allow-network-lb
. - Rede:
default
- Prioridade:
1000
- Direção do tráfego: entrada
- Ação na correspondência: permitir.
- Destinos: tags de destino especificadas
- Tags de meta:
network-lb
- Filtro de origem: intervalos IPv4
- Intervalos de IPv4 de origem:
0.0.0.0/0
, que permitem o tráfego de qualquer origem. Isso permite que as sondagens de verificação de integridade e tráfego externo alcancem as instâncias de back-end. - Protocolos e portas: escolha Protocolos e portas especificados.
Marque a caixa de seleção TCP e insira
80
.
- Nome:
Clique em Criar.
Clique em Criar regra de firewall novamente para criar a regra e permitir conexões SSH de entrada para as instâncias. Use os valores a seguir:
- Name:
allow-ssh
- Rede:
default
- Prioridade:
1000
- Direção do tráfego: entrada
- Ação na correspondência: permitir
- Destinos: tags de destino especificadas
- Tags de meta:
network-lb
- Filtro de origem: intervalos IPv4
- Intervalos IPv4 de origem:
0.0.0.0/0
- Protocolos e portas: escolha Protocolos e portas especificados.
Marque a caixa de seleção TCP e insira
22
.
- Name:
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
Como configurar componentes do balanceador de carga
Estas etapas configuram os seguintes componentes do balanceador de carga de rede de passagem externa:
Verificação de integridade: no exemplo, é usada uma verificação de integridade de HTTP que apenas busca uma resposta HTTP
200
(OK).Serviço de back-end: como o exemplo transmite tráfego HTTP por meio do balanceador de carga interno, a configuração especifica TCP, e não UDP. Para ilustrar o failover, esse serviço de back-end tem uma proporção de failover de
0.75
.Regra de encaminhamento: neste exemplo, criamos uma única regra de encaminhamento interna.
Console
Iniciar a configuração
No console do Google Cloud, acesse a página Balanceamento de carga.
- Clique em Criar balanceador de carga.
- Em Tipo de balanceador de carga, selecione Balanceador de carga de rede (TCP/UDP/SSL) e clique em Próxima.
- Em Proxy ou passagem, selecione Balanceador de carga de passagem e clique em Próxima.
- Em Voltado ao público ou interno, selecione Voltado ao público (externo) e clique em Próxima.
- Clique em Configurar.
Configuração de back-end
- Na página Criar balanceador de carga de rede de passagem externa, insira
um Nome de
tcp-network-lb
para o novo balanceador de carga. - Clique em Configuração de back-end. O Nome do balanceador de carga que você inseriu anteriormente é exibido, mas não é possível modificá-lo.
- Clique em Configuração de back-end e faça as alterações a seguir:
- Em Região, selecione us-west1.
- Em Back-ends, use o menu suspenso Grupo de instâncias para
selecionar
ig-a
. Clique em Concluído. - Clique em Adicionar back-end e repita
esta etapa para adicionar
ig-c
. Marque a caixa de seleção Usar este grupo de instâncias como grupo de failover para backup. - Em Verificação de integridade, escolha Criar outra verificação de integridade ou
Criar outra verificação de integridade, insira as informações a seguir:
- Name:
hc-http-80
- Protocolo:
TCP
- Porta:
80
- Name:
- Clique em Salvar e continuar.
- Clique em Configurações avançadas.
- Em Proporção de failover, digite
0.75
. - Verifique se há uma marca de seleção azul ao lado de Configuração do back-end antes de continuar.
Configuração de front-end
- Clique em Configuração de front-end.
- Informe um Nome de
network-lb-forwarding-rule
. - Em IP, clique no menu suspenso e selecione Criar endereço IP.
- Na tela Reservar um novo endereço IP estático, insira o Nome
network-lb-ip
. - Clique em Reservar.
- Na tela Reservar um novo endereço IP estático, insira o Nome
- Escolha Individual e insira
80
no Número da porta. Clique no botão Concluído.
Um círculo azul com uma marca de seleção à esquerda de Configuração de front-end indica o sucesso da configuração.
Analisar a configuração
- Clique no botão Analisar e finalizar para verificar todas as configurações do balanceador de carga.
Se as configurações estiverem corretas, clique em Criar. Leva alguns minutos para que o balanceador de carga seja criado.
Na tela do balanceamento de carga, na coluna "Back-end" do novo balanceador de carga, você verá uma marca de seleção verde. Ela indica que o novo balanceador de carga é íntegro.
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 integridade HTTP para testar a conectividade TCP com as 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 do 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 primário 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 failover 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 do serviço de back-end. Use o endereço IP reservado na etapa 1 como o endereço IP externo estático do 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
Teste
Nos testes a seguir, veja como validar a configuração do balanceador de carga e conheça o comportamento esperado dele.
Enviar tráfego ao balanceador de carga
Este procedimento envia tráfego externo ao balanceador de carga. Use este procedimento para concluir os outros testes.
Conecte-se à instância da VM cliente.
gcloud compute forwarding-rules describe network-lb-forwarding-rule \ --region us-west1
Faça uma solicitação da Web para o balanceador de carga usando
curl
para contatar o endereço IP dele.curl http://IP_ADDRESS
Observe o texto retornado pelo comando
curl
. O nome da VM de back-end que gera a resposta é exibido nesse texto. Por exemplo:Page served from: vm-a1
.
Como testar o estado inicial
Depois de configurar o exemplo de balanceador de carga, todas as quatro VMs de back-end serão íntegras:
- As duas VMs principais,
vm-a1
evm-a2
- As duas VMs de backup,
vm-c1
evm-c2
Siga o procedimento de teste para enviar tráfego para o
balanceador de carga.
Repita a segunda etapa algumas vezes. O comportamento esperado é que o tráfego seja
exibido pelas duas VMs principais, vm-a1
e vm-a2
, porque ambas estão
íntegras. Você verá que cada VM principal exibe uma resposta quase que na metade do
tempo. Isso acontece porque nenhuma afinidade de sessão foi
configurada no balanceador de carga.
Como testar o failover
No teste a seguir, é simulada a falha de vm-a1
para que você veja comportamento do failover.
Conecte-se à VM
vm-a1
.gcloud compute ssh vm-a1 --zone us-west1-a
Interrompa o servidor da Web Apache. Depois de 10 segundos, o Google Cloud considera a VM como não íntegra. A verificação de integridade
hc-http-80
que você criou durante a configuração usa o intervalo de verificação padrão de cinco segundos e o limite de não integridade de duas sondagens com falha consecutivas.sudo apachectl stop
Siga o procedimento de teste para enviar tráfego ao balanceador de carga. Repita a segunda etapa algumas vezes. O comportamento esperado é que o tráfego seja exibido pelas duas VMs de backup,
vm-c1
evm-c2
. Como apenas uma VM principal (vm-a2
) está íntegra, a proporção entre VMs principais íntegras e totais é de0.5
. Esse número é menor que o limite de failover de0.75
. Portanto, o Google Cloud reconfigurou o pool ativo do balanceador de carga para usar as VMs de backup. Você verá cada VM de backup exibir uma resposta quase que na metade do tempo, desde que nenhuma afinidade de sessão tenha sido configurada para o balanceador de carga.
Como testar o failback
No teste a seguir, será reiniciado o servidor Apache em vm-a1
para simular o failback.
Conecte-se à VM
vm-a1
.gcloud compute ssh vm-a1 --zone us-west1-a
Inicie o servidor da Web Apache e aguarde 10 segundos.
sudo apachectl start
Siga o procedimento de teste do cliente. Repita a segunda etapa algumas vezes. O comportamento esperado é que o tráfego seja exibido pelas duas VMs principais,
vm-a1
evm-a2
. Quando ambas as VMs principais estão íntegras, a proporção entre as íntegras e totais é de1.0
, superior ao limite de failover de0.75
. Portanto, o Google Cloud configurou o pool ativo para voltar usar as VMs principais.
Como adicionar mais VMs de back-end
Nesta seção, mais VMs primárias e de backup são adicionadas ao balanceador de carga para ampliar o exemplo de configuração. Isso é feito ao criar mais dois grupos de instâncias de back-end para demonstrar que é possível distribuir VMs primárias e de backup entre várias zonas na mesma região:
- Um terceiro grupo de instâncias,
ig-d
emus-west1-c
, é exibido como um back-end principal com duas VMs:vm-d1
vm-d2
- Um quarto grupo de instâncias,
ig-b
emus-west1-a
, é exibido como um back-end de failover com duas VMs:vm-b1
vm-b2
A arquitetura modificada deste exemplo é assim:
.Criar mais VMs e grupos de instâncias
Siga estas etapas para criar mais VMs primárias e de backup, além dos grupos de instâncias não gerenciadas correspondentes.
Console
Criar VMs de back-end
No console do Google Cloud, acesse a página Instâncias de VMs.
Repita as etapas a seguir para criar quatro VMs. Use estas combinações de nome e zona.
- 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 como indicado na etapa 2.
Em Região, escolha
us-west1
e escolha uma Zona, como indicado na etapa 2.Na seção Disco de inicialização, verifique se a imagem selecionada é Debian GNU/Linux 9 (extensão). Clique em Escolher para alterar a imagem, se necessário.
Clique em Opções avançadas.
Clique em Rede e configure o seguinte campo:
- Em Tags de rede, insira
network-lb
.
- Em Tags de rede, insira
Clique em Gerenciamento. Insira o script a seguir no campo Script de inicialização. que é o mesmo para 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.
Criar grupos de instâncias
No Console do Google Cloud, acesse a página Grupos de instâncias.
Repita as etapas a seguir para criar dois grupos de instâncias não gerenciadas com duas VMs cada. Use 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 gerenciadas.
Defina o Nome como indicado na etapa 2.
Na seção Local, escolha
us-west1
como Região e escolha uma Zona, conforme indicado na etapa 2.Em Rede, insira
default
.Na seção Instâncias de VM, adicione as VMs como indicado na etapa 2.
Clique em Criar.
gcloud
Para criar quatro VMs, execute o comando a seguir quatro vezes, usando as quatro combinações de
VM-NAME
eZONE
abaixo. O conteúdo do script é o mesmo para 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-10 \ --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 gerenciadas 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 apropriados:
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
Como adicionar um back-end primário
Use este procedimento como um modelo para adicionar um grupo de
instâncias não gerenciadas a um serviço de back-end do balanceador de carga de rede atual como
back-end principal. No exemplo de configuração, o procedimento mostra como
adicionar o grupo de instâncias ig-d
como um back-end principal ao balanceador de carga network-lb
.
Console
Edite a configuração do balanceador de carga para adicionar um back-end principal.
No Console do Google Cloud, acesse a página Balanceamento de carga.
Clique no balanceador de carga que você quer modificar.
Clique em Editar.
Clique em Configuração de back-end e faça as alterações a seguir:
- Em Back-ends, clique em Adicionar back-end.
- Na lista suspensa, selecione o grupo de instâncias a ser adicionado
como back-end primário. Nesse caso,
ig-d
. - Clique em Concluído.
- Verifique se há uma marca de seleção azul ao lado de Configuração do back-end antes de continuar.
Analise a configuração
- Clique no botão Analisar e finalizar e confirme se o novo back-end principal está visível em Back-end.
Se as configurações estiverem corretas, clique em Criar. Leva alguns minutos para que o balanceador de carga seja criado.
Na tela do balanceamento de carga, na coluna "Back-end" do novo balanceador de carga, você verá uma marca de seleção verde. Ela indica que o novo balanceador de carga é íntegro.
gcloud
Use o comando gcloud
a seguir para adicionar um back-end primário a um serviço de back-end do balanceador de carga de rede externo de passagem externa.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION
onde:
BACKEND_SERVICE_NAME
é o nome do serviço de back-end do balanceador de carga. No exemplo, usenetwork-lb-backend-service
;INSTANCE_GROUP_NAME
é o nome do grupo de instâncias a ser adicionado como back-end primário. No exemplo, useig-d
;INSTANCE_GROUP_ZONE
é a zona em que o grupo de instâncias é definido. No exemplo, useus-west1-c
;REGION
é a região do balanceador de carga; No exemplo, useus-west1
.
Como adicionar um back-end de failover
Use este procedimento como um modelo para adicionar um grupo de instâncias
não gerenciadas ao serviço de back-end de um balanceador de carga de rede atual como
back-end de failover. No exemplo de configuração, o procedimento mostra como
adicionar o grupo de instâncias ig-b
como um back-end de failover ao balanceador de carga network-lb
.
Console
Edite a configuração do balanceador de carga para adicionar um back-end principal.
No Console do Google Cloud, acesse a página Balanceamento de carga.
Clique no balanceador de carga que você quer modificar.
Clique em Editar.
Clique em Configuração de back-end e faça as alterações a seguir:
- Em Back-ends, clique em Adicionar back-end.
- Na lista suspensa, selecione o grupo de instâncias a ser adicionado como
back-end de failover. Nesse caso,
ig-b
. - Marque a caixa de seleção Usar este grupo de instâncias como grupo de failover para backup.
- Clique em Concluído.
- Verifique se há uma marca de seleção azul ao lado de Configuração do back-end antes de continuar.
Analise a configuração
- Clique no botão Analisar e finalizar e confirme se o novo back-end principal está visível em Back-end.
Se as configurações estiverem corretas, clique em Criar. Leva alguns minutos para que o balanceador de carga seja criado.
Na tela do balanceamento de carga, na coluna "Back-end" do novo balanceador de carga, você verá uma marca de seleção verde. Ela indica que o novo balanceador de carga é íntegro.
gcloud
Use o comando gcloud
a seguir para adicionar um back-end de failover a um serviço de back-end de balanceador de carga de rede 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
onde:
BACKEND_SERVICE_NAME
é o nome do serviço de back-end do balanceador de carga. No exemplo, usenetwork-lb-backend-service
;INSTANCE_GROUP_NAME
é o nome do grupo de instâncias a ser adicionado como back-end de failover. No exemplo, useig-b
;INSTANCE_GROUP_ZONE
é a zona em que o grupo de instâncias é definido. No exemplo, useus-west1-a
;REGION
é a região do balanceador de carga; No exemplo, useus-west1
.
Como converter um back-end primário ou de failover
É possível converter um back-end primário em um de failover ou vice-versa sem precisar remover o grupo de instâncias do serviço de back-end do balanceador de carga de rede.
gcloud
Use o comando gcloud
a seguir para converter um back-end principal em
um back-end de failover:
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 comando gcloud
a seguir para converter um back-end de failover em
um 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
em que:
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 em que o grupo de instâncias é definido;REGION
é a região do balanceador de carga.
Como configurar políticas de failover
Nesta seção, descrevemos como gerenciar uma política de failover de um serviço de back-end do balanceador de carga de rede externo. Uma política de failover consiste no seguinte:
- Proporção de failover
- Descarte do tráfego quando todas as VMs de back-end não forem íntegras
- Redução da conexão em failover
Para mais informações sobre os parâmetros de uma política de failover, consulte:
- Como definir uma proporção de failover
- Como descartar tráfego quando não há VMs íntegras
- Como diminuir conexões no failover e no failback
Como definir uma política de failover
As instruções a seguir descrevem como definir a política de failover de um balanceador de carga de rede de passagem externa atual.
gcloud
Para definir uma política de failover usando a 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
onde:
BACKEND_SERVICE_NAME
é o nome do serviço de back-end do balanceador de carga. No exemplo, usenetwork-lb
;REGION
é a região do balanceador de carga; No exemplo, useus-west1
.FAILOVER_RATIO
é a proporção de failover. Os valores possíveis estão entre0.0
e1.0
, inclusive. No exemplo, use0.75
;CONNECTION_DRAINING_TIMEOUT
permite que as conexões TCP persistam, mesmo em VMs que não estão mais no pool ativo, até o tempo limite de diminuição da conexão.
Como visualizar uma política de failover
Nas instruções a seguir, descrevemos como visualizar a política de failover atual de um balanceador de carga de rede de passagem externa.
gcloud
Para listar as configurações da política de failover usando a CLI gcloud, use o seguinte comando: As configurações não definidas em uma política de failover utilizam os valores padrão.
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION \ --format="get(failoverPolicy)"
em que:
BACKEND_SERVICE_NAME
é o nome do serviço de back-end do balanceador de carga. No exemplo, usenetwork-lb-backend-service
;REGION
é a região do balanceador de carga; No exemplo, useus-west1
.
A seguir
- Para noções básicas importantes, consulte Visão geral do balanceador de carga de rede de passagem externa.
- Consulte Conceitos de failover para balanceadores de carga de rede de passagem externa para informações importantes sobre failover.
- Consulte Configurar um balanceador de carga de rede de passagem externa para ver um exemplo de configuração.