Globalen Cloud Load Balancing-Backend-Dienst in Application Design Center konfigurieren

Sie erstellen einen Load-Balancer in Ihrer Anwendung, indem Sie verschiedene Frontend- und Backend-Komponenten von Cloud Load Balancing konfigurieren und verbinden. Die separaten Komponenten helfen Ihnen, unterschiedliche Kontrollen für externen und internen Traffic anzuwenden und direkten Zugriff auf Daten zu verhindern.

Mit der globalen Backend-Komponente von Cloud Load Balancing können Sie die Einstellungen für die Verteilung des Load-Balancer-Traffics verwalten, einschließlich des Protokolls, das für die Verbindung zu Backends verwendet wird, Sitzungseinstellungen, Systemdiagnosen und Zeitüberschreitungen. Sie können die folgenden Backends konfigurieren:

  • Serverlose NEG: Eine Liste serverloser Cloud Run- oder Cloud Run Functions-Anwendungen als Back-Ends.

  • Verwaltete Instanzgruppe: Eine Liste von Compute Engine-Instanzgruppen als Back-Ends.

Weitere Informationen finden Sie unter Übersicht über Back-End-Dienste.

In diesem Dokument werden die Verbindungen und Parameter beschrieben, die Sie konfigurieren können, wenn Sie mit dem App Design Center ein globales Cloud Load Balancing-Backend erstellen. Die Konfigurationsparameter basieren auf dem Terraform-Modul terraform-google-lb-http.

Komponentenverbindungen

Damit Sie eine vollständige Cloud Load Balancing-Komponente erstellen können, müssen Sie Ihr globales Cloud Load Balancing-Backend mit mindestens einem globalen Cloud Load Balancing-Frontend verbinden. Verbundene Cloud Load Balancing-Komponenten werden im Designbereich als Gruppe angezeigt.

Die folgende Tabelle enthält die Komponenten, die Sie mit einem globalen Cloud Load Balancing-Backend verbinden können, sowie die daraus resultierenden Aktualisierungen Ihrer Anwendung und des generierten Terraform-Codes.

Verbundene Komponente

Anwendungsupdates

Hintergrundinformationen:

Cloud Run

  • Der Load Balancer kann eingehenden Traffic an den Cloud Run-Dienst verteilen.
  • Der Cloud Run-Dienst wird als Backend-Endpunkt in der Konfiguration der serverlosen NEG-Backends von Cloud Load Balancing hinzugefügt.
Globalen externen Application Load Balancer mit Cloud Run einrichten

Globales Cloud Load Balancing-Frontend (erforderlich)

  • Das Cloud Load Balancing-Frontend, das eingehende Anfragen verarbeitet, ist mit dem Cloud Load Balancing-Backend verknüpft, das die Anfragen verarbeitet.
  • Die Informationen zum Backend-Dienst werden der Eingabe für die Frontend-URL-Zuordnung hinzugefügt.
Übersicht über URL-Zuordnungen

Compute Engine-MIG

  • Der Load Balancer kann eingehenden Traffic an die Compute Engine-MIG verteilen.
  • Die Compute Engine-MIG wird dem Feld „Backend-Dienstgruppen“ von Cloud Load Balancing hinzugefügt.
Einen klassischen Application Load Balancer mit einem Backend einer verwalteten Instanzgruppe (Managed Instance Group, MIG) einrichten.

Erforderliche Konfigurationsparameter

Wenn Ihre Vorlage eine globale Cloud Load Balancing-Backend-Komponente enthält, müssen Sie die folgenden Parameter konfigurieren, bevor Sie die Vorlage bereitstellen.

Parametername

Beschreibung und Einschränkungen

Hintergrundinformationen:

Name

Name für den Backend-Dienst des Load-Balancers. name

Projekt-ID

Das Projekt, in dem Sie den Cloud Load Balancing-Backend-Dienst bereitstellen möchten.

Komponenten konfigurieren

Optionale Konfigurationsparameter

Die folgenden Parameter sind optional. Wenn Sie erweiterte Parameter aufrufen möchten, wählen Sie im Bereich Konfiguration die Option Erweiterte Felder anzeigen aus.

Funktion

Parametername

Beschreibung und Informationen zu Einschränkungen

Hintergrundinformationen:

Host-Pfadzuordnungen

Host URL-Zuordnungen konfigurieren URL-Zuordnungen verwenden
Pfad URL-Zuordnungen konfigurieren URL-Zuordnungen verwenden
Load-Balancing-Schema loadBalancingScheme Übersicht über Back-End-Dienste
Protokoll Protokoll Protokoll für die Back-Ends
Portname portName Benannte Ports
Beschreibung Eine Beschreibung des Back-End-Dienstes. description
CDN aktivieren enableCDN Cloud CDN – Übersicht
Komprimierungsmodus compressionMode Die Komprimierung funktioniert nicht
Benutzerdefinierte Anfrageheader customRequestHeaders[] Benutzerdefinierte Header in Backend-Diensten erstellen
Benutzerdefinierte Antwortheader customResponseHeaders[] Benutzerdefinierte Header in Backend-Diensten erstellen
Zeitlimit für Verbindungsausgleich (Sekunden) connectionDraining.drainingTimeoutSec Verbindungsausgleich aktivieren
Sitzungsaffinität sessionAffinity Sitzungsaffinität
Affinity Cookie TTL Sec affinityCookieTtlSec Generierte Cookie-Affinität
Richtlinie für Standort-Load-Balancing localityLbPolicy Load-Balancing-Richtlinie für den Ort
Zeitlimit (Sek.) timeoutSec Zeitlimit für Back-End-Dienst

Log-Konfiguration

Aktivieren logConfig.enable Logging
Abtastrate logConfig.sampleRate Logging

Gruppen

Gruppe backends[].group Backends
Beschreibung Eine Beschreibung für die Backend-Gruppe. backends[].description
Balancing-Modus backends[].balancingMode Balancing-Modi und Einstellungen für die Zielkapazität
Kapazitätsskalierer backends[].capcityScaler Kapazitätsskalierer
Max Connections backends[].maxConnections Verbindungsmodus für Verbindungen
Maximale Anzahl von Verbindungen pro Instanz backends[].maxConnectionsPerInstance Verbindungsmodus für Verbindungen
Maximale Anzahl von Verbindungen pro Endpunkt backends[].maxConnectionsPerEndpoint Verbindungsmodus für Verbindungen
Maximale Rate backends[].maxRate Load-Balancing-Modus
Maximale Rate pro Instanz backends[].maxRatePerInstance Load-Balancing-Modus
Maximale Rate pro Endpunkt backends[].maxRatePerEndpoint Load-Balancing-Modus
Maximale Auslastung backends[].maxUtilization Balancing-Modus „Auslastung“

Serverlose NEG-Back-Ends

Region region Übersicht über serverlose Netzwerk-Endpunktgruppen
Typ Der Typ des serverlosen Back-Ends. Mögliche Werte sind cloud-run, cloud-function oder app-engine. Unterstützte Load-Balancer
Dienstname appEngine.service Übersicht über serverlose Netzwerk-Endpunktgruppen
Dienstversion appEngine.version Übersicht über serverlose Netzwerk-Endpunktgruppen

IAP-Konfiguration

Aktivieren iap.enabled Identity-Aware Proxy – Übersicht
OAuth2-Client-ID iap.oauth2ClientId OAuth-Clients freigeben
OAuth2-Clientschlüssel iap.oauth2ClientSecret OAuth-Clients freigeben

CDN-Richtlinie

Cache-Modus cdnPolicy.cacheMode Caching
Höchstalter des Cache für signierte URLs (Sekunden) cdnPolicy.signedUrlCacheMaxAgeSec Maximale Cache-Zeit anpassen
Standard-TTL cdnPolicy.defaultTtl TTL-Einstellungen und -Überschreibungen ändern
Max. TTL cdnPolicy.maxTtl TTL-Einstellungen und -Überschreibungen ändern
Client-TTL cdnPolicy.clientTtl TTL-Einstellungen und -Überschreibungen ändern
Negatives Caching cdnPolicy.negativeCaching Negatives Caching verwenden
Bereitstellen, obwohl veraltet cdnPolicy.serveWhileStale Veraltete Inhalte bereitstellen
Cache für Anfrageheader umgehen cdnPolicy.bypassCacheOnRequestHeaders[] Cache umgehen

Richtlinie für negatives Caching

Code cdnPolicy.negativeCachingPolicy[].code Negatives Caching verwenden
TTL cdnPolicy.negativeCachingPolicy[].ttl Negatives Caching verwenden

Richtlinie für Cache-Schlüssel

Host einbeziehen cdnPolicy.cacheKeyPolicy.includeHost Cache-Schlüssel
Protokoll einschließen cdnPolicy.cacheKeyPolicy.includeProtocol Cache-Schlüssel
Abfragestring einschließen cdnPolicy.cacheKeyPolicy.includeQueryString Abfragestring-Einschlussliste
Schwarze Liste mit Abfragestrings cdnPolicy.cacheKeyPolicy.queryStringBlacklist[] Abfragestring-Ausschlussliste
Weiße Liste mit Abfragestrings cdnPolicy.cacheKeyPolicy.queryStringWhitelist[] Abfragestring-Einschlussliste
HTTP-Header einbeziehen cdnPolicy.cacheKeyPolicy.includeHttpHeaders[] Einstellungen für HTTP-Header und HTTP-Cookies im Cache
Benannte Cookies einschließen cdnPolicy.cacheKeyPolicy.includeNamedCookies[] Benannte Cookies einschließen

Ausreißererkennung

Basisausschlusszeit in Sekunden outlierDetection.baseEjectionTime.seconds Ausreißererkennung für serverlose NEGs
Basisausschlusszeit in Nanosekunden outlierDetection.baseEjectionTime.nanos Ausreißererkennung für serverlose NEGs
Aufeinanderfolgende Fehler outlierDetection.consecutiveErrors Ausreißererkennung für serverlose NEGs
Aufeinanderfolgende Gatewayfehler outlierDetection.consecutiveGatewayFailure Ausreißererkennung für serverlose NEGs
Aufeinanderfolgende Fehler werden erzwungen outlierDetection.enforcingConsecutiveErrors Ausreißererkennung für serverlose NEGs
Aufeinanderfolgende Gatewayfehler erzwingen outlierDetection.enforcingConsecutiveGatewayFailure Ausreißererkennung für serverlose NEGs
Erzwingen der Erfolgsquote outlierDetection.enforcingSuccessRate Ausreißererkennung für serverlose NEGs
Intervall in Sekunden outlierDetection.interval.seconds Ausreißererkennung für serverlose NEGs
Intervall-Nanos outlierDetection.interval.nanos Ausreißererkennung für serverlose NEGs
Max. Ausschlussprozentsatz outlierDetection.maxEjectionPercent Ausreißererkennung für serverlose NEGs
Erfolgsrate minimale Hosts outlierDetection.successRateMinimumHosts Ausreißererkennung für serverlose NEGs
Erfolgsquote-Anfragevolumen outlierDetection.successRateRequestVolume Ausreißererkennung für serverlose NEGs
Faktor für Standardabweichung der Erfolgsrate outlierDetection.successRateStdevFactor Ausreißererkennung für serverlose NEGs

Systemdiagnose

Host http2HealthCheck.host Zusätzliche Flags für HTTP-, HTTPS- und HTTP/2-Systemdiagnosen
Anfragepfad http2HealthCheck.requestPath Erfolgskriterien für HTTP, HTTPS und HTTP/2
Anfrage sslHealthCheck.request Erfolgskriterien für SSL und TCP
Antwort sslHealthCheck.response Zusätzliche Flags für HTTP-, HTTPS- und HTTP/2-Systemdiagnosen
Port http2HealthCheck.port Kategorien, Protokolle und Ports der Systemdiagnose
Portname http2HealthCheck.portName Benannte Ports
Proxy-Header http2HealthCheck.proxyHeader Header
Portspezifikation http2HealthCheck.portSpecification Flags zur Portspezifikation
Protokoll type Kategorien, Protokolle und Ports der Systemdiagnose
Überprüfungsintervall (Sek.) checkIntervalSec Prüfungen
Zeitlimit (Sek.) timeoutSec Prüfungen
Schwellenwert für Intaktheit healthyThreshold Akkuzustand
Fehlerschwellenwert unhealthyThreshold Akkuzustand
Logging logConfig.enable Logging-Informationen für Systemdiagnosen
Edge-Sicherheitsrichtlinie edge_security_policy Edge-Sicherheitsrichtlinien
Sicherheitsrichtlinie security_policy Übersicht über Sicherheitsrichtlinien
Firewall-Netzwerke network Firewallregeln konfigurieren
Firewall-Projekte Namen der Projekte, in denen Firewallregeln erstellt werden sollen. Firewallregeln konfigurieren
Zieltags targetTags[] Einschränken, welche Clients Traffic an den Load-Balancer senden können
Zieldienstkonten targetServiceAccounts[] Quell- und Zielfilterung nach Dienstkonto

Nächste Schritte

Sie müssen Ihre Backend-Komponente mit einer Frontend-Komponente verbinden. Informationen zum Konfigurieren der Frontend-Komponente finden Sie unter Globales Cloud Load Balancing-Frontend im Application Design Center konfigurieren.