Visão geral dos Testes de Conectividade

Os Testes de Conectividade são uma ferramenta de diagnóstico que permite verificar a conectividade entre os endpoints da rede. Esse recurso revisa a configuração e, em alguns casos, realiza uma análise do plano de dados ativo entre os endpoints. Um endpoint é uma origem ou um destino de tráfego de rede, como uma VM, um cluster do Google Kubernetes Engine (GKE), uma regra de encaminhamento do balanceador de carga ou um endereço IP na internet.

Para analisar as configurações de rede, os Testes de Conectividade simulam o caminho esperado do encaminhamento de um pacote por meio da rede de nuvem privada virtual (VPC, na sigla em inglês), de túneis do Cloud VPN ou de anexos da VLAN. Os Testes de Conectividade também simulam o caminho de encaminhamento de entrada esperado para os recursos na sua rede VPC.

Para alguns cenários de conectividade, os Testes de Conectividade também realiza análise do plano de dados ativo. Esse recurso envia pacotes pelo plano de dados para validar a conectividade e fornece diagnósticos de referência de latência e perda de pacote. Se a rota for compatível com o recurso, cada teste que você executar incluirá um resultado de análise do plano de dados ativo.

Para saber como criar e executar testes para vários cenários, consulte Criar e executar Testes de Conectividade.

A API para os Testes de conectividade é a API Network Management. Para saber mais informações, consulte a documentação da API.

Por que usar os Testes de Conectividade?

Os Testes de Conectividade podem ajudar a resolver os seguintes problemas de conectividade de rede:

  • Configurações inconsistentes não intencionais
  • Configurações obsoletas causadas por migrações ou alterações de configuração de rede
  • Erros de configuração para uma variedade de serviços e funções de rede

Ao testar os serviços gerenciados pelo Google (alfa), os Testes de Conectividade também ajudam a determinar se há algum problema na sua rede VPC ou na rede VPC do Google usadas para os recursos de serviço.

Como os Testes de Conectividade analisam as configurações

Ao analisar as configurações de rede, os Testes de Conectividade usam uma máquina de estado abstrato para modelar como uma rede VPC precisa processar pacotes. OGoogle Cloud processa um pacote em várias etapas lógicas.

A análise pode seguir vários caminhos

Devido à variedade de serviços e recursos de rede VPC compatíveis com a análise de configuração, os pacotes de teste que atravessam várias configurações de rede VPC podem seguir muitos caminhos.

O diagrama a seguir mostra um modelo de como a análise de configuração simula o tráfego de traces entre duas instâncias de máquina virtual (VM, na sigla em inglês) do Compute Engine: uma à esquerda e outra à direita.

A análise depende da sua infraestrutura de rede

Dependendo da rede do Google Cloud e das configurações de recursos, esse tráfego pode passar por um túnel do Cloud VPN, uma rede VPC, um balanceador de carga do Google Cloud ou uma rede VPC com peering antes de chegar à instância de destino do Compute Engine.

A máquina de estado abstrato da rede.
A máquina de estado abstrato da rede (clique para ampliar).

A análise segue um dos muitos estados finitos

O número limitado de etapas entre estados distintos até que um pacote tenha sido entregue ou descartado é modelado como uma máquina de estado finito. Essa máquina pode estar exatamente em um dos muitos estados finitos por vez e pode ter vários estados sucessores.

Por exemplo, quando os Testes de Conectividade correspondem a várias rotas de acordo com a precedência da rota, o Google Cloud pode escolher uma entre várias rotas com base em uma função hash não especificada no plano de dados. Se uma rota com base em políticas estiver configurada, os Testes de conectividade encaminharão o pacote para o próximo salto, que é um balanceador de carga interno.

No caso anterior, o trace dos Testes de Conectividade retorna todas as rotas possíveis, mas não pode determinar o método do Google Cloud usado para retornar as rotas. Isso ocorre porque esse método é interno do Google Cloude está sujeito a mudanças.

Serviços gerenciados pelo Google

Os serviços gerenciados pelo Google, como o Cloud SQL e o Google Kubernetes Engine (GKE), alocam recursos para clientes em projetos e redes VPC de propriedade do Google e gerenciadas por ele. Os clientes não têm permissão para acessar esses recursos.

Os Testes de Conectividade ainda podem executar um teste e fornecer um resultado geral de acessibilidade para os serviços gerenciados pelo Google, mas não fornecem detalhes sobre os recursos testados no projeto do Google.

O diagrama a seguir mostra um modelo de como a análise de configuração simula o tráfego de traces de uma instância do Compute Engine em uma rede VPC de cliente para uma instância do Cloud SQL na rede VPC de propriedade do Google. Neste exemplo, as redes são conectadas por meio do peering de rede VPC.

Semelhante a um teste padrão entre duas instâncias do Compute Engine, as etapas lógicas incluem verificar as regras de firewall de saída e fazer a correspondência da rota. Quando você executa um teste, a análise de configuração dos testes de conectividade fornece detalhes sobre essas etapas. No entanto, para a última etapa lógica de analisar a configuração na rede VPC do Google, a análise fornece apenas um resultado geral de acessibilidade. Os Testes de Conectividade não fornecem detalhes sobre os recursos no projeto do Google porque você não tem permissão para visualizá-los.

Para mais informações, consulte os exemplos de teste em Testar a conectividade de e para os serviços gerenciados pelo Google.

A máquina de estado abstrato da rede para serviços gerenciados pelo Google.
A máquina de estado abstrato da rede para serviços gerenciados pelo Google (clique para ampliar).

Configurações aceitas

A análise de configuração dos Testes de Conectividade é compatível com o teste das configurações de rede descritas nas seções a seguir.

Endpoints de origem

A análise de configuração dos Testes de Conectividade é compatível com os seguintes endpoints de origem:

Endpoints de destino

A análise de configuração dos Testes de Conectividade é compatível com os seguintes endpoints de destino:

Recursos de rede doGoogle Cloud

É possível testar a conectividade entre recursos que usam os seguintes atributos (IPv4 e IPv6 são aceitos sempre que aplicável):

Considerações sobre o Cloud Load Balancing

Para o Cloud Load Balancing, a análise de configuração dos Testes de Conectividade é compatível com os seguintes recursos:

Para recursos do Cloud Load Balancing não suportados, consulte a seção de configurações incompatíveis.

Para informações sobre como os Testes de Conectividade analisam os back-ends de um balanceador de carga, consulte Número de traces em um teste para um balanceador de carga.

Considerações sobre o Google Kubernetes Engine

Para o GKE, a análise de configuração dos Testes de Conectividade é compatível com os seguintes recursos:

A conectividade com um pod do GKE em um cluster nativo de VPC tem suporte. No entanto, alguns recursos de rede do GKE, como políticas de rede do GKE, não são compatíveis.

Para recursos do GKE que não são suportados, consulte a seção de configurações incompatíveis.

Considerações sobre endpoints sem servidor

Os endereços IP de origem dos endpoints sem servidor geralmente não são deterministas. Para cada execução de teste, os Testes de Conectividade selecionam um endereço IP aleatório do pool de endereços disponíveis para o endpoint sem servidor. Se quiser informações gerais sobre como os endereços IP são alocados para endpoints sem servidor, consulte o seguinte:

Em alguns casos, a saída da VPC direta e os conectores de acesso VPC sem servidor são configurados para rotear o tráfego de endpoints sem servidor por conectividade externa em vez da rede de nuvem privada virtual, dependendo das configurações de saída.

Para recursos sem servidor que não são compatíveis, consulte a seção de configurações incompatíveis.

Configurações incompatíveis

A análise de configuração dos Testes de Conectividade não pode ser usada para testar as seguintes configurações de rede:

Como os Testes de Conectividade analisam o plano de dados ativo

O recurso de análise do plano de dados ativo testa a conectividade enviando vários pacotes de sondagem do endpoint de origem para o destino. Se o destino não for um recurso do Google Cloud , a conectividade será testada entre o endpoint de origem e o local de borda da rede.

Os resultados da análise do plano de dados ativo mostram o número de sondagens enviadas, o número de sondagens que chegaram ao destino e um status de alcance. Esse status é determinado com base em quantas sondagens foram entregues com êxito, conforme descrito na tabela a seguir.

Status Número de sondagens que chegaram ao destino
Acessível Pelo menos 95%
Inacessível Nenhuma
Parcialmente acessível Mais de 0 e menos de 95%

Além de mostrar quantos pacotes foram entregues com sucesso, a análise do plano de dados ativo também mostra informações de latência unidirecional e mediana do 95º percentil. Quando o destino é um endereço IP da internet, a análise do plano de dados ativo envia sondagens e mostra os resultados de cada roteador de borda da rede do Google por onde o tráfego pode ser encaminhado.

Limitações

A análise do plano de dados ativo talvez não abranja todos os caminhos de rede possíveis:

  • Se o endpoint de destino for um balanceador de carga do Google Cloud com vários back-ends, cada sondagem de análise do plano de dados ativo será enviada a um back-end aleatório. Alguns back-ends podem ser testados por muitas sondagens, enquanto outros talvez não sejam testados.
  • No caso do roteamento de vários caminhos de custo igual (ECMP, na sigla em inglês), cada sondagem de análise do plano de dados ativo é encaminhada por uma rota aleatória. Alguns caminhos de roteamento podem ser testados por muitas sondagens, enquanto outros talvez não sejam testados.
  • O número de sondagens de análise do plano de dados ativo não depende do número de caminhos de rede existentes, e pode não haver um número suficiente de sondagens para testar cada caminho possível.

Se você identificar discrepâncias aparentes entre a análise de configuração e os resultados da análise do plano de dados ativo, consulte Resolver problemas de Testes de Conectividade.

Configurações aceitas

A análise do plano de dados ativo é compatível com um subconjunto das configurações testadas pela análise de configuração dos Testes de Conectividade.

Endpoints de origem

A análise do plano de dados ativo é compatível com os seguintes endpoints de origem:

Endpoints de destino

A análise do plano de dados ativo é compatível com os seguintes endpoints de destino:

Protocolos

A análise do plano de dados ativo é compatível com os protocolos TCP e UDP.

Recursos de rede doGoogle Cloud

A análise do plano de dados ativo é compatível com os seguintes recursos:

Configurações incompatíveis

A análise do plano de dados ativo não é compatível e não é executada para as seguintes configurações de rede:

Considerações e restrições

Avalie as seguintes considerações ao decidir se deve usar os Testes de Conectividade.

  • A análise de configuração que os Testes de Conectividade realizam é inteiramente com base nas informações de configuração dos recursos do Google Cloud e pode não representar a condição ou o status real do plano de dados de uma rede VPC.
  • Embora os Testes de Conectividade adquiram algumas informações dinâmicas de configuração, como o estado do túnel do Cloud VPN e as rotas dinâmicas no Cloud Router, eles não acessam nem mantêm o estado de integridade da infraestrutura de produção interna do Google e dos componentes do plano de dados.
  • Um status de Packet could be delivered para um Teste de Conectividade não garante que o tráfego possa passar pelo plano de dados. O objetivo do teste é validar problemas de configuração que podem causar queda de tráfego.

Para rotas compatíveis, os resultados da análise do plano de dados ativo complementam os resultados da análise de configuração testando se os pacotes transmitidos chegam ao destino.

Os Testes de Conectividade não têm conhecimento de redes fora do Google Cloud

Redes externas são definidas da seguinte maneira:

  • redes locais que residem em seu data center ou em outras instalações em que você opera seus dispositivos de hardware e aplicativos de software;
  • outros provedores de nuvem em que você executa recursos;
  • um host na Internet que envia tráfego para sua rede VPC.

Os Testes de Conectividade não executam rastreamento de conexão de firewall

O rastreamento de conexão para firewalls da VPC armazena informações sobre conexões novas e estabelecidas e permite permitir ou restringir o tráfego subsequente com base nessas informações.

A análise de configuração dos Testes de Conectividade não oferece suporte de rastreamento de conexões de firewall porque a tabela de conexões de firewall está localizada no plano de dados de uma instância do Compute Engine e é inacessível. No entanto, a análise de configuração pode simular o rastreamento de conexões, permitindo uma conexão de retorno que normalmente seria negada por uma regra de firewall de entrada, desde que os Testes de Conectividade iniciem a conexão de saída.

A análise do plano de dados ativo não é compatível com o teste de rastreamento de conexão do firewall.

Os Testes de Conectividade não testam instâncias do Compute Engine configuradas para modificar o comportamento de encaminhamento

Os Testes de Conectividade não testam instâncias do Compute Engine configuradas para atuar no plano de dados como roteadores, firewalls, gateways NAT ou VPNs. Esse tipo de configuração dificulta a avaliação do ambiente em execução na instância do Compute Engine. Além disso, a análise do plano de dados ativo não é compatível com esse tipo de cenário de teste.

Os tempos de resultado dos Testes de Conectividade podem variar

Os resultados dos Testes de Conectividade podem levar de 30 segundos a 10 minutos. O tempo necessário é baseado no tamanho da sua configuração de rede VPC e no número de recursos do Google Cloud que você usa.

A tabela a seguir mostra os tempos de resposta que você pode esperar para todos os usuários executando um teste em uma configuração de amostra em uma consulta. Essa configuração contém instâncias do Compute Engine, um túnel do Cloud VPN e balanceadores de carga do Google Cloud.

Tempos de resposta por consulta
Tamanho do projeto Número de recursos do Google Cloud Latência de resposta
Projeto pequeno Menos de 50 60 segundos para 95% das consultas de todos os usuários
Projeto médio Maior que 50, mas menor que 5.000 120 segundos para 95% das consultas de todos os usuários
Projeto grande Maior que 5.000 600 segundos para 95% das consultas de todos os usuários

A análise do plano de dados ativo não se destina ao monitoramento contínuo

A análise do plano de dados ativo realiza uma verificação única da conectividade de rede para fins de diagnóstico. Para monitorar continuamente a conectividade e a perda de pacote, use o Painel de Desempenho.

Suporte do VPC Service Controls

O VPC Service Controls pode fornecer segurança adicional para Testes de Conectividade, ajudando a reduzir o risco de exfiltração de dados. Ao usá-lo, é possível adicionar projetos a perímetros de serviço. Isso protege recursos e serviços contra solicitações que vêm de fora desses perímetros.

Para saber mais sobre perímetros de serviço, consulte a página Detalhes e configuração do perímetro de serviço na documentação do VPC Service Controls.

A seguir