Estados de análise da configuração

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 de configuração, verified significa que os Testes de conectividade confirmam se uma configuração para o recurso do Google Cloud testado é válida. A configuração permite que o pacote de teste simulado continue no caminho da rede que está sendo testado.

Para regras de firewall de entrada e saída, verified significa que a análise da 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.
  • No primeiro cenário, o pacote que se origina da origem deve chegar ao destino. O estado final de um ou mais traces é Deliver.
  • No segundo cenário, a análise é parcialmente concluída com base nas configurações em que o usuário tem permissão. O estado final de um ou mais traces é Forward.
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 Reachable e Unreachable.

Nesse caso, os estados finais entre vários traces retornam diferentes estados finais. O resultado Ambiguous não se aplica a testes que contenham apenas um trace.

Undetermined

A acessibilidade não pôde ser determinada. O estado final de um trace é Forward ou Abort. Para vários traces, o estado final é uma combinação de Forward ou Abort.

A acessibilidade da origem ao destino não pode ser determinada por um dos seguintes motivos:

  • A análise foi interrompida devido a um erro de permissão. O usuário não tem permissão de leitura para os projetos listados no teste.
  • A análise é interrompida devido a erros internos.

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. 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 corresponderam ao cabeçalho do pacote ou o pacote não se origina ou não está direcionado para a mesma região do 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 healthCheckFirewallState. Para detalhes, consulte Regras de firewall de verificação de integridade.

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 eliminado porque a função do Cloud não está ativa.
VPC_CONNECTOR_NOT_SET Um pacote foi descartado porque o serviço do ambiente padrão do App Engine, o Cloud Function 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:

  • Um endereço IP malformado
  • Uma instância de VM ou URI de rede inexistente
  • Um endereço IP que não está no intervalo do URI da rede especificado
  • Uma instância de VM que não tem a interface de rede na rede especificada
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.

Mensagem 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 Os metadados associados a uma função do Cloud.
VpcConnectorInfo Os metadados associados a um conector de acesso VPC sem servidor.

A seguir