Globalen Cloud Load Balancing-Backend-Dienst konfigurieren

Sie erstellen einen Load Balancer in Ihrer Anwendung, indem Sie separate Frontend- und Backend-Komponenten von Cloud Load Balancing konfigurieren und verbinden. So können Sie separate Kontrollen für externen und internen Traffic anwenden und den direkten Zugriff auf Daten verhindern. Im App Design Center verwaltet die globale Backend-Dienstkomponente von Cloud Load Balancing die Einstellungen für die Trafficverteilung, einschließlich Protokollen, Sitzungsaffinität, Systemdiagnosen und Zeitüberschreitungen, für serverlose Netzwerk-Endpunktgruppen (NEGs) und verwaltete Compute Engine-Instanzgruppen (MIGs). Die Verbindungen und Konfigurationsparameter basieren auf dem Terraform-Modul terraform-google-lb-http.

Komponentenverbindungen

Wenn Sie eine vollständige Cloud Load Balancing-Komponente erstellen möchten, verbinden Sie Ihr globales Cloud Load Balancing-Backend mit mindestens einem globalen Cloud Load Balancing-Frontend. Verbundene Cloud Load Balancing-Komponenten werden im Design-Canvas als Gruppe angezeigt.

In der folgenden Tabelle sind die Komponenten aufgeführt, die Sie mit einem globalen Cloud Load Balancing-Backend verbinden, sowie die 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 auf die Compute Engine-MIG verteilen.
  • Die Compute Engine-MIG wird dem Feld für die 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, konfigurieren Sie vor der Bereitstellung die folgenden Parameter.

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 anzeigen möchten, wählen Sie im Bereich Konfiguration die Option Erweiterte Felder anzeigen aus.

Funktion

Parametername

Beschreibung und Informationen zur Einschränkung

Hintergrundinformationen:

Hostpfadzuordnungen

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 Back-Ends
Portname portName Benannte Ports
Beschreibung Eine Beschreibung für den Backend-Dienst. description
CDN aktivieren enableCDN Cloud CDN – Übersicht
Komprimierungsmodus compressionMode 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 in Sekunden connectionDraining.drainingTimeoutSec Verbindungsausgleich aktivieren
Sitzungsaffinität sessionAffinity Sitzungsaffinität
Affinitätscookie-TTL (Sek.) affinityCookieTtlSec Generierte Cookie-Affinität
Richtlinie für das Load Balancing nach Standort localityLbPolicy Load-Balancing-Richtlinie für den Ort
Zeitlimit (Sekunden) timeoutSec Zeitlimit für Backend-Dienst

Logkonfiguration

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[].capacityScaler Kapazitätsskalierer
Max Connections backends[].maxConnections Verbindungs-Balancing-Modus
Maximale Anzahl von Verbindungen pro Instanz backends[].maxConnectionsPerInstance Verbindungs-Balancing-Modus
Maximale Anzahl von Verbindungen pro Endpunkt backends[].maxConnectionsPerEndpoint Verbindungs-Balancing-Modus
Maximale Rate backends[].maxRate Load-Balancing-Modus „Rate“
Maximale Rate pro Instanz backends[].maxRatePerInstance Load-Balancing-Modus „Rate“
Maximale Rate pro Endpunkt backends[].maxRatePerEndpoint Load-Balancing-Modus „Rate“
Max. Auslastung backends[].maxUtilization Balancing-Modus „Auslastung“

Serverlose NEG-Backends

Region region Übersicht über serverlose Netzwerk-Endpunktgruppen
Typ Der Typ des serverlosen Backends. 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
Signierte URL – Cache-Höchstalter in 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

Cache-ID-Richtlinie

Host einschließen cdnPolicy.cacheKeyPolicy.includeHost Cache-IDs
Protokoll einschließen cdnPolicy.cacheKeyPolicy.includeProtocol Cache-IDs
Abfragestring einschließen cdnPolicy.cacheKeyPolicy.includeQueryString Abfragestring-Einschlussliste
Abfragestring-Sperrliste cdnPolicy.cacheKeyPolicy.queryStringBlacklist[] Abfragestring-Ausschlussliste
Zulassungsliste für Abfragestrings cdnPolicy.cacheKeyPolicy.queryStringWhitelist[] Abfragestring-Einschlussliste
HTTP-Header einschließen 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
Aufgrund aufeinanderfolgender Fehler erzwungen outlierDetection.enforcingConsecutiveErrors Ausreißererkennung für serverlose NEGs
Aufgrund aufeinanderfolgender Gatewayfehler erzwungen outlierDetection.enforcingConsecutiveGatewayFailure Ausreißererkennung für serverlose NEGs
Aufgrund Erfolgsquote erzwungen outlierDetection.enforcingSuccessRate Ausreißererkennung für serverlose NEGs
Intervallsekunden outlierDetection.interval.seconds Ausreißererkennung für serverlose NEGs
Intervall-Nanosekunden 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
Erfolgsrate stdev-Faktor 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
Prüfintervall in Sekunden checkIntervalSec Prüfungen
Zeitlimit (Sekunden) timeoutSec Prüfungen
Schwellenwert für Intaktheit healthyThreshold Gesundheitszustand
Fehlerschwellenwert unhealthyThreshold Gesundheitszustand
Logging logConfig.enable Logging-Informationen für Systemdiagnosen
Edge-Sicherheitsrichtlinie edge_security_policy Edge-Sicherheitsrichtlinien
Sicherheitsrichtlinie security_policy 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

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