Vous pouvez activer les journaux de requêtes Cloud DNS dans votre projet Compute Engine et les utiliser pour surveiller et comparer les taux d'échec DNS internes avant et après la migration vers le DNS interne zonal. Les entrées de journaux enregistrent la résolution DNS réussie et les cas où le DNS interne ne parvient pas à résoudre un nom de domaine donné.
Présentation
Pour utiliser les journaux de requêtes Cloud DNS afin de surveiller les taux d'échec DNS internes, procédez comme suit :
- Obtenez le nom du réseau cloud privé virtuel (VPC) qui contient les VM à surveiller.
- À l'aide des noms de réseaux VPC, exécutez une commande Google Cloud CLI pour activer la journalisation des requêtes DNS.
- Exécutez des requêtes dans l'explorateur de journaux pour visualiser et examiner les taux de réussite et d'échec.
Informations sur les tarifs de la journalisation des requêtes Cloud DNS
Lorsque vous activez la journalisation des requêtes Cloud DNS, cela génère une quantité importante de journaux, dont beaucoup ne sont pas liés au DNS interne. Par conséquent, l'utilisation de cette fonctionnalité peut entraîner des coûts. En général, les 50 premiers Gio de stockage de journaux par projet et par mois sont gratuits. Chaque tranche de 50 Gio supplémentaire coûte 0,50 $.
Pour en savoir plus sur les tarifs, consultez la synthèse des tarifs de Cloud Logging.
Obtenir les noms des réseaux de cloud privé virtuel (VPC)
Pour capturer les données des requêtes DNS, vous devez activer la journalisation pour le réseau VPC utilisé par votre instance de calcul. Un projet Google Cloud comporte souvent plusieurs réseaux VPC. Vous pouvez utiliser une commande gcloud CLI pour lister les réseaux VPC utilisés par les instances de calcul que vous souhaitez surveiller.
Console
Dans la console Google Cloud , accédez à la page Instances de VM.
Facultatif : Utilisez la zone Filtrer pour limiter le nombre d'instances affichées.
Cliquez sur le nom de l'instance que vous souhaitez inspecter.
Dans la section Réseau, sous Interfaces réseau, vous pouvez voir les cartes d'interface réseau (NIC) créées pour l'instance, le réseau et le sous-réseau associés à chaque NIC, ainsi que leurs adresses IP attribuées.
gcloud
Pour afficher les réseaux VPC utilisés par toutes les instances de calcul d'un projet, utilisez la commande
gcloud compute instances list. Vous pouvez ajouter une option--formatà la commande pour limiter les informations renvoyées à des champs spécifiques et modifier leur affichage, par exemple :gcloud compute instances list \ --format="flattened(name,networkInterfaces[].name, \ networkInterfaces[].network.basename(), \ networkInterfaces[].stackType, networkInterfaces[].nicType)"Le résultat ressemble à ce qui suit :
name: test-gvnic networkInterfaces[0].name: nic0 networkInterfaces[0].network: default networkInterfaces[0].nicType: GVNIC networkInterfaces[0].stackType: IPV4_ONLY --- name: test-multinic networkInterfaces[0].name: nic0 networkInterfaces[0].network: default networkInterfaces[0].nicType: GVNIC networkInterfaces[0].stackType: IPV4_ONLY networkInterfaces[1].name: nic0.14 networkInterfaces[1].network: net0 networkInterfaces[1].stackType: IPV4_ONLY networkInterfaces[2].name: nic1 networkInterfaces[2].network: prod-ipv6 networkInterfaces[2].nicType: GVNIC networkInterfaces[2].stackType: IPV4_IPV6
Pour afficher les interfaces réseau (NIC) d'une instance de calcul spécifique et les réseaux VPC qui lui sont attribués, utilisez la commande
gcloud compute instances describe. Vous pouvez ajouter une option--formatà la commande pour limiter les informations renvoyées à des champs spécifiques et modifier leur affichage, par exemple :gcloud compute instances describe INSTANCE_NAME --zone=ZONE \ --format="flattened(name,networkInterfaces[].name, \ networkInterfaces[].network.basename(), \ networkInterfaces[].stackType, networkInterfaces[].nicType)"
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance à afficherZONE: zone de l'instance que vous souhaitez afficher.
Le résultat ressemble à ce qui suit :
name: test-instance networkInterfaces[0].name: nic0 networkInterfaces[0].network: default networkInterfaces[0].nicType: GVNIC networkInterfaces[0].stackType: IPV4_ONLY networkInterfaces[1].name: nic1 networkInterfaces[1].network: prod-ipv6 networkInterfaces[1].nicType: GVNIC networkInterfaces[1].stackType: IPV4_IPV6 networkInterfaces[1].name: nic1.2 networkInterfaces[1].network: alt-ipv6-net networkInterfaces[1].nicType: GVNIC networkInterfaces[1].stackType: IPV4_IPV6 networkInterfaces[1].parentNicName: nic1
Activer la journalisation des requêtes Cloud DNS
La journalisation Cloud DNS suit les requêtes résolues par les serveurs de noms pour vos réseaux VPC, ainsi que les requêtes d'une entité externe directement vers une zone publique.
Les requêtes consignées peuvent provenir d'instances Compute Engine, de conteneurs Google Kubernetes Engine situés sur le même réseau VPC, de zones d'appairage ou de clients sur site qui utilisent un transfert DNS entrant. Les zones DNS privées, les zones DNS de transfert, les serveurs de noms alternatifs, les zones DNS Google Cloud internes ou les zones DNS externes peuvent éventuellement résoudre les requêtes.
Les enregistrements de journaux appartiennent au projet qui possède le réseau ou la zone publique ayant acheminé la requête. Dans le cas d'un VPC partagé, les enregistrements de journaux appartiennent au projet hôte, car ce dernier est propriétaire du réseau.
Pour activer la journalisation DNS, procédez comme suit :
Créez une règle DNS avec la journalisation activée en exécutant la commande
gcloud dns policies create.gcloud dns policies create POLICY_NAME \ --networks=NETWORK_NAMES \ --enable-logging \ --description="Enable DNS query logging for NETWORK_NAMES"Si le réseau dispose déjà d'une règle DNS, mettez à jour la règle de journalisation existante en exécutant la commande
gcloud dns policies update.gcloud dns policies update POLICY_NAME \ --networks=NETWORK_NAMES \ --enable-logging \
Remplacez les éléments suivants :
- POLICY_NAME : nom de la règle DNS
- NETWORK_NAMES : liste de noms de réseaux séparés par une virgule
Pour obtenir des instructions détaillées sur la création et l'activation de règles DNS pour la journalisation, consultez Utiliser la journalisation Cloud DNS.
Utiliser l'explorateur de journaux pour afficher les journaux et visualiser les taux d'échec DNS
Une fois la journalisation DNS activée, le projet commence à accumuler des journaux dans l'explorateur de journaux. Pour afficher ces journaux, utilisez la console Google Cloud et accédez à la page Explorateur de journaux.
Accéder à l'explorateur de journaux
Surveiller les échecs de résolution de nom DNS
Utilisez le code de réponse NXDOMAIN pour isoler les échecs de domaine inexistant. Ces échecs se produisent lorsque le DNS interne ne parvient pas à résoudre un nom de domaine donné.
Dans le champ de requête de la page de la console Explorateur de journaux, saisissez le texte suivant :
resource.type="dns_query" jsonPayload.queryType="A" jsonPayload.queryName=~"\.internal\.$" jsonPayload.responseCode = "NXDOMAIN"Cliquez sur Exécuter la requête.
Surveiller les requêtes de résolution de noms réussies
Utilisez le code de réponse NOERROR pour isoler la résolution DNS réussie.
Dans le champ de requête de la page de la console Explorateur de journaux, saisissez le texte suivant :
resource.type="dns_query" jsonPayload.queryType="A" jsonPayload.queryName=~"\.internal\.$" jsonPayload.responseCode = "NOERROR"Cliquez sur Exécuter la requête.
Définir une période d'analyse
Vous pouvez utiliser le sélecteur de période des journaux pour modifier la période des journaux analysés. Ce sélecteur se trouve en haut à droite de la fenêtre de l'explorateur de journaux.
Pour comparer efficacement les taux d'erreur et de réussite, vous devez activer les journaux de requêtes DNS avant de migrer vers l'utilisation du DNS zonal. Google vous recommande d'activer la journalisation des requêtes DNS au moins 24 heures avant la migration pour établir une référence avant migration.
Une fois que vous avez collecté suffisamment de données dans les journaux de requêtes DNS, vous pouvez effectuer la migration du DNS zonal. Vous pouvez surveiller les taux de résolution DNS pendant la migration pour vous assurer qu'elle n'entraîne pas d'augmentation des échecs de requêtes DNS.
Analyser et comparer les taux de résolution de noms DNS
Utilisez les éléments suivants pour analyser et comparer les taux d'erreur et de réussite.
Nombre de journaux : pour chaque requête et période, l'explorateur de journaux indique le nombre d'entrées de journal trouvées. Une augmentation significative du nombre de
NXDOMAINaprès la migration pour les noms DNS qui étaient résolus auparavant (avecNOERROR) peut indiquer un problème.Histogramme : l'interface de l'explorateur de journaux inclut un histogramme. Lorsque vos requêtes sont exécutées, l'histogramme affiche la fréquence des entrées de journal correspondantes au cours de la période sélectionnée. Cela est utile pour visualiser :
- Un taux de référence de
NXDOMAINentrées de journal avant la migration. - Tout pic d'entrées de journal
NXDOMAINimmédiatement après la migration. - Modifications du taux d'entrées de journal
NOERROR.
Pour afficher l'histogramme, cliquez sur Préférences, puis sur Afficher et enfin sur Afficher la timeline.
- Un taux de référence de
Étapes suivantes
- Apprenez-en plus sur le DNS interne pour Compute Engine.
- Affichez la configuration réseau de vos instances de calcul.
- Découvrez comment afficher les journaux à l'aide de l'explorateur de journaux.