Sie können Cloud DNS-Abfragelogs in Ihrem Compute Engine-Projekt aktivieren und damit die internen DNS-Fehlerraten vor und nach der Migration zu zonalem internen DNS vergleichen. In den Logeinträgen wird die erfolgreiche DNS-Auflösung erfasst und angegeben, wann der interne DNS einen bestimmten Domainnamen nicht auflösen kann.
Übersicht
So verwenden Sie Cloud DNS-Abfragelogs, um die internen DNS-Fehlerraten zu beobachten:
- Rufen Sie den VPC-Netzwerknamen (Virtual Private Cloud) für die VPC ab, die die zu beobachtenden VMs enthält.
- Führen Sie mit den VPC-Netzwerknamen einen Google Cloud CLI-Befehl aus, um das Logging von DNS-Abfragen zu aktivieren.
- Führen Sie Abfragen im Log-Explorer aus, um Erfolgs- und Fehlerraten zu visualisieren und zu untersuchen.
Preise für das Logging von Cloud DNS-Abfragen
Wenn Sie das Logging von Cloud DNS-Abfragen aktivieren, werden viele Logs generiert, von denen viele nicht mit internem DNS zusammenhängen. Daher können Kosten für die Verwendung dieser Funktion anfallen. Im Allgemeinen sind die ersten 50 GiB an Logs-Speicher pro Projekt und Monat kostenlos. Jede weiteren 50 GiB kosten 0,50 $.
Weitere Informationen zu den Preisen finden Sie in der Preisübersicht für Cloud Logging.
Namen der Virtual Private Cloud (VPC)-Netzwerke abrufen
Wenn Sie Daten zu DNS-Abfragen erfassen möchten, müssen Sie das Logging für das VPC-Netzwerk aktivieren, das von Ihrer Compute-Instanz verwendet wird. Oft hat ein Google Cloud Projekt mehrere VPC-Netzwerke. Mit einem gcloud CLI-Befehl können Sie die VPC-Netzwerke auflisten, die von den Compute-Instanzen verwendet werden, die Sie beobachten möchten.
Console
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Optional: Verwenden Sie das Feld Filter , um die Anzahl der angezeigten Instanzen zu begrenzen.
Klicken Sie auf den Namen der Instanz, die Sie untersuchen möchten.
Im Bereich Netzwerk unter Netzwerkschnittstellen sehen Sie die für die Instanz erstellten Netzwerkschnittstellen, das Netzwerk und das Subnetz, die mit jeder Netzwerkschnittstelle verknüpft sind, sowie die zugewiesenen IP-Adressen.
gcloud
Verwenden Sie den
gcloud compute instances listBefehl, um die VPC-Netzwerke aufzurufen, die von allen Compute-Instanzen in einem Projekt verwendet werden. Sie können dem Befehl die Option--formathinzufügen, um die zurückgegebenen Informationen auf bestimmte Felder zu beschränken und die Darstellung zu ändern, z. B.:gcloud compute instances list \ --format="flattened(name,networkInterfaces[].name, \ networkInterfaces[].network.basename(), \ networkInterfaces[].stackType, networkInterfaces[].nicType)"Die Ausgabe sieht etwa so aus:
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
Verwenden Sie den
gcloud compute instances describeBefehl, um die Netzwerkschnittstellen für eine bestimmte Compute-Instanz und die zugewiesenen VPC-Netzwerke aufzurufen. Sie können dem Befehl die Option--formathinzufügen, um die zurückgegebenen Informationen auf bestimmte Felder zu beschränken und die Darstellung zu ändern, z. B.:gcloud compute instances describe INSTANCE_NAME --zone=ZONE \ --format="flattened(name,networkInterfaces[].name, \ networkInterfaces[].network.basename(), \ networkInterfaces[].stackType, networkInterfaces[].nicType)"
Ersetzen Sie Folgendes:
INSTANCE_NAME: der Name der Instanz, die aufgerufen werden sollZONE: die Zone für die Instanz, die aufgerufen werden soll
Die Ausgabe sieht etwa so aus:
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
Logging von Cloud DNS-Abfragen aktivieren
Cloud DNS-Logging erfasst Abfragen, die Nameserver für Ihre VPC-Netzwerke auflösen, sowie Abfragen von einer externen Entität direkt in eine öffentliche Zone.
In Logs erfasste Abfragen können von Compute Engine-Instanzen, von Google Kubernetes Engine-Containern im selben VPC-Netzwerk, von Peering-Zonen oder von lokalen Clients, die eingehende DNS-Weiterleitung nutzen, stammen. Private DNS-Zonen, Weiterleitungs-DNS-Zonen, alternative Nameserver, interne Google Cloud DNS-Zonen oder externe DNS-Zonen können die Abfragen letztlich auflösen.
Logdatensätze gehören zu dem Projekt, das Inhaber des Netzwerks oder der öffentlichen Zone ist, die die Anfrage ausgeführt hat. Bei freigegebene VPC gehören die Logdatensätze zum Hostprojekt, da das Hostprojekt Inhaber des Netzwerks ist.
Führen Sie einen der folgenden Schritte aus, um das DNS-Logging zu aktivieren:
Erstellen Sie eine neue DNS-Richtlinie mit aktiviertem Logging, indem Sie den
gcloud dns policies createBefehl ausführen.gcloud dns policies create POLICY_NAME \ --networks=NETWORK_NAMES \ --enable-logging \ --description="Enable DNS query logging for NETWORK_NAMES"Wenn das Netzwerk bereits eine DNS-Richtlinie hat, aktualisieren Sie die vorhandene Logging-Richtlinie , indem Sie den
gcloud dns policies updateBefehl ausführen.gcloud dns policies update POLICY_NAME \ --networks=NETWORK_NAMES \ --enable-logging \
Ersetzen Sie Folgendes:
- POLICY_NAME: der Name der DNS-Richtlinie
- NETWORK_NAMES: eine durch Kommas getrennte Liste von Netzwerknamen
Eine detaillierte Anleitung zum Erstellen und Aktivieren von DNS-Richtlinien für das Logging finden Sie unter Cloud DNS-Logging verwenden.
Logs mit dem Log-Explorer ansehen und DNS-Fehlerraten visualisieren
Nachdem Sie das DNS-Logging aktiviert haben, werden im Log-Explorer Logs für das Projekt erfasst. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf, um diese Logs anzusehen.
Fehler bei der DNS-Namensauflösung beobachten
Verwenden Sie den Antwortcode NXDOMAIN, um Fehler bei nicht vorhandenen Domains zu isolieren. Diese Fehler treten auf, wenn der interne DNS einen bestimmten Domainnamen nicht auflösen kann.
Geben Sie im Abfragefeld auf der Console-Seite Log-Explorer den folgenden Text ein:
resource.type="dns_query" jsonPayload.queryType="A" jsonPayload.queryName=~"\.internal\.$" jsonPayload.responseCode = "NXDOMAIN"Klicken Sie auf Abfrage ausführen.
Erfolgreiche Namensauflösungsabfragen beobachten
Verwenden Sie den Antwortcode NOERROR, um die erfolgreiche DNS-Auflösung zu isolieren.
Geben Sie im Abfragefeld auf der Console-Seite Log-Explorer den folgenden Text ein:
resource.type="dns_query" jsonPayload.queryType="A" jsonPayload.queryName=~"\.internal\.$" jsonPayload.responseCode = "NOERROR"Klicken Sie auf Abfrage ausführen.
Zeitraum für die Analyse festlegen
Mit der Zeitraumauswahl für Logs können Sie den Zeitraum für die analysierten Logs ändern. Diese Auswahl befindet sich rechts oben im Fenster Log-Explorer.
Für einen effektiven Vergleich von Fehler- und Erfolgsraten müssen Sie DNS-Abfragelogs aktivieren, bevor Sie zu zonalem DNS migrieren. Google empfiehlt, das Logging von DNS-Abfragen mindestens 24 Stunden vor der Migration zu aktivieren, um eine Baseline vor der Migration zu erstellen.
Nachdem Sie genügend Daten in den DNS-Abfragelogs erfasst haben, können Sie die Migration zu zonalem DNS durchführen. Sie können die DNS-Auflösungsraten während der Migration beobachten, um sicherzustellen, dass die Migration nicht zu einer Zunahme von Fehlern bei DNS-Abfragen führt.
DNS-Namensauflösungsraten analysieren und vergleichen
Verwenden Sie die folgenden Informationen, um die Fehler- und Erfolgsraten zu analysieren und zu vergleichen.
Loganzahl: Für jede Abfrage und jeden Zeitraum zeigt der Log-Explorer die Anzahl der gefundenen Logeinträge an. Ein deutlicher Anstieg der
NXDOMAIN-Anzahl nach der Migration für DNS-Namen, die zuvor aufgelöst wurden (mitNOERROR), könnte ein Problem darstellen.Histogramm: Die Log-Explorer-Oberfläche enthält ein Histogramm. Wenn Ihre Abfragen ausgeführt werden, zeigt das Histogramm die Häufigkeit übereinstimmender Logeinträge im ausgewählten Zeitraum an. Dies ist nützlich, um Folgendes zu visualisieren:
- Eine Baseline-Rate von
NXDOMAIN-Logeinträgen vor der Migration. - Spitzen bei
NXDOMAIN-Logeinträgen unmittelbar nach der Migration. - Änderungen der Rate von
NOERROR-Logeinträgen.
Klicken Sie auf Einstellungen, dann auf Ansehen, und dann auf Zeitachse anzeigen , um das Histogramm aufzurufen.
- Eine Baseline-Rate von
Nächste Schritte
- Weitere Informationen zum internen DNS für Compute Engine.
- Netzwerkkonfiguration ansehen für Ihre Compute-Instanzen.
- Weitere Informationen zum Ansehen von Logs mit dem Log-Explorer.