Os Testes de conectividade são uma ferramenta de diagnóstico que permite verificar a conectividade entre os endpoints da rede. Ele analisa a configuração e, em alguns casos, realiza uma análise de plano de dados em tempo real 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), de túneis do Cloud VPN ou de anexos da VLAN. O Connectivity Tests também simula o caminho de encaminhamento de entrada esperado para os recursos na sua rede VPC.
Para alguns cenários de conectividade, o Connectivity Tests também realiza análise de plano de dados em tempo real. 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 pacotes. Se a rota for compatível com o recurso, cada teste que você executar incluirá um resultado de análise do plano de dados em tempo real.
Para saber como criar e executar testes para vários cenários, consulte Criar e executar testes de conectividade.
A API para o Connectivity Tests é a API Network Management. Para saber mais informações, consulte a documentação da API.
Por que usar o Connectivity Tests?
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, 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 o Connectivity Tests analisa 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 possíveis
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 ter muitos caminhos possíveis.
O diagrama a seguir mostra um modelo de como a análise de configuração simula o tráfego de rastreamento entre duas instâncias do Compute Engine: uma à esquerda e outra à direita.
A análise depende da sua infraestrutura de rede
Dependendo da rede 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 Google Cloud ou uma rede VPC com peering antes de chegar à instância de destino do Compute Engine.
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 de estado finito 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 corresponde a várias rotas de acordo com a precedência da rota, Google Cloud pode escolher uma rota entre várias rotas com base em uma função de hash não especificada no plano de dados. Se uma rota com base em políticas estiver configurada, o Testes de conectividade encaminhará o pacote para o próximo salto, que é um balanceador de carga interno.
No caso anterior, o rastreamento dos Testes de conectividade retorna todas as rotas possíveis, mas não pode determinar o método Google Cloud usado para retornar as rotas. Isso ocorre porque esse método é interno ao Google Cloud e 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.
A análise de configuração dos Testes de conectividade ainda pode executar um teste e fornecer um resultado geral de acessibilidade para os serviços gerenciados pelo Google, mas não fornece 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 rastreamento 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 peering de rede VPC.
Semelhante a um teste padrão entre duas instâncias do Compute Engine, as etapas lógicas incluem a verificação das regras de firewall de saída e a rota correspondente. Quando você executa um teste, a análise da 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. O Connectivity Tests não fornece 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.
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:
- Instância do Compute Engine
- Revisão do Cloud Run
- Cloud Run functions (1ª geração)
- Ambiente padrão do App Engine
- Instância do Cloud SQL
- Plano de controle do GKE
- Endereço IP da Internet
- Endereço IP de uma rede local
- Endereço IP de uma instância do Compute Engine
- Endereço IP de uma instância do Cloud SQL
- Endereço IP de um plano de controle do GKE
- Endereço IP não atribuído em uma rede de nuvem privada virtual
Endpoints de destino
A análise de configuração dos Testes de conectividade é compatível com os seguintes endpoints de destino:
- Instância do Compute Engine
- Instância do Cloud SQL
- Plano de controle do GKE
- Balanceador de carga de aplicativo externo e interno
- Balanceador de carga de rede de proxy externo e interno
- Balanceador de carga de rede de passagem externo e interno
- Endpoint do Private Service Connect
- Memorystore for Redis Cluster
- Instância do Memorystore para Redis
- Endereço IP da Internet
- Endereço IP de uma rede local
- Endereço IP de uma regra de encaminhamento
- Endereço IP de uma instância do Compute Engine
- Endereço IP de uma instância do Cloud SQL
- Endereço IP de um plano de controle do GKE
- Endereço IP de um cluster do Memorystore para Redis
- Endereço IP de uma instância do Memorystore para Redis
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):
- Redes VPC
- Peering de rede VPC
- VPC compartilhada
- Acesso privado do Google
- Cloud Load Balancing
- Intervalos de IP de alias
- Endereços IPv4 públicos usados de maneira privada
- Instâncias do Compute Engine com várias interfaces de rede
- Roteamento de VPC
- Regras de firewall da VPC
- Políticas de firewall da rede regional
- Políticas hierárquicas de firewall e Políticas de firewall da rede global
- Tags do Resource Manager para firewalls, incluindo quando anexadas a instâncias do Compute Engine com várias interfaces de rede
- Rotas com base em políticas
- Private Service Connect
- Instâncias com endereços IPv6, incluindo instâncias com várias interfaces de rede
- Spokes de VPC e híbridos para o Network Connectivity Center
- NAT público e NAT particular
- Cloud VPN
- Cloud Interconnect
- Cloud Router, incluindo rotas dinâmicas que usam BGP e rotas estáticas
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:
- Testar a conectividade com os endereços IP do balanceador de carga
- Como verificar a conectividade das verificações de integridade do Cloud Load Balancing com back-ends
- Os balanceadores de carga TCP/UDP internos podem ser usados como próximos saltos
Para recursos do Cloud Load Balancing não suportados, consulte a seção Configurações não suportadas.
Para informações sobre como o Connectivity Tests analisa 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:
- Conectividade com e entre os nós do GKE e o plano de controle do GKE
- Conectividade com o serviço do GKE pelo Cloud Load Balancing
A conectividade com um pod do GKE em um cluster nativo de VPC é compatível. 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 Configurações não suportadas.
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. Para informações gerais sobre como os endereços IP são alocados para endpoints sem servidor, consulte o seguinte:
- Para conectividade externa, consulte Endereços IP.
- Para conectividade por um conector de acesso VPC sem servidor, consulte Enviar tráfego sem servidor para uma rede de nuvem privada virtual.
- Para conectividade por saída direta da VPC, consulte Alocação de endereços IP. Esse tipo de conectividade está disponível apenas para o Cloud Run.
Em alguns casos, a saída direta da VPC 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 suportados, consulte a seção Configurações não suportadas.
Configurações não suportadas
A análise de configuração dos Testes de conectividade não é compatível com o teste das seguintes configurações de rede:
- As regras da política de firewall com objetos de geolocalização, dados de inteligência contra ameaças ou objetos FQDN não são compatíveis. Se esses firewalls puderem afetar um fluxo de tráfego específico, o Connectivity Tests vai retornar um aviso correspondente.
- Não há suporte para back-ends NEG da Internet que segmentam FQDNs. No entanto, os back-ends de NEG da Internet que segmentam endereços IP são aceitos.
- Os balanceadores de carga do Cloud Service Mesh com as regras de encaminhamento
INTERNAL_SELF_MANAGEDnão são compatíveis. - As políticas do Google Cloud Armor não são consideradas ou usadas ao rastrear a conectividade com um endereço IP do balanceador de carga de aplicativo externo.
- Gateways de VPN de alta disponibilidade conectados a instâncias do Compute Engine não são compatíveis.
- As políticas de rede do GKE e as configurações de mascaramento de IP não são consideradas ou usadas ao rastrear a conectividade com endereços IP em clusters e nós do GKE.
- Réplicas de servidores externos do Cloud SQL definidas por nomes de DNS não são compatíveis. No entanto, há suporte para réplicas de servidores externos definidas por endereços IP.
- As funções do Cloud Run (2ª geração) não são compatíveis. No entanto, é possível testar a conectividade de uma função do Cloud Run (2ª geração) criando um teste de conectividade para a revisão subjacente do Cloud Run. Uma revisão do Cloud Run é criada sempre que uma função do Cloud Run é implantada.
- O ambiente flexível do App Engine não é compatível.
- Os jobs do Cloud Run não são compatíveis. Para mais informações, consulte Serviços, jobs e pools de workers: três maneiras de executar seu código.
Como os Testes de conectividade analisam o plano de dados ativo
O recurso de análise do plano de dados em tempo real testa a conectividade enviando vários pacotes de sondagem do endpoint de origem para o destino. Se o destino não for um recurso 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 em tempo real mostram o número de sondagens enviadas, o número de sondagens que chegaram ao destino e um status de acessibilidade. 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 | Nenhum |
| 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 ativos 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 em tempo real 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 em tempo real pode não abranger todos os caminhos de rede possíveis:
- Se o endpoint de destino for um balanceador de carga Google Cloud com vários back-ends, cada sondagem de análise do plano de dados em tempo real será enviada a um back-end aleatório. Alguns back-ends podem ser testados por muitas sondagens, enquanto outros podem não ser testados.
- No caso do roteamento de vários caminhos de custo igual (ECMP), cada sondagem de análise do plano de dados em tempo real é encaminhada por uma rota aleatória. Alguns caminhos de roteamento podem ser testados por muitas sondagens, enquanto outros podem não ser testados.
- O número de sondagens de análise do plano de dados em tempo real 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 ativos, consulte Resolver problemas de teste de conectividade.
Configurações aceitas
A análise do plano de dados em tempo real é 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 em tempo real é compatível com os seguintes endpoints de origem:
- Instância do Compute Engine
- Endpoint sem servidor configurado com um conector de acesso VPC sem servidor e associado a um dos seguintes recursos:
- Instância do Cloud SQL
- Plano de controle do GKE
Endpoints de destino
A análise do plano de dados em tempo real é compatível com os seguintes endpoints de destino:
- Instância do Compute Engine
- Balanceador de carga de rede de passagem interno
- Private Service Connect com um balanceador de carga de rede de passagem interna do produtor
- Endereço IP da Internet, testado no local da borda da rede
- Anexo da VLAN para o Cloud Interconnect
- Endpoint particular associado a um dos seguintes recursos:
- Instância do Cloud SQL
- Memorystore for Redis Cluster
- Instância do Memorystore para Redis
- Plano de controle do GKE
Protocolos
A análise do plano de dados em tempo real é compatível com os protocolos TCP e UDP.
Recursos de rede doGoogle Cloud
A análise do plano de dados em tempo real é compatível com os seguintes recursos:
- Redes VPC
- Peering de rede VPC
- VPC compartilhada
- Spokes de VPC e híbridos no Network Connectivity Center
- Intervalos de IP de alias
- Endereços IP externos
- Endereços IP internos, incluindo endereços IPv4 públicos usados de modo particular
- Instâncias do Compute Engine com várias interfaces de rede
- Roteamento de VPC
- NAT público e NAT particular, exceto NAT64
- Regras de firewall da VPC
- Políticas hierárquicas de firewall, políticas de firewall de rede global e políticas de firewall de rede regional
- Tags seguras para firewalls, incluindo quando anexadas a instâncias do Compute Engine com várias interfaces de rede
- Rotas com base em políticas
- Instâncias com endereços IPv6, incluindo instâncias com várias interfaces de rede
Configurações não suportadas
A análise do plano de dados em tempo real não é compatível e não é executada para as seguintes configurações de rede:
- Recursos que não sãoGoogle Cloud como endpoints de origem:
- Endereços IP da Internet
- Tráfego de entrada para Google Cloud via Cloud Interconnect, Cloud VPN e hubs híbridos do Network Connectivity Center
- Endereços IP não atribuídos em uma rede VPC como endpoints de origem
- Os pontos de extremidade de origem e destino são a mesma instância do Compute Engine
- Instâncias do Compute Engine não em execução
- APIs e serviços do Google
- Balanceador de carga de aplicativo externo e interno
- Balanceador de carga de rede de proxy externo e interno
- Balanceador de carga de rede de passagem externo
- Cloud VPN
- NAT64
Considerações e restrições
Avalie as seguintes considerações ao decidir se deve usar o Connectivity Tests.
- 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 o Connectivity Tests adquira algumas informações dinâmicas de configuração, como o estado do túnel da Cloud VPN e as rotas dinâmicas no Cloud Router, ele não acessa ou 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 deliveredpara 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 em tempo real complementam os resultados da análise de configuração testando se os pacotes transmitidos chegam ao destino.
O Connectivity Tests não tem 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.
O Connectivity Tests não executa 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 inicie a conexão de saída.
A análise do plano de dados em tempo real não é compatível com o teste de rastreamento de conexão do firewall.
O Connectivity Tests não testa instâncias do Compute Engine configuradas para modificar o comportamento de encaminhamento
O Connectivity Tests não testa 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 em tempo real não é compatível com esse tipo de cenário de teste.
Os tempos de resultado do Connectivity Tests podem variar
Os resultados do Connectivity Tests podem levar de 30 segundos a 10 minutos. O tempo necessário para o teste é 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 de VPN na nuvem e balanceadores de carga do Google Cloud.
| Tamanho do projeto | Número de recursos 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 em tempo real não se destina ao monitoramento contínuo
A análise do plano de dados em tempo real realiza uma verificação única da conectividade de rede para fins de diagnóstico. Para monitorar continuamente a conectividade e a perda de pacotes, use o Painel de desempenho.
Suporte do VPC Service Controls
O VPC Service Controls pode fornecer segurança adicional para testes de conectividade a fim de ajudar 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
Identificar e corrigir problemas de ICMP (tutorial)