Konnektivitätstests ist ein Diagnosetool, mit dem Sie die Konnektivität zwischen Netzwerkendpunkten prüfen können. Es analysiert Ihre Konfiguration und führt in einigen Fällen 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.
Für einige Verbindungsszenarien wird bei Konnektivitätstests auch eine Analyse der Live-Datenebene ausgeführt. 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 das Feature unterstützt wird, gibt jeder ausgeführte Test ein Analyseergebnis der Live-Datenebene aus.
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 nehmen
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 eine richtlinienbasierte Route konfiguriert ist, leitet der Konnektivitätstest das Paket an den nächsten Hop weiter, also an einen 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) weisen Ressourcen für Kunden in Projekten und VPC-Netzwerken zu, die Google besitzt und verwaltet. Kunden sind nicht berechtigt, auf diese Ressourcen zuzugreifen.
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 dazu, wie die Konfigurationsanalyse Trace-Traffic von einer VM-Instanz in einem VPC-Netzwerk eines Kunden zu einer Cloud SQL-Instanz im Google-VPC-Netzwerk simuliert. 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 Google-Projekt, da Sie nicht berechtigt sind, diese 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 das Network Connectivity Center verbunden sind
- Zwischen zwei VPC-Spokes des Network Connectivity Centers
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 über eine einzelne Netzwerkschnittstelle mit der Compute Engine-Instanz verbunden sind.
- Richtlinienbasierte Routen
- Private Service Connect
- Instanzen mit 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 Google Cloud-Load-Balancertypen 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.
- Die Überprüfung der Konnektivität von Systemdiagnosen für Cloud Load Balancing mit Back-Ends wird 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.
- 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. Einige GKE-Netzwerkfunktionen wie GKE NetworkPolicies werden jedoch nicht 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-Verbindungen, VPC-Netzwerk-Peering-Verbindungen und externer Repliken.
- Memorystore for Redis-Instanzen werden unterstützt.
- Memorystore for Redis-Cluster werden unterstützt.
- Cloud Run Functions (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 mit Standortobjekten, Threat Intelligence-Daten oder FQDN-Objekten werden nicht unterstützt. Wenn solche Firewalls sich potenziell auf einen bestimmten Trafficfluss auswirken können, gibt Konnektivitätstests eine entsprechende Warnung zurück.
- Resource Manager-Tags für Firewalls werden nicht unterstützt, wenn sie an Compute Engine-Instanzen mit mehreren Netzwerkschnittstellen angehängt sind.
- Internet-NEG-Backends, die auf FQDNs ausgerichtet sind, werden nicht unterstützt. Internet-NEG-Backends, die auf IP-Adressen ausgerichtet sind, werden jedoch unterstützt.
- Cloud Service Mesh-Load Balancer (mit
INTERNAL_SELF_MANAGED
-Weiterleitungsregeln) werden nicht unterstützt. - Google Cloud Armor-Richtlinien werden beim Tracing der Konnektivität zu einer externen IP-Adresse des Anwendungs-Load Balancers nicht berücksichtigt oder verwendet.
- Die Portzuordnung für Private Service Connect wird 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 in GKE-Clustern und ‑Knoten nicht berücksichtigt oder verwendet.
- Externe Cloud SQL-Serverreplikate, die durch DNS-Namen definiert sind, werden nicht unterstützt. Externe Serverrepliken, die durch IP-Adressen definiert sind, werden jedoch unterstützt.
- Cloud Run Functions (2. Generation) werden nicht unterstützt. Sie können die Konnektivität jedoch über eine Cloud Run-Funktion (2. Generation) testen, indem Sie einen Konnektivitätstest für die zugrunde liegende Cloud Run-Version erstellen. 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 des Codes.
- Ausgehender Direct VPC-Traffic für Cloud Run wird nicht unterstützt.
So analysieren Konnektivitätstests die Live-Datenebene
Die Funktion zur Analyse der Live-Datenebene testet die Konnektivität, indem mehrere Trace-Pakete vom Quellendpunkt an das Ziel gesendet werden. In den Ergebnissen der Analyse der Live-Datenebene sehen Sie die Anzahl der gesendeten Prüfungen, die das Ziel erfolgreich erreicht haben, und den Erreichbarkeitsstatus. 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. Die Analyse der Live-Datenebene bietet stattdessen eine unabhängige Bewertung des Verbindungsstatus.
Wenn es deutliche Diskrepanzen zwischen der Konfigurationsanalyse und den Ergebnissen der Analyse der Live-Datenebene gibt, lesen Sie die Informationen unter Fehlerbehebung bei Konnektivitätstests.
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 Edge-Standort des Google-Netzwerks
- 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 Instanzgruppen, zonal gültige 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
- Instanzen mit 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 bestimmten Test die Funktion zur Analyse der Live-Datenebene nicht ausgeführt wird, wird im Feld Ergebnis der letzten Paketübertragung der Wert 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-Netzwerk 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
Packet could be delivered
-Status für einen Konnektivitätstest garantiert nicht, dass Traffic durch die Datenebene geleitet werden kann. Der Zweck des Tests besteht darin, Konfigurationsprobleme zu prüfen, die zu einer Unterbrechung des Traffics führen können.
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 nicht das Testen des Trackings von Firewallverbindungen.
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 kontinuierliches Monitoring vorgesehen.
Bei der Analyse der Live-Datenebene wird die Netzwerkverbindung zu Diagnosezwecken einmalig geprüft. 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)