Solução de problemas de balanceadores de carga de rede de passagem externa regionais

Neste guia, descrevemos como resolver problemas de configuração de um Google Cloud balanceador de carga de rede de passagem externa regional do Google Cloud. Antes de investigar os problemas, conheça as páginas a seguir.:

Resolver problemas comuns com o Network Analyzer

O Network Analyzer monitora automaticamente as configurações da rede VPC e detecta configurações incorretas e não ideais. Ele identifica falhas de rede, fornece informações sobre a causa raiz e sugere possíveis soluções. Para saber mais sobre os diferentes cenários de configuração incorreta que são detectados automaticamente pelo Network Analyzer, consulte Insights do balanceador de carga na documentação do Network Analyzer.

O Network Analyzer está disponível no Google Cloud console como parte do Network Intelligence Center.

Acessar o Network Analyzer

Resolver problemas de configuração

Os back-ends têm modos de balanceamento incompatíveis

Ao criar um balanceador de carga, talvez você veja o erro:

Validation failed for instance group INSTANCE_GROUP:

backend services 1 and 2 point to the same instance group
but the backends have incompatible balancing_mode. Values should be the same.

Isso acontece quando você tenta usar o mesmo back-end em dois balanceadores de carga diferentes, e os back-ends não têm modos de balanceamento compatíveis.

Para ver mais informações, consulte os seguintes tópicos:

Resolver problemas gerais de conectividade

Se você não conseguir se conectar ao balanceador de carga de rede de passagem externa regional, verifique os seguintes problemas comuns:

  • Verifique as regras de firewall.

    • Verifique se as regras de firewall de permissão de entrada estão configuradas para permitir verificações de integridade em VMs de back-end.
    • Verifique se as regras de firewall de permissão de entrada permitem o tráfego nas VMs de back-end dos clientes.
    • Verifique se há regras de firewall relevantes para permitir que o tráfego alcance as VMs de back-end nas portas usadas pelo balanceador de carga.
    • Se você estiver usando tags de destino para as regras de firewall, verifique se as VMs de back-end do balanceador de carga estão marcadas corretamente.

    Para saber como configurar regras de firewall exigidas pelo balanceador de carga de rede de passagem externa regional, consulte Como configurar regras de firewall.

  • Verificar se o agente convidado do Google está em execução na VM de back-end. Se você consegue se conectar a uma VM de back-end íntegra, mas não consegue se conectar ao balanceador de carga, pode ser que o ambiente de convidado (antes chamado de ambiente de convidado do Windows/Linux) da VM não esteja em execução ou não consiga se comunicar com o servidor de metadados (metadata.google.internal, 169.254.169.254).

    Verifique:

    • Verifique se o agente convidado do Google está instalado e em execução na VM de back-end.
    • Verifique se as regras de firewall no sistema operacional convidado da VM de back-end (iptables ou firewall do Windows) não bloqueiam o acesso ao servidor de metadados.
  • Verifique se as VMs de back-end estão aceitando pacotes enviados para o balanceador de carga. Cada VM de back-end precisa ser configurada para aceitar os pacotes enviados ao balanceador de carga. Ou seja, o destino dos pacotes entregues às VMs de back-end é o endereço IP do balanceador de carga. Na maioria das vezes, isso é feito com uma rota local.

    Para VMs criadas com base em Google Cloud imagens, o agente de convidado instala a rota local para o endereço IP do balanceador de carga. As instâncias do Google Kubernetes Engine baseadas em Container-Optimized OS implementam isso usando iptables em vez disso.

    Em uma VM de back-end do Linux, execute o comando a seguir para verificar a presença da rota local. Substitua LOAD_BALANCER_IP pelo endereço IP do balanceador de carga:

    sudo ip route list table local | grep LOAD_BALANCER_IP
    
  • Verifique o endereço IP e a vinculação de porta do serviço nas VMs de back-end. Os pacotes enviados para um balanceador de carga de rede de passagem externa regional chegam às VMs de back-end com o endereço IP de destino do próprio balanceador de carga. Esse tipo de balanceador de carga não é um proxy e esse é o comportamento esperado.

    Para ver os serviços que estão escutando em uma porta, execute o seguinte comando:

    netstat -nl | grep ':PORT'
    

    O software em execução na VM de back-end precisa fazer o seguinte:

    • Detectar (vincular a) o endereço IP do balanceador de carga ou qualquer endereço IP (0.0.0.0 ou ::)
    • Detectar (vincular a) uma porta incluída na regra de encaminhamento do balanceador de carga

    Para testar isso, conecte-se a uma VM de back-end usando SSH ou RDP. Em seguida, execute os seguintes testes usando curl, telnet ou uma ferramenta semelhante:

    • Tente acessar o serviço entrando em contato com ele pelo endereço IP interno da própria VM de back-end, 127.0.0.1 ou localhost.
    • Tente acessar o serviço entrando em contato com ele pelo endereço IP da regra de encaminhamento do balanceador de carga.
  • Verifique se o tráfego da verificação de integridade pode alcançar as VMs de back-end. Para confirmar se o tráfego de verificação de integridade atinge as VMs de back-end, ative a geração de registros de verificação de integridade e pesquise entradas de registro bem-sucedidas.

Resolver problemas de VPC compartilhada

Se você estiver usando a VPC compartilhada e não for possível criar um novo balanceador de carga de rede de passagem externa regional em uma sub-rede específica, uma política da organização pode ser a causa. Na política da organização, adicione a sub-rede à lista de sub-redes permitidas ou entre em contato com o administrador da organização. Para mais informações, consulte a restrição constraints/compute.restrictSharedVpcSubnetworks.

Resolver problemas de failover

Se você configurou o failover para um balanceador de carga de rede de passagem externa regional, use as etapas a seguir para verificar a configuração:

  • Entenda a seleção de back-end e o rastreamento de conexão e os conceitos de failover.
  • Verifique se você designou pelo menos um back-end de failover.
  • Revise quais back-ends estão íntegros usando o Google Cloud console ou gcloud compute backend-services get-health para determinar quais VMs são back-ends qualificados.
  • Verifique se a proporção de failover está definida corretamente.
  • Não recomendamos o uso de grupos gerenciados de instâncias com o escalonamento automático ativado em conjunto com o failover, porque o escalonamento automático muda o número de back-ends principais, de failover ou ambos. Isso pode resultar na mudança inesperada do conjunto de back-ends qualificados, porque a proporção de failover é fixa.
  • Se uma VM cliente também for uma VM de back-end com balanceamento de carga, as conexões com o endereço IP da regra de encaminhamento do balanceador de carga serão enviadas para a própria VM de back-end. Para mais informações, consulte Testar de um único cliente.

Resolver problemas de geração de registros

Se você configurar a geração de registros para um balanceador de carga de rede de passagem externa regional, os seguintes problemas poderão ocorrer:

  • As medições de RTT, como valores de bytes, poderão estar ausentes em alguns dos registros se não houver pacotes suficientes na amostragem para capturar RTT. É mais provável que isso aconteça para conexões de baixo volume.
  • Valores RTT estão disponíveis apenas para fluxos TCP.
  • Alguns pacotes são enviados sem payload. Se houver amostras de pacotes somente de cabeçalho, o valor de bytes será 0.