Sie können Cloud DNS-Abfragelogs in Ihrem Compute Engine-Projekt aktivieren und damit die internen DNS-Fehlerraten vor und nach der Migration zu zoneninternem DNS vergleichen. In den Logeinträgen wird die erfolgreiche DNS-Auflösung aufgezeichnet und wann die interne DNS-Auflösung eines bestimmten Domainnamens fehlschlägt.
Übersicht
So verwenden Sie Cloud DNS-Abfragelogs, um interne DNS-Fehlerraten zu überwachen:
- Rufen Sie den Namen des VPC-Netzwerks (Virtual Private Cloud) für die VPC ab, die die zu überwachenden VMs enthält.
- Führen Sie mit den VPC-Netzwerknamen einen Google Cloud CLI-Befehl aus, um die Protokollierung von DNS-Abfragen zu aktivieren.
- Führen Sie Abfragen im Log-Explorer aus, um Erfolgs- und Fehlerraten zu visualisieren und zu untersuchen.
Preisinformationen für das Cloud DNS-Abfragelogging
Wenn Sie das Cloud DNS-Abfrage-Logging aktivieren, wird eine erhebliche Anzahl von Logs generiert, von denen viele nicht mit internem DNS zusammenhängen. Daher können für die Nutzung dieser Funktion Kosten anfallen. Im Allgemeinen sind die ersten 50 GiB an Log-Speicher pro Projekt und Monat kostenlos. Jedes zusätzliche 50-GiB-Paket kostet 0,50 $.
Weitere Informationen zu den Preisen finden Sie in der Preisübersicht für Cloud Logging.
VPC-Netzwerknamen (Virtual Private Cloud) 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. Häufig 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 überwachen möchten.
Console
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Optional: Mit dem Feld Filtern können Sie die Anzahl der angezeigten Instanzen einschränken.
Klicken Sie auf den Namen der Instanz, die Sie prüfen möchten.
Im Abschnitt Netzwerk können Sie unter Netzwerkschnittstellen die für die Instanz erstellten Netzwerkschnittstellen (NICs), das mit jeder NIC verknüpfte Netzwerk und Subnetz sowie die zugewiesenen IP-Adressen sehen.
gcloud
Verwenden Sie den Befehl
gcloud compute instances list, 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 Befehl
gcloud compute instances describe, um die Netzwerkschnittstellen (NICs) 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 angezeigt werden sollZONE: Die Zone für die Instanz, die Sie aufrufen möchten.
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
Cloud DNS-Abfragelogging 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 einer freigegebene VPC gehören die Logdatensätze zum Hostprojekt, da das Hostprojekt Inhaber des Netzwerks ist.
So aktivieren Sie das DNS-Logging:
Erstellen Sie mit dem Befehl
gcloud dns policies createeine neue DNS-Richtlinie mit aktiviertem Logging.gcloud dns policies create POLICY_NAME \ --networks=NETWORK_NAMES \ --enable-logging \ --description="Enable DNS query logging for NETWORK_NAMES"Wenn für das Netzwerk bereits eine DNS-Richtlinie vorhanden ist, aktualisieren Sie die vorhandene Logging-Richtlinie, indem Sie den
gcloud dns policies update-Befehl ausführen.gcloud dns policies update POLICY_NAME \ --networks=NETWORK_NAMES \ --enable-logging \
Ersetzen Sie Folgendes:
- POLICY_NAME: 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 überwachen
Verwenden Sie den Antwortcode NXDOMAIN, um Fehler aufgrund nicht vorhandener Domains zu isolieren. Diese Fehler treten auf, wenn der interne DNS-Dienst einen bestimmten Domainnamen nicht auflösen kann.
Geben Sie in das Abfragefeld auf der Konsolenseite 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 Anfragen zur Namensauflösung überwachen
Verwenden Sie den Antwortcode NOERROR, um eine erfolgreiche DNS-Auflösung zu isolieren.
Geben Sie in das Abfragefeld auf der Konsolenseite 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.
Analysezeitraum festlegen
Mit der Zeitbereichsauswahl für Logs können Sie den Zeitraum für die analysierten Logs ändern. Sie befindet sich rechts oben im Fenster Log-Explorer.
Damit Sie Fehler- und Erfolgsraten effektiv vergleichen können, müssen Sie DNS-Abfragelogs aktivieren, bevor Sie zu zonalem DNS migrieren. Google empfiehlt, die Protokollierung 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 überwachen, um sicherzustellen, dass die Migration nicht zu einem Anstieg der DNS-Abfragefehler führt.
Raten für die DNS-Namensauflösung analysieren und vergleichen
Mit den folgenden Informationen können Sie die Fehler- und Erfolgsraten analysieren und vergleichen.
Anzahl der Logs: Für jede Abfrage und jeden Zeitraum wird im Log-Explorer die Anzahl der gefundenen Logeinträge angezeigt. Ein deutlicher Anstieg der
NXDOMAIN-Zahlen nach der Migration für DNS-Namen, die zuvor aufgelöst wurden (NOERROR), könnte auf ein Problem hinweisen.Histogramm: Die Oberfläche des Log-Explorers enthält ein Histogramm. Wenn Ihre Abfragen ausgeführt werden, zeigt das Histogramm die Häufigkeit übereinstimmender Logeinträge für den ausgewählten Zeitraum an. Das ist nützlich für die Visualisierung von:
- Eine Baseline-Rate von
NXDOMAINLogeinträgen vor der Migration. - Alle Spitzen bei
NXDOMAIN-Logeinträgen unmittelbar nach der Migration. - Änderungen bei der Häufigkeit von
NOERROR-Logeinträgen.
Wenn Sie das Histogramm sehen möchten, klicken Sie auf Einstellungen, dann auf Ansicht und schließlich auf Zeitachse einblenden.
- Eine Baseline-Rate von
Nächste Schritte
- Weitere Informationen zum internen DNS für Compute Engine.
- Netzwerkkonfiguration für Ihre Compute-Instanzen ansehen
- Weitere Informationen zum Anzeigen von Logs mit dem Log-Explorer