Zielproxys für Cloud Service Mesh

Dieses Dokument gilt nur für Cloud Service Mesh mit den Load Balancing APIs. Wir empfehlen Ihnen dringend, die Dienstrouting-APIs für die Bereitstellung von Cloud Service Mesh zu verwenden.

Beim Konfigurieren von Cloud Service Mesh legen Sie neben anderen Ressourcen den Zielproxy fest. Im Kontext von Cloud Service Mesh haben Zielproxys zwei primäre Funktionen:

  • Definieren des Protokolls, das Cloud Service Mesh-Clients verwenden, wenn eine Verbindung zu den Back-Ends oder Endpunkten geöffnet wird, die einem Dienst zugeordnet sind.

  • Arbeiten mit Weiterleitungsregeln und URL-Zuordnungen, um eine Routingregelzuordnung zu erstellen. Die Routingregelzuordnung stellt abhängig vom Typ des Zielproxys zusätzliche Funktionen (etwa Routingregeln) zur Verfügung. Eine ungültige Auswahl wird in der Regel entweder in der Benutzeroberfläche ausgeblendet oder von der API abgelehnt.

Zielproxytypen und Anfrageprotokolle

Cloud Service Mesh generiert die Clientkonfiguration immer auf der Grundlage des konfigurierten Zielproxytyps. Wenn Sie einen Zielproxytyp konfigurieren, verwendet der Cloud Service Mesh-Client ein bestimmtes Anfrageprotokoll.

Zielproxy Protokoll anfordern
HTTPS Clients initiieren HTTPS-Verbindungen
HTTP Clients initiieren HTTP-Verbindungen
gRPC Clients initiieren gRPC-Verbindungen
TCP Clients initiieren TCP-Verbindungen

Sie können mehrere Typen ausgewählt werden. Beispiel: Ihre Anwendung möchte zur Kommunikation mit einigen Diensten HTTP verwenden, für andere Dienste aber TCP. Für einen solchen Anwendungsfall müssen Sie sowohl einen Ziel-HTTP-Proxy als auch einen Ziel-TCP-Proxy einrichten.

Gültige Ressourcenkombinationen in einer Routingregelzuordnung

Um Konfigurationsfehler zu vermeiden, erlaubt Cloud Service Mesh nur Routingregelzuordnungen in folgender Form:

  • Weiterleitungsregel > globaler Ziel-HTTPS-Proxy > URL-Zuordnung > ein oder mehrere Back-End-Dienste
  • Weiterleitungsregel > globaler Ziel-HTTP-Proxy > URL-Zuordnung > ein oder mehrere Back-End-Dienste
  • Weiterleitungsregel > globaler Ziel-gRPC-Proxy > URL-Zuordnung > ein oder mehrere Back-End-Dienste
  • Weiterleitungsregel > globaler Ziel-TCP-Proxy > ein Back-End-Dienst

Wenn Sie einen Ziel-HTTP-Proxy mit der Google Cloud Console einrichten, wird der Zielproxy implizit im Rahmen Ihrer Konfiguration der Routingregelzuordnung festgelegt. Die Einrichtung des TCP-Proxys wird in der Google Cloud Console noch nicht unterstützt.

Bei Verwendung der Google Cloud CLI oder der APIs muss der Zielproxy explizit festgelegt werden.

Traffic-Verarbeitung

In den folgenden Abschnitten wird beschrieben, wie Traffic mit dem verwendeten Ziel-Proxy-Typ verarbeitet wird.

HTTP- oder HTTPS-Zielproxy verwenden

Wenn Sie HTTP- oder HTTPS-basierte Dienste konfigurieren, wird normalerweise für jede Dienstinstanz ein Envoy-Proxy bereitgestellt. Cloud Service Mesh konfiguriert diesen Envoy-Proxy. Er ist Teil Ihrer Service-Mesh-Datenebene und verarbeitet Traffic folgendermaßen.

Der Envoy-Proxy empfängt die ausgehende Anfrage. Anschließend werden die Ziel-IP-Adresse und der Zielport der Anfrage mit der IP-Adresse und dem Port verglichen, die in jeder Weiterleitungsregel konfiguriert sind, die auf einen Ziel-HTTP- oder Ziel-HTTPS-Proxy verweist. Wenn eine Übereinstimmung gefunden wird, wertet der Envoy-Proxy die Anfrage gemäß der entsprechenden URL-Zuordnung des Zielproxys aus.

TCP-Ziel-Proxy verwenden

Beim Konfigurieren von TCP-basierten Diensten wird in der Regel pro Dienstinstanz ein Envoy-Proxy bereitgestellt. Cloud Service Mesh konfiguriert diesen Envoy-Proxy. Er ist Teil Ihrer Service-Mesh-Datenebene und verarbeitet Traffic folgendermaßen.

Der Envoy-Proxy empfängt die ausgehende Anfrage. Anschließend werden die Ziel-IP-Adresse und der Zielport der Anfrage mit der IP-Adresse und dem Port verglichen, die in jeder Weiterleitungsregel konfiguriert sind, die auf einen Ziel-TCP-Proxy verweist. Über die Weiterleitungsregel wird der TCP-Traffic dann an einen Zielproxy weitergeleitet, der auf einen Standard-Backend-Dienst verweist. Der Backend-Dienst gibt eine Systemdiagnose an und bestimmt das entsprechende Backend.

gRPC-Zielproxy verwenden

Wenn Sie gRPC-basierte Dienste konfigurieren, werden für die Dienstinstanzen im Allgemeinen keine Envoy-Proxys bereitgestellt. Stattdessen konfiguriert Cloud Service Mesh die gRPC-Bibliothek. Die Bibliothek ist Teil Ihrer Service-Mesh-Datenebene und verarbeitet den Traffic folgendermaßen.

Die gRPC-Bibliothek vergleicht den im URI angegebenen Wert für hostname[:port] mit den Hostregeln in allen URL-Zuordnungen, auf die ein gRPC-Zielproxy verweist. Wird eine Übereinstimmung gefunden, wertet die gRPC-Bibliothek die Anfrage gemäß den Pfadregeln für die übereinstimmende Hostregel aus.

Zielproxy-Ressourcen

Zum Hinzufügen, Löschen, Auflisten und Abrufen von Informationen zu Zielproxys können Sie die REST API oder die gcloud CLI verwenden.

Darüber hinaus können Sie die folgenden gcloud-Befehle verwenden, um Informationen zu einem Zielproxy abzurufen:

gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies] list
gcloud compute [target-http-proxies | target-tcp-proxies | target-grpc-proxies] describe TARGET_PROXY_NAME

APIs

Beschreibungen der Attribute und Methoden, die Sie bei der Arbeit mit Zielproxys über die REST API nutzen können, finden Sie in den folgenden Ressourcen, die Cloud Service Mesh unterstützt:

gcloud-CLI

Informationen zur Google Cloud CLI finden Sie hier:

Nächste Schritte