États d'analyse de la configuration

Une analyse de configuration de test de connectivité passe par une série d'états de test pendant qu'elle vérifie la configuration de chaque ressource Google Cloud dans un chemin réseau, allant d'une source désignée vers une destination désignée. Utilisez cette documentation de référence pour interpréter ces états.

Pour en savoir plus sur les tests de connectivité, y compris sur l'analyse du plan de données en direct, consultez la présentation.

États de test

L'analyse de configuration d'un test de connectivité fournit des données pour les états de test suivants dans l'ordre indiqué :

  • État initial
  • État de la vérification de la configuration
  • État de transfert
  • État de transition
  • État spécial
  • État final
  • Résultat global de joignabilité

Certains de ces états apparaissent dans chaque trace, tandis que d'autres n'apparaissent que lors du test de la configuration d'une ressource Google Cloud spécifique ou lors de l'exécution d'une certaine tâche.

L'état final et le résultat global de joignabilité fournissent la sortie de test la plus importante.

En outre, les résultats du test peuvent inclure des métadonnées pour les ressources Google Cloud associées à un ou plusieurs états. Par exemple des informations sur le nom et l'adresse IP d'une instance de machine virtuelle (VM).

Comment l'analyse de la configuration évalue la joignabilité

L'analyse de la configuration simule un paquet de test via un chemin d'accès réseau en validant les configurations des ressources Google Cloud de ce chemin. Voici quelques exemples de configurations réseau non valides : une règle de transfert Cloud Load Balancing qui n'a pas de backend ou une route réseau qui n'existe pas.

Pendant l'état de vérification de la configuration, les tests de connectivité collectent des informations sur les routes réseau, telles que les routes configurées par l'utilisateur, les routes dynamiques basées sur des annonces BGP ou les routes basées sur des règles. L'analyse de la configuration choisit ensuite une route réseau en fonction de l'applicabilité et de l'ordre.

Pour l'état de vérification de la configuration, verified signifie que les tests de connectivité confirment qu'une configuration pour la ressource Google Cloud testée est valide. Cette configuration permet au paquet de test simulé de continuer à travers le chemin réseau testé.

Pour les règles de pare-feu d'entrée et de sortie, verified signifie que l'analyse de la configuration confirme la validité de la règle de pare-feu. La règle de pare-feu permet au paquet de test simulé de passer.

Si les tests de connectivité déterminent qu'une configuration n'est pas valide, l'état final du paquet est Drop.

Résultat global de joignabilité

L'analyse de configuration fournit un résumé général de l'état de joignabilité, également appelé résultat. Les résultats peuvent afficher l'une des quatre valeurs suivantes : Reachable, Unreachable, Ambiguous et Undetermined.

Table des valeurs

Le tableau suivant indique la valeur de chaque type de résultat global de joignabilité :

Résultat global de joignabilité Description
Reachable Deux scénarios sont possibles. Dans les deux scénarios, les tests de connectivité ne détectent aucun problème de configuration. Ainsi, les deux scénarios sont considérés comme étant Reachable.
  • Dans le premier scénario, le paquet provenant de la source est censé atteindre sa destination. L'état final d'une ou de plusieurs traces est Deliver.
  • Dans le second scénario, l'analyse est partiellement terminée en fonction des configurations pour lesquelles l'utilisateur dispose de l'autorisation. L'état final d'une ou de plusieurs traces est Forward.
Unreachable Le paquet provenant de la source est censé être supprimé avant d'atteindre sa destination. L'état final de toutes les traces est Drop.
Ambiguous

Ce résultat est renvoyé si les points de terminaison source et de destination n'identifient pas de manière unique l'emplacement de test dans le réseau et que le résultat global de joignabilité contient plusieurs traces avec des états mixtes Reachable et Unreachable.

Dans ce cas, les états finaux de plusieurs traces renvoient des états finaux différents. Le résultat Ambiguous ne s'applique pas aux tests ne contenant qu'une seule trace.

Undetermined

Impossible de déterminer l'accessibilité. L'état final d'une trace est Forward ou Abort. Pour plusieurs traces, l'état final est une combinaison de Forward ou Abort.

Il est impossible de déterminer la joignabilité de la source à la destination pour l'une des raisons suivantes :

  • L'analyse est abandonnée en raison d'une erreur d'autorisation. L'utilisateur n'est pas autorisé à lire les projets répertoriés dans le test.
  • L'analyse a été annulée en raison d'erreurs internes.

Traces multiples

Chaque analyse de configuration peut contenir plusieurs traces, et leur état final peut être différent. Par exemple, un paquet envoyé à l'adresse IP virtuelle d'un équilibreur de charge Google Cloud peut contenir des traces n si des instances de VM de backend n sont configurées pour l'équilibreur de charge. Ces traces n peuvent avoir des états finaux différents.

Étant donné qu'une analyse peut générer plusieurs traces possibles, les affirmations suivantes sont vraies :

  • S'il n'y a qu'un seul résultat de trace, le résultat global de joignabilité est le même que l'état final de la trace.
  • S'il existe plusieurs résultats de trace, le résultat global de la joignabilité est calculé en fonction de la distribution des états finaux contenus dans toutes les traces.

Métadonnées de résultat

En plus du résultat global de joignabilité pour les traces, chaque résultat de test contient les métadonnées suivantes :

  • Heure à laquelle l'état de test a été vérifié
  • Détails de l'erreur en cas d'échec ou d'annulation de test
  • Informations détaillées de chaque trace

Les détails de l'erreur en cas d'échec ou d'annulation de test sont affichés sous forme de codes et de messages affichés dans le résultat global de joignabilité. Par exemple, un test doté d'un état final de Abort peut afficher le message d'erreur suivant : Failed to pull initial config. An internal error occurred.

État initial

Pendant l'état initial, l'analyse de configuration simule le démarrage à partir d'un point de terminaison du réseau.

Message Description
START_FROM_INSTANCE Le paquet provenait d'une instance Compute Engine. Les métadonnées InstanceInfo ont été renseignées par les tests de connectivité.
START_FROM_INTERNET Le paquet provenait d'Internet. Les métadonnées EndpointInfo ont été renseignées par les tests de connectivité.
START_FROM_PRIVATE_NETWORK Le paquet provenait d'un réseau VPC ou d'un réseau sur site avec une adresse IP source interne. Si la source était un réseau VPC visible par l'utilisateur, les métadonnées NetworkInfo ont été remplies avec les détails du réseau par les tests de connectivité.
START_FROM_CLOUD_FUNCTION Le paquet provient d'une fonction Cloud. Les métadonnées CloudFunctionInfo ont été renseignées par les tests de connectivité.
START_FROM_CLOUD_RUN_REVISION Le paquet provient d'une révision d'un service Cloud Run. Les métadonnées CloudRunRevisionInfo ont été renseignées par les tests de connectivité.
START_FROM_APP_ENGINE_VERSION Le paquet provient d'une version d'un service d'environnement standard App Engine. Les métadonnées AppEngineVersionInfo ont été renseignées par les tests de connectivité.

État final

Il y existe quatre états finaux : Drop, Abort, Forward et Deliver Chacune des sections suivantes contient une table contenant les messages et descriptions des différents états.

Déposer

Les tests de connectivité ont supprimé le paquet de test simulé car la cible de test était inaccessible pour les raisons suivantes.

Message Description
UNKNOWN_EXTERNAL_ADDRESS Impossible de résoudre l'adresse externe de destination vers une cible connue.
FOREIGN_IP_DISALLOWED L'instance de VM ne peut envoyer ou recevoir un paquet avec une adresse IP étrangère que si ip_forward est activé. En d'autres termes, l'adresse IP étrangère a échoué lors d'une vérification de spoofing.
FIREWALL_RULE

Supprimé en raison d'une règle de pare-feu, sauf si autorisé en raison du suivi de connexion.

Les tests de connectivité peuvent refuser un paquet de test, car celui-ci correspond à une règle de pare-feu bloquante. Cependant, le plan de données réel peut autoriser le paquet en raison du suivi de connexion sur la règle de pare-feu. Le suivi des connexions permet aux paquets d'une connexion existante de renvoyer la règle de pare-feu.

NO_ROUTE Supprimé en raison de l'absence de routes.
ROUTE_BLACKHOLE Supprimé, car le saut suivant de l'itinéraire correspondant n'existe pas.
ROUTE_WRONG_NETWORK Le paquet a été envoyé au mauvais réseau (involontairement), comme indiqué dans la section Détecter des configurations non valides ou incohérentes.
PRIVATE_TRAFFIC_TO_INTERNET Un paquet avec une adresse de destination interne a été envoyé à une passerelle Internet.
PRIVATE_GOOGLE_ACCESS_DISALLOWED Une instance de VM avec uniquement une adresse IP interne a tenté d'accéder à une API Google ou à un service Google, mais l'accès privé à Google n'a pas été activé.
NO_EXTERNAL_ADDRESS Une instance de VM disposant uniquement d'une adresse IP interne a tenté d'accéder aux hôtes externes via un itinéraire dont le saut suivant correspond à la passerelle Internet par défaut. Ce message est généré lorsque Cloud NAT n'est pas activé dans le sous-réseau ou lorsqu'aucune autre route par défaut n'utilise un type de saut suivant différent (tel qu'une VM de proxy).
UNKNOWN_INTERNAL_ADDRESS Impossible de résoudre une adresse interne de destination sur une cible connue.
FORWARDING_RULE_MISMATCH Le protocole et les ports d'une règle de transfert ne correspondent pas à l'en-tête du paquet, ou le paquet ne provient pas de la même région que l'équilibreur de charge régional ou ne s'y dirige pas.
FORWARDING_RULE_NO_INSTANCES Aucun backend n'a été configuré pour la règle de transfert.
FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK

Une règle de pare-feu a bloqué les vérifications d'état des backends et les ont rendus indisponibles pour le trafic de l'équilibreur de charge.

Dans le cadre de sa séquence de test pour Cloud Load Balancing, l'analyse de la configuration vérifie que les règles de pare-feu existantes ont été configurées pour permettre l'envoi d'un paquet de vérification d'état aux backends Cloud Load Balancing. Cette vérification de configuration génère une réponse healthCheckFirewallState. Pour en savoir plus, consultez la section Règles de pare-feu de la vérification d'état.

INSTANCE_NOT_RUNNING Un paquet a été envoyé depuis ou vers une instance de VM qui n'était pas en cours d'exécution.
TRAFFIC_TYPE_BLOCKED Le type de trafic a été bloqué, et l'utilisateur n'a pas pu configurer une règle de pare-feu pour l'activer. Pour plus d'informations, consultez la section Trafic toujours bloqué.
GKE_MASTER_UNAUTHORIZED_ACCESS L'accès au point de terminaison du plan de contrôle Google Kubernetes Engine n'a pas été autorisé. Pour en savoir plus, consultez la section Accès aux points de terminaison du cluster.
DROPPED_INSIDE_GKE_SERVICE Un paquet a été supprimé dans le service Google Kubernetes Engine.
CLOUD_SQL_INSTANCE_UNAUTHORIZED_ACCESS L'accès au point de terminaison de l'instance Cloud SQL n'est pas autorisé. Pour plus d'informations, consultez la section Autoriser avec des réseaux autorisés.
DROPPED_INSIDE_CLOUD_SQL_SERVICE Un paquet a été supprimé dans le service Cloud SQL.
GOOGLE_MANAGED_SERVICE_NO_PEERING Un paquet a été supprimé, car il n'y a pas d'appairage entre le réseau d'origine et le réseau des services gérés par Google.
CLOUD_SQL_INSTANCE_NO_IP_ADDRESS Un paquet a été supprimé, car l'instance Cloud SQL ne possède pas d'adresse IP (privée ou publique).
PSC_CONNECTION_NOT_ACCEPTED Un paquet a été supprimé, car la connexion au service publié qui utilise Private Service Connect n'est pas acceptée.
CLOUD_FUNCTION_NOT_ACTIVE Un paquet a été supprimé, car la fonction Cloud n'est pas active.
VPC_CONNECTOR_NOT_SET Un paquet a été supprimé, car aucun connecteur d'accès au VPC sans serveur n'est configuré pour le service de l'environnement standard App Engine, la fonction Cloud ou la révision Cloud Run.
VPC_CONNECTOR_NOT_RUNNING Un paquet a été supprimé, car le connecteur d'accès au VPC sans serveur n'est pas en cours d'exécution.
CLOUD_RUN_REVISION_NOT_READY Un paquet a été supprimé, car la révision Cloud Run n'est pas prête et ne peut pas diffuser le trafic.

Annuler

L'analyse de la configuration a été arrêtée en raison du manque d'informations de base, telles qu'un manque d'accès à la configuration réseau.

Cet état se produit généralement lorsque les tests de connectivité ne disposent pas des autorisations appropriées pour obtenir la configuration du projet hôte pour un projet de service, comme indiqué dans le tableau suivant.

Message Description
UNKNOWN_NETWORK

Annulé en raison d'un réseau inconnu. L'analyse ne peut pas continuer, car dans un réseau VPC partagé, l'utilisateur qui exécute le test n'a pas accès aux configurations réseau du projet hôte, y compris aux règles de pare-feu et aux routes.

Pour exécuter un test de connectivité, l'utilisateur qui exécute le test peut lire les configurations des ressources telles que les routes du projet hôte. Cela se produit parce que les ressources réseau sont allouées dans le projet hôte, mais que les ressources réelles existent dans le projet de service.

UNKNOWN_IP

L'analyse a été annulée car les adresses IP requises pour l'analyse étaient inconnues. Cela est dû à une entrée utilisateur incorrecte, ou l'analyse de la configuration n'a pas pu déterminer de point de terminaison valide en fonction des paramètres d'entrée fournis.

Dans un réseau VPC partagé, l'utilisateur exécutant le test n'avait pas accès aux configurations réseau du projet hôte. Cet accès est requis pour les tests par rapport aux adresses IP dans le projet de service.

UNKNOWN_PROJECT L'analyse a été annulée car aucune information de projet n'a pu être dérivée de l'entrée du test de connectivité. Cela est dû à une entrée utilisateur incorrecte ou, sur la base des paramètres d'entrée fournis, l'analyse n'a pas pu déterminer un projet valide.
PERMISSION_DENIED L'analyse a été annulée car l'utilisateur ne disposait pas de l'autorisation permettant d'accéder à tout ou partie des configurations réseau nécessaires à l'exécution du test.
NO_SOURCE_LOCATION L'analyse a été annulée car aucun point de terminaison source valide n'a pu être dérivé de l'entrée de test. Cela est dû à une entrée utilisateur incorrecte ou, sur la base des paramètres d'entrée fournis, l'analyse n'a pas pu déterminer un point de terminaison valide.
INVALID_ARGUMENT

L'analyse a été annulée car le point de terminaison source et/ou de destination spécifié dans l'entrée de test n'était pas valide. Les raisons possibles de ce message sont les suivantes :

  • Une adresse IP non valide
  • Une instance de VM ou un URI de réseau inexistant
  • Une adresse IP en dehors de la plage de l'URI de réseau spécifié
  • Une instance de VM qui ne possède pas l'interface réseau dans le réseau spécifié
NO_EXTERNAL_IP L'analyse a été annulée car le trafic a été envoyé depuis une adresse IP publique vers une instance de VM qui n'avait pas d'adresse IP externe.
UNINTENDED_DESTINATION L'analyse a été annulée car aucune des traces n'a pu correspondre aux informations de destination spécifiées dans l'entrée de test.
TRACE_TOO_LONG L'analyse a été abandonnée, car le nombre d'étapes de la trace a dépassé une certaine limite. Ce problème peut être causé par une boucle de routage.
INTERNAL_ERROR Annulée en raison d'une erreur interne du serveur.
SOURCE_ENDPOINT_NOT_FOUND Annulée, car le point de terminaison source est introuvable.
MISMATCHED_SOURCE_NETWORK Annulée, car le réseau source ne correspond pas au point de terminaison source.
DESTINATION_ENDPOINT_NOT_FOUND Annulée, car le point de terminaison de destination est introuvable.
MISMATCHED_DESTINATION_NETWORK Annulée, car le réseau de destination ne correspond pas au point de terminaison de destination.

Suivant

L'analyse s'est arrêtée à un point de terminaison spécifique et n'a pas pu continuer :

  • L'analyse est partiellement terminée en fonction des configurations pour lesquelles l'utilisateur détient l'autorisation.
  • Le paquet de test a été transféré à un réseau avec une configuration inconnue.
  • La cible de test n'a pas été supprimée conformément à la configuration connue et le paquet de test a été transféré vers un réseau dans lequel les tests de connectivité n'ont aucune visibilité.
Message Transféré
PEERING_VPC Vers un réseau VPC appairé
VPN_GATEWAY Vers une passerelle Cloud VPN
INTERCONNECT Vers une connexion Cloud Interconnect
GKE_MASTER Vers un plan de contrôle GKE
IMPORTED_CUSTOM_ROUTE_NEXT_HOP Vers le saut suivant d'une route personnalisée importée à partir d'un réseau VPC appairé
CLOUD_SQL_INSTANCE Vers une instance Cloud SQL

Distribuer

L'analyse a pu atteindre la cible et distribuer le paquet de test simulé.

Un état final Deliver ne garantit pas que le trafic peut traverser le plan de données. Le but de l'analyse est de valider les problèmes de configuration pouvant entraîner une perte de trafic.

Message Cible
INSTANCE Instance de VM Compute Engine
INTERNET Internet
GOOGLE_API Une API Google
GKE_MASTER Un plan de contrôle GKE
CLOUD_SQL_INSTANCE Une instance Cloud SQL
PSC_GOOGLE_API Tous les services et API Google qui utilisent Private Service Connect
PSC_VPC_SC VPC Service Controls utilisant Private Service Connect
PSC_PUBLISHED_SERVICE Un service publié qui utilise Private Service Connect

Métadonnées

L'analyse de configuration affiche les métadonnées suivantes pour l'état final.

Nom des métadonnées Description
AbortInfo Cause d'un état final défini sur Abort et de l'URI de ressource à l'origine de cet état.
DropInfo Cause d'un état final défini sur Drop et de l'URI de ressource à l'origine de cet état.
ForwardInfo Le type cible et l'URI de ressource cible vers lesquels un paquet de test a finalement été transféré (état final défini sur Forward).

Autres états

Avant que le paquet de test n'atteigne l'un des états finaux, il passe par les états intermédiaires suivants: état de vérification de la configuration, état de transfert, état de transition et état spécial.

État de la vérification de la configuration

Pendant l'état de vérification de la configuration, les tests de connectivité vérifient la configuration des ressources Google Cloud dans le chemin réseau simulé, vérifie que la configuration de la ressource est valide et qu'elle permet au paquet de test simulé de continuer sur le chemin réseau.

Si nécessaire, l'analyse de la configuration effectue une vérification de spoofing.

Message Description
APPLY_INGRESS_FIREWALL_RULE Règle de pare-feu d'entrée vérifiée.
APPLY_EGRESS_FIREWALL_RULE Règle de pare-feu de sortie vérifiée.
APPLY_ROUTE Route vérifiée.
APPLY_FORWARDING_RULE Règle de transfert correspondante.
SPOOFING_APPROVED Le paquet a été envoyé ou reçu sous une adresse IP étrangère, mais autorisée. Pour en savoir plus, consultez la section sur la vérification de spoofing.

État de transfert

Pendant l'état de transfert, les tests de connectivité simulent un paquet arrivant sur une ressource Google Cloud intermédiaire dans le chemin de test (par exemple, un paquet arrivant sur une passerelle Cloud VPN ou un équilibreur de charge Google Cloud).

Message Description
ARRIVE_AT_INSTANCE Arrivé à une instance de VM Compute Engine.
ARRIVE_AT_INTERNAL_LOAD_BALANCER Arrivé sur un équilibreur de charge Google Cloud qui utilise une adresse IP privée en tant qu'adresse IP virtuelle.
ARRIVE_AT_EXTERNAL_LOAD_BALANCER Arrivé sur l'adresse IP publique d'un équilibreur de charge Google Cloud.
ARRIVE_AT_VPN_GATEWAY Arrivé sur une passerelle Cloud VPN.
ARRIVE_AT_VPN_TUNNEL Arrivé sur un tunnel Cloud VPN.
ARRIVE_AT_VPC_CONNECTOR Arrivé sur un connecteur d'accès au VPC sans serveur.

État de transition

Pendant l'état de transition, les tests de connectivité vérifient les configurations simulées où un paquet est modifié (par exemple, dans le cas où Cloud NAT traduit un en-tête de paquet, ou lorsqu'un proxy d'équilibrage de charge Google Cloud arrête et redémarre une session TCP entrante vers des instances de VM).

Message Description
NAT L'en-tête de paquet a été traduit.
PROXY_CONNECTION La connexion d'origine a été interrompue et une nouvelle connexion proxy a été établie.

État spécial

Dans cet état, un lecteur de test n'est pas autorisé à afficher une ou plusieurs ressources Google Cloud. Pour en savoir plus, consultez la section Autorisations de test.

Nom des métadonnées Description
VIEWER_PERMISSION_MISSING Le lecteur de résultat du test n'est pas autorisé à connaître la configuration de la ressource Google Cloud à cette étape.

Resource metadata

Les tests de connectivité affichent les métadonnées suivantes pour les configurations de ressources Google Cloud vérifiées.

Nom des métadonnées Description
EndpointInfo Points de terminaison utilisés pour le test. Les tests de connectivité affichent EndpointInfo à partir des points de terminaison source et de destination, et valident les informations en utilisant le modèle du plan de données.
FirewallInfo Métadonnées associées à une règle de pare-feu.
ForwardingRuleInfo Métadonnées associées à une règle de transfert VPC.
InstanceInfo Métadonnées associées à une instance de VM Compute Engine.
LoadBalancerInfo Métadonnées associées à un équilibreur de charge Google Cloud.
NetworkInfo Métadonnées associées à un réseau VPC.
RouteInfo Métadonnées associées à une route du réseau VPC.
AppEngineVersionInfo Métadonnées associées à une version d'un service d'environnement standard App Engine.
CloudRunRevisionInfo Métadonnées associées à une révision Cloud Run.
CloudFunctionInfo Métadonnées associées à une fonction Cloud.
VpcConnectorInfo Métadonnées associées à un connecteur d'accès au VPC sans serveur.

Étapes suivantes