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 les détails 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 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 des exemples de configurations réseau non valides : une règle de transfert Cloud Load Balancing sans backend ou une route réseau qui n'existe pas.
Pendant l'état de vérification de la configuration, Tests de connectivité collecte des informations sur les routes réseau telles que les routes configurées par l'utilisateur, les routes dynamiques basées sur les annonces BGP ou les routes basées sur des règles. L'analyse de la configuration choisit ensuite un routage 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. La configuration permet au paquet de test simulé de continuer à travers le chemin réseau en cours de test.
Pour les règles de pare-feu d'entrée et de sortie, verified
signifie que l'analyse de configuration confirme que la règle de pare-feu est valide.
La règle de pare-feu autorise le passage du paquet de test simulé.
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 .
|
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 Dans ce cas, les états finaux de plusieurs traces renvoient des états finaux différents. Le résultat |
Undetermined |
Impossible de déterminer l'accessibilité. L'état final d'une trace est Il est impossible de déterminer la joignabilité de la source à la destination pour l'une des raisons suivantes :
|
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 provenait d'une fonction Cloud Run.
Les métadonnées CloudFunctionInfo ont été renseignées par les tests de connectivité. |
START_FROM_CLOUD_RUN_REVISION |
Le paquet provenait 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 provenait 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 la destination sur 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 n'est pas dirigé vers celle-ci. |
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 |
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 de services gérés par Google. |
CLOUD_SQL_INSTANCE_NO_IP_ADDRESS |
Un paquet a été supprimé, car l'instance Cloud SQL n'a ni adresse IP privée, ni adresse IP 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 Run n'est pas active. |
VPC_CONNECTOR_NOT_SET |
Un paquet a été abandonné, car le service de l'environnement standard App Engine, la fonction Cloud Run ou la révision Cloud Run ne comporte pas de connecteur d'accès au VPC sans serveur configuré. |
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 de 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 :
|
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 |
Toutes les API et tous les services Google qui utilisent Private Service Connect |
PSC_VPC_SC |
VPC Service Controls qui utilisent Private Service Connect |
PSC_PUBLISHED_SERVICE |
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 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 d'accès réseau simulé, vérifient que la configuration des ressources est valide et que la configuration 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 |
Vous êtes arrivé à 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 de l'environnement standard App Engine. |
CloudRunRevisionInfo |
Métadonnées associées à une révision Cloud Run. |
CloudFunctionInfo |
Métadonnées associées à une fonction Cloud Run. |
VpcConnectorInfo |
Métadonnées associées à un connecteur d'accès au VPC sans serveur. |