TCP-Traffic-Routing einrichten
In dieser Anleitung wird gezeigt, wie Sie mit Cloud Service Mesh Traffic an Dienste weiterleiten können, die TCP-Traffic verarbeiten. Dazu gehören Datenbanken, VoIP-Dienste und Verwaltungsplattformen, die TCP-Traffic an bestimmten Ports oder Portbereichen empfangen.
Dieser Leitfaden gilt für die Bereitstellung mit den älteren APIs. Wenn Sie die neuen Service Routing APIs verwenden, die sich in der Vorabversion befinden, finden Sie weitere Informationen unter Cloud Service Mesh für TCP-Dienste mit einer Ressource vom Typ TCPRoute
einrichten.
Mit dieser Anleitung können Sie Folgendes tun:
- Einen Dienst einrichten, der eine Sammlung identischer Back-Ends oder Endpunkte darstellt, die TCP-Anfragen von Clients akzeptieren.
- Richten Sie eine Routingregelzuordnung ein, damit Envoy-Proxys, die von Cloud Service Mesh konfiguriert werden, TCP-Anfragen senden können.
Die folgenden Diagramme zeigen, wie TCP-Routing für VM-Instanzen bzw. Netzwerk-Endpunktgruppen (NEGs) funktioniert.
Vorbereitung
- Dieser Leitfaden baut auf dem Vorbereitungsleitfaden Envoy für Service Mesh auf. Dabei wird davon ausgegangen, dass Sie bereits grundlegende Kenntnisse über die Funktionsweise von Cloud Service Mesh haben.
- Der Leitfaden konzentriert sich auf Aspekte der Cloud Service Mesh-Einrichtung, die sich beim Konfigurieren der Dienste und des Routings für TCP-Traffic unterscheiden.
- In dieser Anleitung wird davon ausgegangen, dass Sie bereits eine verwaltete Instanzgruppe (Managed Instance Group, MIG) oder NEG eingerichtet haben.
Load-Balancing-Ressourcen konfigurieren
Führen Sie die im Folgenden aufgeführten Schritte aus, um die Load-Balancing-Ressourcen zu konfigurieren.
TCP-Systemdiagnose erstellen
Mit VMs einrichten
Verwenden Sie beim Konfigurieren von MIGs den folgenden Befehl, um eine globale Systemdiagnose zu erstellen. Ersetzen Sie PORT
durch die TCP-Portnummer, die diese Systemdiagnose überwacht:
gcloud compute health-checks create tcp td-vm-health-check \ --global \ --port=PORT
Mit NEGs einrichten
Verwenden Sie zum Konfigurieren von NEGs den folgenden Befehl, um eine Systemdiagnose zu erstellen:
gcloud compute health-checks create tcp td-gke-health-check \ --use-serving-port
Weitere Informationen zu Systemdiagnosen finden Sie hier:
- Systemdiagnosen erstellen in der Dokumentation zu Cloud Load Balancing
gcloud compute health-checks create tcp
in der Befehlsreferenz fürgcloud
Firewallregel für die Systemdiagnose erstellen
Mit dieser Regel können Google Cloud-Systemdiagnosen Ihre Back-Ends erreichen.
gcloud
gcloud compute firewall-rules create fw-allow-health-checks \ --action=ALLOW \ --direction=INGRESS \ --source-ranges=35.191.0.0/16,130.211.0.0/22 \ --target-tags=TAGS \ --rules=tcp:80
Weitere Informationen zu Firewallregeln für Systemdiagnosen finden Sie hier:
- Firewallregeln für Systemdiagnosen in der Dokumentation zu Cloud Load Balancing
gcloud compute firewall-rules create
in der Referenz zumgcloud
-Befehl (einschließlich Anleitung fürTAGS
)
Back-End-Dienst für Ihre TCP-Back-Ends erstellen
Die Einrichtung des Back-End-Dienstes für TCP mit Cloud Service Mesh unterscheidet sich geringfügig von der Einrichtung für HTTP. Diese Unterschiede werden in den folgenden Schritten dargestellt.
Mit VMs einrichten
Wenn Sie MIGs konfigurieren, erstellen Sie mit dem folgenden Befehl einen Backend-Dienst und fügen die Systemdiagnose hinzu:
gcloud compute backend-services create td-vm-service \ --global \ --load-balancing-scheme=INTERNAL_SELF_MANAGED \ --health-checks=td-vm-health-check \ --protocol=TCP \ --global-health-checks
Im letzten Schritt zum Einrichten des Backend-Dienstes fügen Sie die Backends hinzu. Da es sich bei diesem Schritt um die standardmäßige Cloud Service Mesh-Einrichtung handelt (mit anderen Worten, nichts spezifisch für TCP-basierte Dienste), wird er hier nicht angezeigt. Weitere Informationen finden Sie unter Back-End-Dienst erstellen im Einrichtungsleitfaden für Compute Engine-VMs mit automatischer Envoy-Bereitstellung.
Mit NEGs einrichten
Wenn Sie NEGs konfigurieren, verwenden Sie die folgenden Befehle, um einen Back-End-Dienst zu erstellen und die Systemdiagnose mit dem Back-End-Dienst zu verknüpfen:
gcloud compute backend-services create td-gke-service \ --global \ --health-checks=td-gke-health-check \ --protocol=TCP \ --load-balancing-scheme=INTERNAL_SELF_MANAGED
Im letzten Schritt zur Einrichtung des Back-End-Dienstes muss Ihre Back-End-Gruppe hinzugefügt werden. Da es sich bei diesem Schritt um die standardmäßige Cloud Service Mesh-Einrichtung handelt (mit anderen Worten, nichts spezifisch für TCP-basierte Dienste), wird er hier nicht angezeigt. Weitere Informationen finden Sie unter Back-End-Dienst erstellen im Einrichtungsleitfaden für GKE-Pods mit automatischer Envoy-Einschleusung.
Routing für TCP-basierten Back-End-Dienst einrichten
In diesem Abschnitt erstellen Sie einen globalen Ziel-TCP-Proxy sowie eine globale Weiterleitungsregel. Mit diesen Ressourcen können Ihre Anwendungen mit den neu erstellten Back-End-Diensten Traffic an die Back-Ends senden.
Beachten Sie dabei Folgendes:
- Die Weiterleitungsregel muss das Load-Balancing-Schema
INTERNAL_SELF_MANAGED
haben. Die virtuelle IP-Adresse (VIP) und der Port, die Sie in der Weiterleitungsregel konfigurieren, sind die VIP und der Port, die Ihre Anwendungen beim Senden von Traffic an Ihre TCP-Dienste verwenden. Sie können die VIP aus einem Ihrer Subnetze auswählen. Cloud Service Mesh verwendet diese VIP und diesen Port, um Clientanfragen einem bestimmten Back-End-Dienst zuzuordnen.
Informationen darüber, wie Clientanfragen Back-End-Diensten zugeordnet werden, finden Sie unter Service Discovery.
gcloud
Mit dem folgenden Befehl erstellen Sie den Ziel-TCP-Proxy. Ersetzen Sie
BACKEND_SERVICE
durch den Namen des im vorherigen Schritt erstellten Back-End-Dienstes. Im folgenden Beispiel wirdtd-tcp-proxy
als Name für den Ziel-TCP-Proxy verwendet. Sie können aber einen beliebigen Namen nutzen, der Ihren Anforderungen entspricht.gcloud compute target-tcp-proxies create td-tcp-proxy \ --backend-service=BACKEND_SERVICE
Erstellen Sie die Weiterleitungsregel. Mit der Weiterleitungsregel werden die VIP und der Port angegeben, die für die Zuordnung von Clientanfragen zu einem bestimmten Back-End-Dienst verwendet werden. Weitere Informationen finden Sie in der
gcloud
-Befehlsreferenz untergcloud compute forwarding-rules create
.gcloud compute forwarding-rules create td-tcp-forwarding-rule \ --global \ --load-balancing-scheme=INTERNAL_SELF_MANAGED \ --address=VIP\ --target-tcp-proxy=td-tcp-proxy \ --ports=PORT \ --network=default
An dieser Stelle ist Cloud Service Mesh so konfiguriert, dass das Load-Balancing von Traffic für die in der Weiterleitungsregel angegebene VIP über Ihre Back-Ends erfolgt.
Fehlerbehebung
Wenn Ihre Anwendungen versuchen, Anfragen an Ihre TCP-basierten Dienste zu senden, gehen Sie so vor:
- Prüfen Sie, ob der Port der TCP-Systemdiagnose mit dem Port übereinstimmt, über den die TCP-Anwendung Traffic für die Systemdiagnose erwartet.
- Prüfen Sie, ob der Portname des Back-End-Dienstes mit dem in der Instanzgruppe angegebenen Portnamen übereinstimmt.
Nächste Schritte
- Informationen zu den anderen Schritten im Einrichtungsprozess finden Sie unter Einrichtung von Cloud Service Mesh mit Envoy vorbereiten.
- Allgemeine Informationen zur Fehlerbehebung bei Cloud Service Mesh finden Sie unter Fehlerbehebung bei Bereitstellungen, die Envoy verwenden.