Konnektivitätstests ist ein Diagnosetool, mit dem Sie die Konnektivität zwischen Netzwerkendpunkten prüfen können. Er analysiert Ihre Konfiguration und führt eine Live-Datenebenenanalyse zwischen den Endpunkten durch. Ein Endpunkt ist eine Quelle oder ein Ziel des Netzwerktraffics, z. B. eine VM, ein GKE-Cluster (Google Kubernetes Engine), eine Weiterleitungsregel für den Load-Balancer oder eine IP-Adresse im Internet.
Zur Analyse der Netzwerkkonfigurationen simulieren Konnektivitätstests den erwarteten Weiterleitungspfad eines Pakets über Ihr VPC-Netzwerk (VPC), Cloud VPN-Tunnel oder VLAN-Anhänge. Konnektivitätstests können auch den Weiterleitungspfad für erwarteten eingehenden Traffic zu Ressourcen in Ihrem VPC-Netzwerk simulieren.
Bei einigen Konnektivitätsszenarien führen Konnektivitätstests auch Live-Analyse der Datenebene. Mit diesem Feature werden Pakete über die Datenebene gesendet, um die Verbindung zu prüfen und um eine grundlegende Diagnose von Latenz und Paketverlusten zu ermöglichen. Wenn die Route für die Funktion unterstützt wird, führt jeder Test, den Sie ausführen, enthält ein Analyseergebnis für die Live-Datenebene.
Informationen zum Erstellen und Ausführen von Tests für verschiedene Szenarien finden Sie unter Konnektivitätstests erstellen und ausführen
Die API für Konnektivitätstests ist die Network Management API. Weitere Informationen finden Sie in der API-Dokumentation.
Warum Konnektivitätstests verwenden?
Konnektivitätstests können Ihnen bei der Behebung der folgenden Netzwerkverbindungsprobleme helfen:
- Unbeabsichtigt uneinheitliche Konfigurationen
- Veraltete Konfigurationen, die durch Migrationen oder Änderungen der Netzwerkkonfiguration verursacht werden
- Konfigurationsfehler für eine Vielzahl von Netzwerkdiensten und -funktionen
Wenn Sie von Google verwaltete Dienste testen, können Sie mit Konnektivitätstests auch feststellen, ob es ein Problem in Ihrem VPC-Netzwerk oder im Google-VPC-Netzwerk gibt, das für die Dienstressourcen verwendet wird.
Wie Konnektivitätstests Konfigurationen analysieren
Beim Analysieren von Netzwerkkonfigurationen verwenden Konnektivitätstests eine abstrakte Netzwerkzustandsmaschine, um zu modellieren, wie ein VPC-Netzwerk Pakete verarbeiten soll. Google Cloud verarbeitet ein Paket in mehreren logischen Schritten.
Die Analyse kann viele mögliche Pfade umfassen.
Aufgrund der Vielzahl von VPC-Netzwerkdiensten und -features, die von der Konfigurationsanalyse unterstützt werden, kann ein Testpaket, das eine VPC-Netzwerkkonfiguration durchläuft, viele mögliche Pfade haben.
Das folgende Diagramm zeigt ein Modell, in dem die Konfigurationsanalyse den Trace-Traffic zwischen zwei Compute Engine-VM-Instanzen simuliert: eine auf der linken und eine auf der rechten Seite.
Die Analyse hängt von Ihrer Netzwerkinfrastruktur ab
Abhängig von Ihrem Google Cloud-Netzwerk und Ihren Ressourcenkonfigurationen wird dieser Traffic möglicherweise durch einen Cloud-VPN-Tunnel, ein VPC-Netzwerk, einen Google Cloud-Load Balancer oder ein Peering-VPC-Netzwerk geleitet, bevor die Ziel-VM-Instanz erreicht wird.
Die Analyse folgt einem der vielen endlichen Zustände
Die begrenzte Anzahl von Schritten zwischen abstrakten Zuständen, bis ein Paket zugestellt oder verworfen wurde, wird als endlicher Automat modelliert. Dieser endliche Automat kann sich jederzeit in einem von vielen endlichen Zuständen befinden und kann mehrere nachfolgende Zustände haben.
Wenn Konnektivitätstests beispielsweise mehrere Routen entsprechend der Routenpriorität zuordnen, kann Google Cloud eine Route unter mehreren Routen anhand einer nicht angegebenen Hash-Funktion in der Datenebene auswählen. Wenn ein richtlinienbasierte Route konfiguriert, Konnektivitätstest leitet das Paket an den nächsten Hop weiter, den internen Load-Balancer.
Im vorherigen Fall gibt das Trace von Konnektivitätstests alle möglichen Routen zurück, kann jedoch nicht bestimmen, mit welcher Methode Google Cloud die Routen zurückgibt. Dies liegt daran, dass diese Methode Google Cloud-intern ist und Änderungen unterliegen kann.
Von Google verwaltete Dienste
Von Google verwaltete Dienste wie Cloud SQL und Google Kubernetes Engine (GKE) Ressourcen für Kunden in Projekten und VPC-Netzwerken zuweisen die Google besitzt und verwaltet. Kunden sind nicht berechtigt, darauf zuzugreifen Ressourcen.
Die Konfigurationsanalyse der Konnektivitätstests kann trotzdem testen und ein Gesamtergebnis zur Erreichbarkeit für von Google verwaltete Dienste liefern. Details zu den getesteten Ressourcen im Google-Projekt werden jedoch nicht geliefert.
Das folgende Diagramm zeigt ein Modell, das zeigt, wie die Konfigurationsanalyse Simuliert Trace-Traffic von einer VM-Instanz in einer Kunden-VPC. Netzwerk zu einer Cloud SQL-Instanz in der Google-eigenen VPC Netzwerk. In diesem Beispiel sind die Netzwerke über VPC-Netzwerk-Peering verbunden.
Vergleichbar einem Standardtest zwischen zwei VMs werden in logischen Schritten die Firewallregeln für den relevanten ausgehenden Traffic geprüft und mit der Route abgeglichen. Beim Testen stellt die Konfigurationsanalyse der Konnektivitätstests Details zu diesen Schritten bereit. Für den letzten logischen Schritt der Analyse der Konfiguration im Google-VPC-Netzwerk liefert die Analyse jedoch nur ein Gesamtergebnis zur Erreichbarkeit. Konnektivitätstests enthalten keine Details zu den Ressourcen im Projekt von Google, da Sie nicht berechtigt sind, sie aufzurufen.
Weitere Informationen finden Sie in den Testbeispielen unter Verbindung zu und von Google-verwalteten Diensten testen.
Unterstützte Konfigurationen
Die Konfigurationsanalyse der Konnektivitätstests unterstützt das Testen der in den folgenden Abschnitten beschriebenen Netzwerkkonfigurationen.
Trafficabläufe
- VM-Instanzen zum und vom Internet
- VM-Instanz zu VM-Instanz
- Von Google Cloud zu und von lokalen Netzwerken
- Zwischen zwei lokalen Netzwerken, die über Network Connectivity Center verbunden sind
- Zwischen zwei VPC-Spokes von Network Connectivity Center
VPC-Netzwerkfeatures
Sie können die Konnektivität zwischen Ressourcen testen, die die folgenden Features verwenden (Sowohl IPv4 als auch IPv6 werden unterstützt, sofern zutreffend):
- VPC-Netzwerke
- VPC-Netzwerk-Peering
- Freigegebene VPC
- Privater Google-Zugriff
- Alias-IP-Bereiche
- Private IP-Adressen außerhalb des RFC 1918-Adressbereichs
- Eine Compute Engine-VM-Instanz mit mehreren Netzwerkschnittstellen
- Benutzerdefinierte Routen, die aus Peering-VPC-Netzwerken importiert wurden
- Transitives VPC-Routing
- VPC-Firewallregeln
- Regionale Netzwerk-Firewallrichtlinien
- Hierarchische Firewallrichtlinien und globale Netzwerk-Firewallrichtlinien
- Resource Manager-Tags für Firewalls wenn sie mit der Compute Engine-Instanz über eine einzige Netzwerkschnittstelle verbunden sind.
- Richtlinienbasierte Routen
- Private Service Connect
- Dual-Stack-Instanzen mit IPv4- und IPv6-Adressen einschließlich Instanzen mit mehreren Netzwerkschnittstellen
Google Cloud Hybrid-Netzwerklösungen
Die folgenden Hybrid-Netzwerklösungen werden sowohl für IPv4 als auch für IPv6 unterstützt:
- Cloud VPN
- Cloud Interconnect
- Cloud Router, einschließlich dynamischer Routen, die BGP- und statische Routen verwenden
Network Connectivity Center
VPC-Spokes und Hybrid-Spokes für Network Connectivity Center werden unterstützt.
Cloud NAT
Öffentliche NAT und private NAT werden unterstützt.
Cloud Load Balancing
- Die folgenden Load-Balancer-Typen von Google Cloud werden unterstützt: externe Application Load Balancer, externe Passthrough-Network Load Balancer, externe Proxy-Network Load Balancer, interne Application Load Balancer, interne Passthrough-Network Load Balancer und interne Proxy-Network Load Balancer.
- Das Testen der Verbindung zu den IP-Adressen des Load Balancers wird unterstützt.
- Konnektivität der Cloud Load Balancing-Systemdiagnosen mit Back-Ends unterstützt.
- Interne TCP/UDP-Load-Balancer können als nächste Hops verwendet werden.
Informationen zu nicht unterstützten Cloud Load Balancing-Features finden Sie im Abschnitt Nicht unterstützte Konfigurationen.
Google Kubernetes Engine (GKE)
- Die Verbindung zu und zwischen GKE-Knoten und der GKE-Steuerungsebene wird unterstützt.
- Beim Testen der privaten IP-Adresse einer GKE-Steuerungsebene bestimmt die Konfigurationsanalyse für Konnektivitätstests, ob das Paket an die Steuerungsebene zugestellt werden kann. Das schließt die Analyse der Konfiguration im Google-VPC-Netzwerk ein.
- Beim Testen der öffentlichen IP-Adresse einer GKE-Steuerungsebene bestimmt die Konfigurationsanalyse der Konnektivitätstests, ob das Paket an das Google-VPC-Netzwerk gesendet werden kann, in dem die Steuerungsebene ausgeführt wird. Die Analyse der Konfiguration innerhalb des Google-VPC-Netzwerks ist nicht eingeschlossen.
- Die Konnektivität zu dem GKE-Dienst über Cloud Load Balancing wird unterstützt.
- Die Verbindung zu einem GKE-Pod in einem VPC-nativen Cluster wird unterstützt.
Informationen zu nicht unterstützten GKE-Features finden Sie im Abschnitt Nicht unterstützte Konfigurationen.
Andere Google Cloud-Produkte und -Dienste
Die folgenden zusätzlichen Google Cloud-Produkte oder -Dienste werden unterstützt:
- Cloud SQL-Instanzen werden unterstützt, einschließlich Private Service Connect-Verbindung, VPC-Netzwerk-Peering-Verbindung und externe Replikate.
- Beim Testen der privaten IP-Adresse einer Cloud SQL-Instanz bestimmt die Konfigurationsanalyse, ob das Paket an die Instanz zugestellt werden kann. Das schließt die Analyse der Konfiguration im Google-VPC-Netzwerk ein.
- Beim Testen der öffentlichen IP-Adresse einer Cloud SQL-Instanz bestimmt die Konfigurationsanalyse, ob das Paket an das Google-VPC-Netzwerk gesendet werden kann, in dem die Instanz ausgeführt wird. Die Analyse der Konfiguration innerhalb des Google-VPC-Netzwerks ist nicht eingeschlossen.
- Cloud Run-Funktionen (1. Generation) werden unterstützt.
- Cloud Run-Überarbeitungen werden unterstützt.
- Die App Engine-Standardumgebung wird unterstützt.
Nicht unterstützte Konfigurationen
Die Konfigurationsanalyse der Konnektivitätstests unterstützt keine Tests der folgenden Netzwerkkonfigurationen:
- Firewallrichtlinien-Regeln mit Standortobjekte Threat Intelligence-Daten oder FQDN-Objekte werden nicht unterstützt.
- Resource Manager-Tags für Firewalls werden nicht unterstützt, wenn sie Compute Engine-Instanzen mit mehreren Netzwerkschnittstellen.
- Serverlose NEG Back-Ends werden nicht unterstützt.
- Internet-NEG Back-Ends, die auf FQDNs ausgerichtet sind, werden nicht unterstützt. Internet-NEG-Back-Ends IP-Adressen für die Ausrichtung unterstützt werden.
- Cloud Service Mesh-Load-Balancer (mit dem
INTERNAL_SELF_MANAGED
-Weiterleitungsregeln) werden nicht unterstützt. - Google Cloud Armor-Richtlinien werden nicht berücksichtigt oder verwendet wenn die Konnektivität zu einer externen IP-Adresse des Application Load Balancers verfolgt wird.
- Private Service Connect-Schnittstellen werden nicht unterstützt.
- HA VPN-Gateways, die mit Compute Engine-VMs verbunden sind werden nicht unterstützt.
- GKE-Netzwerkrichtlinien und IP-Masquerading Konfigurationen werden beim Tracing der Konnektivität zu IP-Adressen nicht berücksichtigt oder verwendet in GKE-Clustern und -Knoten.
- Replikate externer Cloud SQL-Server durch DNS-Namen definiert werden, werden nicht unterstützt. Externe Serverreplikate, die durch IP-Adressen definiert sind, werden jedoch unterstützt.
- Cloud Run-Funktionen (2. Generation) werden nicht unterstützt. Sie können jedoch die Konnektivität einer Cloud Run-Funktion (2. Generation) testen, indem Sie ein Konnektivitätstest für das zugrunde liegende Cloud Run Überarbeitung. Jedes Mal, wenn eine Cloud Run-Funktion bereitgestellt wird, wird eine Cloud Run-Überarbeitung erstellt.
- Die flexible App Engine-Umgebung wird nicht unterstützt.
- Cloud Run-Jobs werden nicht unterstützt. Weitere Informationen finden Sie unter Dienste und Jobs: zwei Möglichkeiten zum Ausführen von Code
- Direkter ausgehender VPC-Traffic von Cloud Run wird nicht unterstützt.
So analysieren Konnektivitätstests die Live-Datenebene
Die Analysefunktion der Live-Datenebene testet die Konnektivität, indem mehrere Traces gesendet werden vom Quellendpunkt zum Ziel. Die Analyse der Live-Datenebene die Anzahl der gesendeten Prüfungen und die Anzahl der das Ziel erreicht hat und einen Erreichbarkeitsstatus hat. Dieser Status wird anhand der Anzahl der erfolgreich zugestellten Prüfungen ermittelt, wie in der folgenden Tabelle dargestellt.
Status | Anzahl der Prüfungen, die ihr Ziel erreicht haben |
---|---|
Erreichbar | Mindestens 95 % |
Unerreichbar | – |
Teilweise erreichbar | Mehr als 0 und weniger als 95 % |
Die dynamische Prüfung zeigt nicht nur an, wie viele Pakete erfolgreich zugestellt wurden, sondern auch Informationen zum Medianwert und zum 95. Perzentil der Einweg-Latenz.
Die Analyse der Live-Datenebene hängt nicht von der Konfigurationsanalyse ab. Stattdessen Die Live-Datenebenenanalyse bietet eine unabhängige Bewertung der Konnektivität. Bundesstaat.
Wenn Sie offensichtliche Abweichungen zwischen der Konfigurationsanalyse feststellen und Live-Analyseergebnisse der Datenebene, Fehler bei Konnektivitätstests beheben
Unterstützte Konfigurationen
Die Analyse der Live-Datenebene unterstützt die folgenden Netzwerkkonfigurationen.
Trafficabläufe
- Zwischen zwei VM-Instanzen
- Zwischen einer VM-Instanz und einer Cloud SQL-Instanz
- Zwischen einer VM-Instanz und einem Endpunkt der GKE-Steuerungsebene
- Zwischen einer VM-Instanz und einem Google-Edge-Standort
- IP-Protokolle: TCP, UDP
VPC-Netzwerkfeatures
Sie können die Konnektivität zwischen Ressourcen mit den folgenden Features dynamisch prüfen:
- VPC-Netzwerk-Peering
- Freigegebene VPC
- Alias-IP-Bereiche
- Externe IP-Adressen
- Interne IP-Adressen, private IP-Adressen außerhalb des RFC-1918-Adressbereichs
- Benutzerdefinierte Routen
- Load Balancer als Ziel. Die unterstützten Back-Ends der Load-Balancer sind ein Instanzgruppen Zonale Netzwerk-Endpunktgruppen (NEGs) und Private Service Connect-Back-Ends
- Firewallregeln für eingehenden Traffic, einschließlich hierarchischer Firewallrichtlinienregeln für eingehenden Traffic und VPC-Firewallregeln für eingehenden Traffic
- Dual-Stack-Instanzen mit IPv4- und IPv6-Adressen einschließlich Instanzen mit mehreren Netzwerkschnittstellen
- Private Service Connect-Endpunkte für veröffentlichte Dienste und Google APIs
Nicht unterstützte Konfigurationen
Konfigurationen, die nicht explizit als "unterstützt" aufgeführt sind, werden nicht unterstützt. Konfigurationen, bei denen Verbindungen durch Firewallregeln für ausgehenden Traffic blockiert werden, werden ebenfalls nicht unterstützt.
Wenn bei einem Test das Feature für die Analyse der Live-Datenebene nicht ausgeführt wird,
Im Feld Ergebnis der letzten Paketübertragung wird ein N/A
oder -
angezeigt.
Überlegungen und Einschränkungen
Berücksichtigen Sie die folgenden Überlegungen, wenn Sie entscheiden, ob Konnektivitätstests verwendet werden sollen.
- Die Konfigurationsanalyse, die von den Konnektivitätstests ausgeführt wird, basiert vollständig auf Konfigurationsinformationen für Google Cloud-Ressourcen und spiegelt möglicherweise nicht den tatsächlichen Zustand oder den Status der Datenebene eines VPC-Netzwerks wider.
- Während Konnektivitätstests einige dynamische Konfigurationsinformationen wie den Cloud VPN-Tunnelstatus und dynamische Routen auf Cloud Router abrufen, wird nicht auf den Integritätsstatus der internen Produktionsinfrastruktur und Datenebenenkomponenten von Google zugegriffen oder dieser beibehalten.
- Der Status
Packet could be delivered
für einen Konnektivitätstest ist keine Garantie, dass Traffic die Datenebene passieren kann. Die Ziel des Tests ist es, Konfigurationsprobleme zu überprüfen, weniger Zugriffe verzeichnen.
Bei unterstützten Routen ergänzen die Analyseergebnisse der Live-Datenebene die Ergebnisse der Konfigurationsanalyse, indem sie testen, ob übertragene Pakete am Ziel ankommen.
Konnektivitätstests kennen keine Netzwerke außerhalb von Google Cloud
Externe Netzwerke sind so definiert:
- Lokale Netzwerke, die sich in Ihrem Rechenzentrum oder einer anderen Einrichtung befinden, in der Sie Ihre Hardwaregeräte und Softwareanwendungen betreiben.
- Andere Cloud-Anbieter, bei denen Sie Ressourcen ausführen.
- Ein Host im Internet, der Traffic an Ihr VPC-Netzwerk sendet.
Konnektivitätstests führen kein Tracking von Firewall-Verbindungen durch
Das Verbindungstracking für VPC-Firewalls speichert Informationen zu neuen und hergestellten Verbindungen und ermöglicht das Zulassen oder Einschränken des nachfolgenden Traffics anhand dieser Informationen.
Die Konfigurationsanalyse der Konnektivitätstests unterstützt kein Tracking von Firewall-Verbindungen, da sich die Tabelle der Firewall-Verbindungen in der Datenebene für eine VM-Instanz befindet und nicht zugänglich ist. Die Konfigurationsanalyse kann jedoch das Verbindungs-Tracking simulieren, indem sie eine Rückverbindung zulässt, die normalerweise von einer Firewallregel für eingehenden Traffic verweigert wird, solange Konnektivitätstests die ausgehende Verbindung initiieren.
Die Analyse der Live-Datenebene unterstützt das Testen der Nachverfolgung der Firewallverbindung nicht.
Konnektivitätstests können keine VM-Instanzen testen, die zum Ändern des Weiterleitungsverhaltens konfiguriert sind
Konnektivitätstests können keine VM-Instanzen testen, die für die Ausführung in der Datenebene als Router, Firewalls, NAT-Gateways, VPNs usw. konfiguriert wurden. Diese Art der Konfiguration macht es schwierig, die auf der VM-Instanz ausgeführte Umgebung zu bewerten. Darüber hinaus wird dieses Testszenario nicht von der Analyse der Live-Datenebene unterstützt.
Die Ergebniszeiten von Konnektivitätstests können variieren
Die Ergebnisse der Konnektivitätstests können zwischen 30 Sekunden und 10 Minuten dauern. Die Dauer eines Tests hängt von der Größe der VPC-Netzwerkkonfiguration und der Anzahl der von Ihnen verwendeten Google Cloud-Ressourcen ab.
Die folgende Tabelle zeigt die Antwortzeiten, die Sie für alle Nutzer erwarten können, die einen Test für eine Beispielkonfiguration in einer Abfrage ausführen. Diese Konfiguration enthält VM-Instanzen, einen Cloud VPN-Tunnel und Google Cloud-Load-Balancer.
Projektgröße | Anzahl der Google Cloud-Ressourcen | Antwortlatenz |
---|---|---|
Kleines Projekt | Weniger als 50 | 60 Sekunden für 95 % der Anfragen aller Nutzer |
Mittelgroßes Projekt | Mehr als 50, aber weniger als 5.000 | 120 Sekunden für 95 % der Anfragen aller Nutzer |
Großes Projekt | Größer als 5.000 | 600 Sekunden für 95 % der Anfragen aller Nutzer |
Die Analyse der Live-Datenebene ist nicht für ein kontinuierliches Monitoring vorgesehen
Bei der Analyse der Live-Datenebene wird die Netzwerkverbindung einmalig überprüft zu diagnostischen Zwecken. Für ein kontinuierliches Monitoring von Konnektivität und Paketverlusten verwenden Sie das Dashboard zur Leistungsüberwachung.
Bei der Analyse der Live-Datenebene werden nicht mehrere Traces getestet
Die Analyse der Live-Datenebene wird nicht unterstützt, wenn die Route nicht deterministisch ist.
Unterstützung durch VPC Service Controls
VPC Service Controls bietet zusätzliche Sicherheit für Konnektivitätstests, um das Risiko einer Daten-Exfiltration zu verringern. Mithilfe von VPC Service Controls können Sie Projekte in Perimeterbereiche einfügen, die Ressourcen und Services vor Anfragen schützen, die ihren Ursprung außerhalb des Perimeters haben.
Weitere Informationen zu Dienstperimetern finden Sie auf der Seite Details und Konfiguration von Dienstperimetern der VPC Service Controls-Dokumentation.
Nächste Schritte
Konnektivitätstests für verschiedene Anwendungsfälle für die Verbindung verwenden
ICMP-Probleme identifizieren und beheben (Anleitung)