Uma análise de configuração dos Testes de conectividade passa por uma série de estados de teste ao verificar a configuração de cada recurso do Google Cloud em um caminho de rede de uma origem designada a um destino designado. Use esta referência para interpretar esses estados.
Para mais informações sobre o Connectivity Tests, incluindo detalhes sobre a análise do plano de dados em tempo real, consulte a visão geral.
Estados de teste
Uma análise da configuração de Teste de conectividade fornece dados para os seguintes estados de teste na ordem listada:
- Estado inicial
- Estado de verificação da configuração
- Estado de encaminhamento
- Estado de transição
- Estado especial
- Estado final
- Resultado geral de acessibilidade
Alguns desses estados aparecem em todos os traces, enquanto outros aparecem apenas ao testar a configuração de um recurso específico do Google Cloud ou ao executar uma determinada tarefa.
O estado final e o resultado de acessibilidade geral fornecem a saída de teste mais importante.
Além disso, a saída do teste pode incluir metadados para recursos do Google Cloud associados a um ou mais estados. Por exemplo, informações sobre o nome e o endereço IP de uma instância de máquina virtual (VM).
Como a análise de configuração avalia a acessibilidade
A análise de configuração simula um pacote de teste por um caminho de rede verificando as configurações dos recursos do Google Cloud nesse caminho. Alguns exemplos de configurações de rede inválidas são uma regra de encaminhamento do Cloud Load Balancing que não tem back-ends ou uma rota de rede que não existe
Durante o estado de verificação da configuração, os Testes de conectividade coletam informações sobre rotas de rede, como rotas configuradas pelo usuário, rotas dinâmicas com base em divulgações do BGP ou rotas baseadas em políticas. Em seguida, a análise de configuração escolhe uma rota de rede com base na aplicabilidade e na ordem.
Para o estado de verificação da configuração, verified
significa
que os Testes de conectividade confirmam que uma configuração do
recurso do Google Cloud testado é válida. A configuração permite que o
pacote de teste simulado continue pelo caminho de rede sendo testado.
Para regras de firewall de entrada e saída, verified
significa que a análise de configuração confirma que a regra de firewall é válida.
A regra de firewall permite que o pacote de teste simulado seja aprovado.
Se os testes de conectividade determinarem que uma configuração é inválida,
o pacote terá um estado final de Drop
.
Resultado geral de acessibilidade
A análise de configuração fornece um resumo geral do status de acessibilidade, também conhecido como resultado. Os resultados podem ter um dos quatro valores: Reachable
, Unreachable
, Ambiguous
e Undetermined
.
Tabela de valores
A tabela a seguir descreve o valor para cada tipo de resultado geral de acessibilidade.
Resultado geral de acessibilidade | Descrição |
---|---|
Reachable |
Há dois cenários possíveis. Nos dois cenários,
os testes de conectividade não encontram nenhum problema de configuração.
Portanto, os dois cenários são considerados Reachable .
|
Unreachable |
O pacote originário da origem precisa ser descartado antes de chegar ao destino. O estado final de todos os traces é
Drop . |
Ambiguous |
Esse resultado será retornado se os endpoints de origem e de destino
não identificarem exclusivamente o local de teste na rede e o resultado de alcance
geral contiver vários traces com estados mistos
de Nesse caso, os estados finais entre vários traces retornam diferentes
estados finais. O resultado |
Undetermined |
A acessibilidade não pôde ser determinada. O estado final de um trace é A acessibilidade da origem ao destino não pode ser determinada por um dos seguintes motivos:
|
Vários traces
Cada análise de configuração pode conter vários traces, e o estado final desses traces pode não ser o mesmo. Por exemplo, um pacote para
o VIP de um balanceador de carga do Google Cloud pode ter traces n
se houver
instâncias de VM de back-end n
configuradas para o balanceador de carga. Esses traces n
podem não ter os mesmos estados finais.
Como uma análise pode produzir vários traces possíveis, o seguinte é verdadeiro:
- Se houver apenas um resultado de trace, o resultado geral da acessibilidade será o mesmo que o estado final do trace.
- Se houver vários resultados de trace, o resultado geral de acessibilidade será calculado com base na distribuição dos estados finais contidos em todos os traces.
Metadados do resultado
Além do resultado de acessibilidade geral para traces, todos os resultados do teste contêm os seguintes metadados:
- A hora em que o estado do teste foi verificado
- Detalhes do erro de uma falha ou cancelamento do teste
- Detalhes do trace para cada um deles
Os detalhes do erro de uma falha ou cancelamento do teste são mostrados como códigos e mensagens
exibidos no resultado geral de acessibilidade. Por exemplo, um teste com um estado final de Abort
pode mostrar uma mensagem de erro como Failed to pull initial config. An internal error occurred.
Estado inicial
Durante o estado inicial, a análise da configuração simula o início em um endpoint da rede.
Message | Descrição |
---|---|
START_FROM_INSTANCE |
O pacote se originou de uma instância do Compute Engine.
Os metadados InstanceInfo foram preenchidos pelos Testes de conectividade. |
START_FROM_INTERNET |
O pacote se originou da internet.
Os metadados EndpointInfo foram preenchidos pelos Testes de conectividade. |
START_FROM_PRIVATE_NETWORK |
O pacote se originou de uma rede VPC ou de uma rede local com um endereço IP de origem interno. Se a origem era uma rede VPC visível para o usuário, os metadados NetworkInfo foram preenchidos com detalhes da rede pelos Testes de conectividade. |
START_FROM_CLOUD_FUNCTION |
O pacote se originou de uma função do Cloud Run.
Os metadados CloudFunctionInfo
foram preenchidos pelos Testes de conectividade. |
START_FROM_CLOUD_RUN_REVISION |
O pacote se originou de uma revisão de um
serviço do Cloud Run.
Os metadados CloudRunRevisionInfo
foram preenchidos pelos Testes de conectividade. |
START_FROM_APP_ENGINE_VERSION |
O pacote é originado de uma versão de um serviço do ambiente padrão do App Engine.
Os metadados AppEngineVersionInfo
foram preenchidos pelos Testes de conectividade. |
Estado final
Há quatro estados finais: Drop
, Abort
,
Forward
e Deliver
. Cada uma das
seções a seguir tem uma tabela que contém mensagens e descrições para cada
estado.
Soltar
Os Testes de conectividade soltaram o pacote de teste simulado porque o destino do teste estava inacessível pelos seguintes motivos.
Mensagem | Descrição |
---|---|
UNKNOWN_EXTERNAL_ADDRESS |
O endereço externo de destino não pôde ser resolvido para um destino conhecido. |
FOREIGN_IP_DISALLOWED |
A instância da VM só pode enviar ou receber um pacote com um endereço IP externo se ip_forward estiver ativado. Em outras
palavras, o endereço IP externo falhou em uma
verificação de spoofing. |
FIREWALL_RULE |
Descartado devido a uma regra de firewall a menos que permitido devido a um rastreamento de conexão. Os testes de conectividade podem negar um pacote de teste porque ele corresponde a uma regra de firewall de bloqueio. No entanto, o plano de dados real pode permitir a passagem do pacote devido ao rastreamento de conexão na regra de firewall. O rastreamento de conexão permite que os pacotes de uma conexão existente retornem na regra de firewall. |
NO_ROUTE |
Ignorado por ausência de rotas. |
ROUTE_BLACKHOLE |
Descartado porque o próximo salto da rota correspondente não existe. |
ROUTE_WRONG_NETWORK |
O pacote foi enviado para a rede errada (não intencional), conforme mostrado em Detectar configurações inválidas ou inconsistentes. |
PRIVATE_TRAFFIC_TO_INTERNET |
Um pacote com um endereço de destino interno foi enviado para um gateway da Internet. |
PRIVATE_GOOGLE_ACCESS_DISALLOWED |
Uma instância de VM com apenas um endereço IP interno tentou acessar uma API ou Serviço do Google, mas o Acesso privado do Google não estava ativado. |
NO_EXTERNAL_ADDRESS |
Uma instância de VM com apenas um endereço IP interno tentou acessar hosts externos por meio de uma rota que tem o gateway de Internet padrão como próximo salto. Esperado quando o Cloud NAT não está ativado na sub-rede ou quando não há outra rota padrão que use um tipo diferente de próximo salto (como uma VM de proxy). |
UNKNOWN_INTERNAL_ADDRESS |
Um endereço interno de destino não pôde ser resolvido para um destino conhecido. |
FORWARDING_RULE_MISMATCH |
O protocolo e as portas de uma regra de encaminhamento não coincidem com o cabeçalho do pacote ou o pacote não se origina ou não é direcionado para a mesma região que o balanceador de carga regional. |
FORWARDING_RULE_NO_INSTANCES |
Uma regra de encaminhamento não tinha back-end configurados. |
FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK |
Uma regra de firewall bloqueou as sondagens da verificação de integridade para os back-ends e fizeram com que eles estivessem indisponíveis para o tráfego do balanceador de carga. Como parte da sequência de teste do Cloud Load Balancing, a análise de configuração verifica se as regras de firewall atuais foram configuradas para permitir que um pacote de sondagem de verificação de integridade seja enviado aos back-ends do Cloud Load Balancing. Essa
verificação de configuração resulta em um |
INSTANCE_NOT_RUNNING |
Um pacote foi enviado de ou para uma instância de VM que não estava em um estado de execução. |
TRAFFIC_TYPE_BLOCKED |
O tipo de tráfego foi bloqueado e o usuário não pôde configurar uma regra de firewall para habilitá-lo. Para detalhes, consulte Tráfego sempre bloqueado. |
GKE_MASTER_UNAUTHORIZED_ACCESS |
O acesso ao endpoint do painel de controle do Google Kubernetes Engine não foi autorizado. Para detalhes, consulte Acesso aos endpoints do cluster. |
DROPPED_INSIDE_GKE_SERVICE |
Um pacote foi eliminado no serviço do Google Kubernetes Engine. |
CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS |
O acesso ao endpoint da instância do Cloud SQL não é autorizado. Para detalhes, consulte Como autorizar com redes autorizadas. |
DROPPED_INSIDE_CLOUD_SQL_SERVICE |
Um pacote foi eliminado no serviço do Cloud SQL. |
GOOGLE_MANAGED_SERVICE_NO_PEERING |
Um pacote foi eliminado porque não há peering entre a rede de origem e a rede de serviços gerenciados pelo Google. |
CLOUD_SQL_INSTANCE_NO_IP_ADDRESS |
Um pacote foi eliminado porque a instância do Cloud SQL não tem um endereço IP privado ou público. |
PSC_CONNECTION_NOT_ACCEPTED |
Um pacote foi eliminado porque a conexão com o serviço publicado que usa o Private Service Connect não foi aceita. |
CLOUD_FUNCTION_NOT_ACTIVE |
Um pacote foi descartado porque a função do Cloud Run não está ativa. |
VPC_CONNECTOR_NOT_SET |
Um pacote foi descartado porque o serviço do ambiente padrão do App Engine, a função do Cloud Run ou a revisão do Cloud Run não tem um conector de acesso VPC sem servidor configurado. |
VPC_CONNECTOR_NOT_RUNNING |
Um pacote foi eliminado porque o conector de acesso VPC sem servidor não está em execução. |
CLOUD_RUN_REVISION_NOT_READY |
Um pacote foi descartado porque a revisão do Cloud Run não está pronta e não pode exibir tráfego. |
Cancelar
A análise da configuração foi interrompida devido à falta de informações básicas, como falta de acesso à configuração da rede.
Esse estado geralmente ocorre quando os Testes de conectividade não têm as permissões corretas para conseguir a configuração do projeto host para um projeto de serviço, conforme mostrado na tabela a seguir.
Mensagem | Descrição |
---|---|
UNKNOWN_NETWORK |
Interrompido devido a uma rede desconhecida. A análise não pode continuar porque, em uma rede VPC compartilhada, o usuário que executa o teste não tem acesso às configurações de rede do projeto host, incluindo regras e rotas de firewall. A execução de um teste de conectividade exige que o usuário que está executando o teste possa ler as configurações de recursos, como rotas no projeto host. Isso acontece porque os recursos de rede são alocados no projeto host, mas os recursos reais existem no projeto de serviço. |
UNKNOWN_IP |
A análise foi cancelada porque os endereços IP necessários para a análise eram desconhecidos. Isso se deve à entrada incorreta do usuário ou à análise da configuração não conseguiu determinar um endpoint válido com base nos parâmetros de entrada fornecidos. Em uma rede VPC compartilhada, o usuário que executa o teste não teve acesso às configurações de rede do projeto host. Esse acesso é necessário para testar os endereços IP no projeto de serviço. |
UNKNOWN_PROJECT |
A análise foi interrompida porque nenhuma informação do projeto pôde ser derivada da entrada para o Teste de conectividade. Isso ocorre devido à entrada incorreta do usuário ou, com base nos parâmetros de entrada fornecidos, a análise não conseguiu determinar um projeto válido. |
PERMISSION_DENIED |
A análise foi interrompida porque o usuário não tinha permissão para acessar todas ou parte das configurações de rede necessárias para executar o teste. |
NO_SOURCE_LOCATION |
A análise foi interrompida porque nenhum endpoint de origem válido pôde ser derivado da entrada de teste. Isso ocorre devido à entrada incorreta do usuário ou, com base nos parâmetros de entrada fornecidos, a análises não conseguiu determinar um endpoint de origem válido. |
INVALID_ARGUMENT |
A análise foi interrompida porque o endpoint de origem e/ou destino especificado na entrada de teste era inválido. Os possíveis motivos para esta mensagem incluem o seguinte:
|
NO_EXTERNAL_IP |
A análise foi cancelada porque o tráfego foi enviado de um endereço IP público para uma instância de VM que não tinha um endereço IP externo. |
UNINTENDED_DESTINATION |
A análise foi interrompida porque nenhum dos traces conseguiu corresponder às informações de destino especificadas na entrada de teste. |
TRACE_TOO_LONG |
A análise foi interrompida porque o número de etapas no trace excedeu um certo limite. Esse problema pode ser causado por um loop de roteamento. |
INTERNAL_ERROR |
Cancelada devido a um erro interno do servidor. |
SOURCE_ENDPOINT_NOT_FOUND |
Cancelada porque o endpoint de origem não foi encontrado. |
MISMATCHED_SOURCE_NETWORK |
Cancelada porque a rede de origem não corresponde ao endpoint de origem. |
DESTINATION_ENDPOINT_NOT_FOUND |
Cancelada porque o endpoint de destino não foi encontrado. |
MISMATCHED_DESTINATION_NETWORK |
Cancelada porque a rede de destino não corresponde ao endpoint de destino. |
Encaminhar
A análise foi interrompida em um endpoint específico e não foi possível avançar:
- A análise é parcialmente concluída com base nas configurações em que o usuário tem permissão.
- O pacote de teste foi encaminhado para uma rede com uma configuração desconhecida.
- O destino do teste não foi descartado de acordo com a configuração conhecida e o pacote de teste foi encaminhado para uma rede na qual os Testes de conectividade não têm visibilidade.
Mensagem | Encaminhado |
---|---|
PEERING_VPC |
Para uma rede VPC com peering |
VPN_GATEWAY |
Para um gateway do Cloud VPN |
INTERCONNECT |
Para uma conexão do Cloud Interconnect |
GKE_MASTER |
Para um plano de controle do GKE |
IMPORTED_CUSTOM_ROUTE_NEXT_HOP |
Para o próximo salto de uma rota personalizada importada de uma rede VPC emparelhada |
CLOUD_SQL_INSTANCE |
Para uma instância do Cloud SQL |
Entregar
A análise conseguiu alcançar o destino e entregar o pacote de teste simulado.
Um estado final de Deliver
não garante que o tráfego passe pelo plano de dados. O objetivo da análise é validar problemas de configuração que podem causar queda no tráfego.
Mensagem | Meta |
---|---|
INSTANCE |
Uma instância de VM do Compute Engine |
INTERNET |
A Internet |
GOOGLE_API |
Uma API do Google |
GKE_MASTER |
Um plano de controle do GKE |
CLOUD_SQL_INSTANCE |
Uma instância do Cloud SQL |
PSC_GOOGLE_API |
Todas as APIs e os serviços do Google que usam o Private Service Connect |
PSC_VPC_SC |
VPC Service Controls que usam o Private Service Connect |
PSC_PUBLISHED_SERVICE |
Um serviço publicado que usa o Private Service Connect |
Metadados
A análise de configuração mostra os metadados a seguir para o estado final.
Nome de metadados | Descrição |
---|---|
AbortInfo |
Causa de um estado final Abort e do URI do recurso que causou esse estado. |
DropInfo |
Causa de um estado final Drop e do URI do recurso que causou esse estado. |
ForwardInfo |
O tipo de destino e o URI do recurso de destino para o qual um pacote de teste foi finalmente encaminhado (estado final Forward ). |
Outros estados
Antes que o pacote de teste alcance um dos estados finais, ele passa pelos seguintes estados intermediários: estado de verificação de configuração, estado de encaminhamento, estado de transição e estado especial.
Estado de verificação da configuração
Durante o estado de verificação da configuração, os Testes de conectividade verificam a configuração dos recursos do Google Cloud no caminho da rede simulado, se a configuração do recurso é válida e se a configuração permite que o pacote de teste simulado continue no caminho da rede.
Se necessário, a análise da configuração realizará uma verificação de spoofing.
Message | Descrição |
---|---|
APPLY_INGRESS_FIREWALL_RULE |
Regra de firewall de entrada verificada. |
APPLY_EGRESS_FIREWALL_RULE |
Regra de firewall de saída verificada. |
APPLY_ROUTE |
Rota verificada. |
APPLY_FORWARDING_RULE |
Regra de encaminhamento correspondente. |
SPOOFING_APPROVED |
O pacote foi enviado ou recebido sob um endereço IP estrangeiro, mas permitido. Para detalhes, consulte verificação de spoofing. |
Estado de encaminhamento
Durante o estado de encaminhamento, os testes de conectividade simulam um pacote que chega a um recurso intermediário do Google Cloud no caminho de teste (por exemplo, um pacote que chega em um gateway de VPN em nuvem ou um balanceador de carga do Google Cloud).
Mensagem | Descrição |
---|---|
ARRIVE_AT_INSTANCE |
Chegou em uma instância da VM do Compute Engine. |
ARRIVE_AT_INTERNAL_LOAD_BALANCER |
Chegou a um balanceador de carga do Google Cloud que usa um endereço IP privado como VIP. |
ARRIVE_AT_EXTERNAL_LOAD_BALANCER |
Chegou ao endereço IP público de um balanceador de carga do Google Cloud. |
ARRIVE_AT_VPN_GATEWAY |
Chegou em um gateway de VPN em nuvem. |
ARRIVE_AT_VPN_TUNNEL |
Chegou a um túnel de VPN na nuvem. |
ARRIVE_AT_VPC_CONNECTOR |
Chegou a um conector de acesso VPC sem servidor. |
Estado de transição
Durante o estado de transição, os testes de conectividade verificam configurações simuladas em que um pacote é alterado. Por exemplo, quando o Cloud NAT traduz um cabeçalho do pacote ou quando um proxy de balanceamento de carga do Google Cloud encerra e reinicia uma sessão de TCP de entrada para instâncias de VM).
Mensagem | Descrição |
---|---|
NAT |
O cabeçalho do pacote foi traduzido. |
PROXY_CONNECTION |
A conexão original foi encerrada e uma nova conexão com proxy foi iniciada. |
Estado especial
Nesse estado, um visualizador de teste não tem permissão para visualizar um ou mais recursos do Google Cloud. Para mais informações, consulte Permissões de teste.
Nome de metadados | Descrição |
---|---|
VIEWER_PERMISSION_MISSING |
O visualizador do resultado do teste não tem permissão para ver a configuração do recurso do Google Cloud nesta etapa. |
Metadados do recurso
Os testes de conectividade mostram os metadados a seguir para as configurações de recursos do Google Cloud que são verificadas.
Nome de metadados | Descrição |
---|---|
EndpointInfo |
Endpoints usados para o teste. Os testes de conectividade
recebem EndpointInfo dos endpoints de origem e de destino
e validam as informações usando o modelo para o plano de dados. |
FirewallInfo |
Metadados associados a uma regra de firewall. |
ForwardingRuleInfo |
Metadados associados a uma regra de encaminhamento de VPC. |
InstanceInfo |
Metadados associados a uma instância da VM do Compute Engine. |
LoadBalancerInfo |
Metadados associados a um balanceador de carga do Google Cloud. |
NetworkInfo |
Metadados associados a uma rede VPC. |
RouteInfo |
Metadados associados a uma rota de rede VPC. |
AppEngineVersionInfo |
Metadados associados a uma versão de um serviço do ambiente padrão do App Engine. |
CloudRunRevisionInfo |
Metadados associados a uma revisão do Cloud Run. |
CloudFunctionInfo |
Metadados associados a uma função do Cloud Run. |
VpcConnectorInfo |
Os metadados associados a um conector de acesso VPC sem servidor. |