HTTP(S)-Load-Balancing für API Gateway

Durch die Integration von Google Cloud HTTP(S)-Load-Balancing für API Gateway können Ihre serverlosen Back-Ends alle Features von Cloud Load Balancing nutzen. Durch die Kombination von API Gateway und HTTP(S)-Load-Balancing mit einer serverlosen Netzwerk-Endpunktgruppe (serverlose NEG) können Sie:

  • Gateways mit benutzerdefinierten Markendomains hosten
  • TLS für Gateways mit von einer bevorzugten Zertifizierungsstelle ausgestellten Zertifikaten konfigurieren
  • Gemeinsamen Einstiegspunkt für ein Gateway-Routing an mehrere Back-Ends erstellen
  • Gateways in mehreren geografischen Regionen für Hochverfügbarkeit bereitstellen, ohne URLs für jede Region verwalten zu müssen
  • Gateways mit Cloud Armor schützen
  • Gateway-Antwortzeit durch Nutzung von Cloud CDN verbessern

Serverlose NEG für API-Gateway verwenden

Eine Netzwerk-Endpunktgruppe (NEG) ist eine Gruppe von Back-End-Endpunkten für einen Load-Balancer. Eine serverlose NEG ist ein Back-End, das auf ein von Google gehostetes serverlosen Back-End wie Cloud Run, App Engine oder API Gateway verweist. Ein serverloses NEG-Back-End für API Gateway kann Folgendes darstellen:

  • Eine API-Gateway-Instanz
  • Eine Gruppe von Gateways, die mit derselben API-Konfiguration konfiguriert wurden

Die folgende Abbildung zeigt, wie serverlose NEGs im Cloud Load Balancing-Modell verwendet werden können:

Diagramm der serverlosen NEG als Back-End für multiregionale Gateways

Wie oben dargestellt, kann ein Back-End-Dienst von mehreren serverlosen NEGs verwaltet werden. Jede serverlose NEG kann eine einzelne API-Gateway-Instanz enthalten oder eine URL-Maske verwenden, um auf mehrere Gateways zu verweisen. Da alle als Back-End-Dienst fungierenden NEGs für das Load-Balancing verwendet werden, sollten sie funktional äquivalente Gateway-Deployments darstellen. Zum Beispiel sollte für alle NEGs dieselbe API-Konfiguration in jedem Gateway in verschiedenen Regionen bereitgestellt werden. Wenn ein Back-End-Dienst mehrere NEGs enthält, sorgt der Load-Balancer für ausgewogenen Traffic zwischen diesen NEGs und minimiert so die Anfragelatenz.

Einschränkungen bei serverlosen NEGs und API-Gateway

Bei der Verwendung von serverlosen NEGs zum Einbinden von Cloud Load Balancing für API Gateway sollten einige Einschränkungen berücksichtigt werden. Beispiele:

  • Serverlose NEGs können keine Netzwerkendpunkte wie IP-Adressen oder Ports anhängen.
  • Serverlose NEGs können nur auf API-Gateway-Instanzen verweisen, die sich in derselben Region befinden, in der die NEG erstellt wird.
  • Serverlose NEGs können nur mithilfe des serverlosen NEG-Back-Ends auf API Gateway-Instanzen verweisen, die im selben Projekt wie der Load-Balancer erstellt wurden.
  • API Gateway unterstützt noch nicht die Einstellungen für eingehenden Traffic. Daher gibt es keine Möglichkeit, den Zugriff auf Ihr API-Gateway über die vom Dienst generierte Gateway-URL zu deaktivieren und sicherzustellen, dass der gesamte Traffic vom Load-Balancer verarbeitet wird.

Weitere Informationen zu Einschränkungen für serverlose NEGs und Back-End-Dienste finden Sie unter Einschränkungen.

Einschränkungen bei serverlosen NEGs in Back-End-Dienstkonfigurationen

Ein Back-End-Dienst definiert, wie Cloud Load Balancing Traffic verteilt. Die Back-End-Dienstkonfiguration enthält eine Reihe von Werten, z. B. das Protokoll für die Verbindung mit Back-Ends, verschiedene Verteilungs- und Sitzungseinstellungen, Systemdiagnosen und Zeitüberschreitungen. Bei serverlosen NEGs, die als Back-End-Dienst für API Gateway verwendet werden, bieten diese Einstellungen eine detaillierte Kontrolle über die Funktionsweise Ihres Load-Balancers.

Die Ressourcendefinition eines Back-End-Dienstes hat folgende Auswirkungen auf das Load-Balancing-Design:

  • Serverlose NEGs können nicht mit anderen Arten von NEGs im selben Back-End-Dienst verwendet werden. Es ist beispielsweise nicht möglich, aus demselben Back-End-Dienst eine Weiterleitung an einen GKE-Cluster und eine API-Gateway-Instanz durchzuführen.
  • Alle serverlosen NEGs, die in einem Back-End-Dienst kombiniert sind, müssen denselben Back-End-Typ verwenden. Serverlose NEGs mit API-Gateway können nur mit anderen serverlosen NEGs von API Gateway kombiniert werden. Serverlose NEGs von App Engine können nur mit serverlosen NEGs von App Engine kombiniert werden.
  • Ein Back-End-Dienst darf pro Region nur eine serverlose NEG enthalten.

Beim Definieren einer Back-End-Dienstkonfiguration, die an eine serverlose NEG weitergeleitet wird, gelten die folgenden Feldeinschränkungen:

  • balancingMode kann nicht angegeben werden
  • Das Feld healthCheck muss leer sein und kann nicht angegeben werden
  • Ports können nicht angegeben werden
  • Nur HTTP- und HTTPS-Protokolle werden unterstützt.
  • Die Werte in utilization- oder connection-bezogenen Feldern werden nicht unterstützt.

Die Felder IAP, cdnPolicy und securityPolicy in der Back-End-Dienstkonfiguration sind für serverlose NEGs gültig. Diese Felder können verwendet werden, um Identity-Aware Proxy, Cloud CDN und Cloud Armor mit Ihrem API-Gateway-Dienst einzurichten.

Nächste Schritte