Cloud CDN nutzt globale externe Application Load Balancer von Google Cloud , um Routing, Systemdiagnosen und Anycast-IP-Unterstützung zu ermöglichen. Globale externe Application Load Balancer können mehrere Backend-Instanztypen haben und Sie können auswählen, für welche Backends (oder Ursprünge) Cloud CDN aktiviert werden soll.
In dieser Anleitung erfahren Sie, wie Sie einen globalen externen Application Load Balancer mit einem Backend für eine von Compute Engine verwaltete Instanzgruppe mit aktiviertem Cloud CDN erstellen.Allgemeine Konzepte finden Sie in der Übersicht über den externen Application Load Balancer.
Wenn Sie bereits Nutzer des klassischen Application Load Balancers sind und eine neue Bereitstellung mit dem globalen externen Application Load Balancer planen, lesen Sie den Abschnitt Migrationsübersicht.
Load Balancer-Topologien
Für einen HTTPS-Load Balancer erstellen Sie die im folgenden Diagramm dargestellte Konfiguration.
Für einen HTTP-Load Balancer erstellen Sie die im folgenden Diagramm dargestellte Konfiguration.
Die Ereignisabfolge in den Diagrammen sieht folgendermaßen aus:
- Ein Client sendet eine Inhaltsanfrage an die externe IPv4-Adresse, die in der Weiterleitungsregel definiert ist.
Der Load Balancer prüft, ob die Anfrage aus dem Cache verarbeitet werden kann. In diesem Fall stellt der Load Balancer den angeforderten Inhalt aus dem Cache bereit. Falls nicht, wird die Verarbeitung fortgesetzt.
Bei einem HTTPS-Load Balancer leitet die Weiterleitungsregel die Anfrage an den Ziel-HTTPS-Proxy weiter.
Bei einem HTTP-Load Balancer leitet die Weiterleitungsregel die Anfrage an den Ziel-HTTP-Proxy weiter.
Der Zielproxy verwendet die Regel im URL-Mapping, um zu prüfen, ob der einzelne Backend-Dienst alle Anfragen empfängt.
Der Load Balancer prüft, ob der Backend-Dienst nur eine Instanzgruppe hat, und leitet die Anfrage an eine virtuelle Maschine (VM) in dieser Gruppe weiter.
Die VM sendet die vom Nutzer angeforderten Inhalte.
Hinweis
Führen Sie die folgenden Schritte aus, bevor Sie den Load Balancer erstellen.
SSL-Zertifikatsressource einrichten
Erstellen Sie für einen HTTPS-Load Balancer eine SSL-Zertifikatsressource, wie im Folgenden beschrieben:
Wir empfehlen die Verwendung eines von Google verwalteten Zertifikats.
In diesem Beispiel wird angenommen, dass Sie bereits eine SSL-Zertifikatsressource mit dem Namen www-ssl-cert
haben.
Berechtigungen einrichten
Sie benötigen die Berechtigung zum Erstellen von Compute Engine-Instanzen, Firewallregeln und reservierten IP-Adressen in einem Projekt, um die Schritte in dieser Anleitung ausführen zu können. Dafür benötigen Sie entweder die Rolle „Inhaber“ oder „Bearbeiter“ für das Projekt oder die folgenden IAM-Rollen für Compute Engine.
Aufgabe | Erforderliche Rolle |
---|---|
Instanzen erstellen | Instanzadministrator |
Firewallregeln setzen und löschen | Security Admin |
Load Balancer-Komponenten erstellen | Netzwerkadministrator |
Projekt erstellen (optional) | Project Creator |
Weitere Informationen finden Sie in folgenden Leitfäden:
Netzwerk und Subnetze konfigurieren
Gehen Sie so vor, um das Netzwerk und das Subnetz zu erstellen:
Konsole
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf VPC-Netzwerk erstellen.
Geben Sie einen Namen für das Netzwerk ein.
Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.
Konfigurieren Sie im Abschnitt Neues Subnetz die folgenden Felder:
- Geben Sie einen Namen für das Subnetz an.
- Wählen Sie eine Region aus.
- Wählen Sie für IP-Stack-Typ die Option IPv4 (Single-Stack) aus.
- Geben Sie einen IP-Adressbereich ein. Dies ist der primäre IPv4-Bereich für das Subnetz.
Klicken Sie auf Fertig.
Wenn Sie ein Subnetz in einer anderen Region hinzufügen möchten, klicken Sie auf Subnetz hinzufügen und wiederholen Sie die vorherigen Schritte.
Klicken Sie auf Erstellen.
gcloud
Erstellen Sie das VPC-Netzwerk im benutzerdefinierten Modus:
gcloud compute networks create NETWORK \ --subnet-mode=custom
Erstellen Sie im Netzwerk ein Subnetz für Backends.
gcloud compute networks subnets create SUBNET \ --network=NETWORK \ --stack-type=IPV4_ONLY \ --range=10.1.2.0/24 \ --region=REGION
Ersetzen Sie Folgendes:
NETWORK
: Ein Name für das VPC-Netzwerk.SUBNET
: Ein Name für das Subnetz.REGION
: Der Name der Region.
Verwaltete Instanzgruppe erstellen
Wenn Sie einen Load Balancer mit einem Compute Engine-Backend einrichten möchten, müssen sich Ihre VMs in einer Instanzgruppe befinden. In dieser Anleitung wird beschrieben, wie Sie eine verwaltete Instanzgruppe mit Linux-VMs erstellen, auf denen Apache ausgeführt wird, und wie Sie dann das Load Balancing einrichten. Eine verwaltete Instanzgruppe erstellt jede ihrer verwalteten Instanzen anhand der von Ihnen angegebenen Instanzvorlagen.
Die verwaltete Instanzgruppe stellt VMs bereit, auf denen die Backend-Server eines externen HTTPS-Load Balancers ausgeführt werden. Zu Demonstrationszwecken stellen Backends ihre eigenen Hostnamen bereit.
Bevor Sie eine verwaltete Instanzgruppe erstellen, müssen Sie eine Instanzvorlage erstellen.
Konsole
Führen Sie die folgenden Schritte aus, um IPv4-Traffic zu unterstützen:
Rufen Sie in der Google Cloud Console die Seite Instanzvorlagen auf.
Klicken Sie auf Instanzvorlage erstellen.
Geben Sie für Name
lb-backend-template
ein.Das Bootlaufwerk sollte auf ein Debian-Image wie Debian GNU/Linux 10 (Buster) eingestellt sein. Diese Anleitungen verwenden Befehle, die nur für Debian verfügbar sind, z. B.
apt-get
.Erweiterte Optionen einblenden.
Klicken Sie auf Netzwerk, und konfigurieren Sie die folgenden Felder:
- Geben Sie bei Netzwerk-Tags den Wert
allow-health-check
ein. - Klicken Sie im Bereich Netzwerkschnittstellen auf
- Netzwerk:
NETWORK
- Subnetz:
SUBNET
- IPv4-Traffic: IPv4 (Einzelstack)
Bearbeiten, und nehmen Sie folgende Änderungen vor:
- Netzwerk:
- Klicken Sie auf Fertig.
- Geben Sie bei Netzwerk-Tags den Wert
Maximieren Sie Verwaltung. Geben Sie im Feld Startscript das folgende Script ein:
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2
Klicken Sie auf Erstellen.
gcloud
Führen Sie den folgenden Befehl aus, um IPv4-Traffic zu unterstützen:
gcloud compute instance-templates create TEMPLATE_NAME \ --region=REGION \ --network=NETWORK \ --subnet=SUBNET \ --stack-type=IPV4_ONLY \ --tags=allow-health-check \ --image-family=debian-10 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Terraform
Verwenden Sie zum Erstellen der Instanzvorlage die Ressource google_compute_instance_template
.
Erstellen Sie die verwaltete Instanzgruppe, und wählen Sie die Instanzvorlage aus.
Konsole
Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.
Klicken Sie auf Instanzgruppe erstellen.
Wählen Sie links Neue verwaltete Instanzgruppe (zustandslos) aus.
Geben Sie für Name
lb-backend-example
ein.Wählen Sie unter Ort die Option Einzelne Zone aus.
Wählen Sie unter Region die gewünschte Region aus.
Wählen Sie bei Zone eine Zone aus.
Wählen Sie unter Instanzvorlage die Instanzvorlage
lb-backend-template
aus.Wählen Sie für den Autoscaling-Modus die Option Ein: der Gruppe Instanzen hinzufügen und aus ihr entfernen aus.
Setzen Sie die Mindestanzahl an Instanzen auf
2
und die maximale Anzahl von Instanzen auf2
oder mehr.Klicken Sie auf Erstellen, um die neue Instanzgruppe zu erstellen.
gcloud
Erstellen Sie anhand der Vorlage die verwaltete Instanzgruppe.
gcloud compute instance-groups managed create lb-backend-example \ --template=TEMPLATE_NAME --size=2 --zone=ZONE_A
Terraform
Verwenden Sie zum Erstellen der verwalteten Instanzgruppe die Ressource google_compute_instance_group_manager
.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Benannten Port zur Instanzgruppe hinzufügen
Legen Sie für Ihre Instanzgruppe einen HTTP-Dienst fest und ordnen Sie dem entsprechenden Port einen Portnamen zu. Der Load Balancing-Dienst leitet den Traffic an den benannten Port weiter. Weitere Informationen finden Sie unter Benannte Ports.
Konsole
Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.
Klicken Sie auf lb-backend-example.
Klicken Sie auf der Seite Übersicht der Instanzgruppe auf
Bearbeiten.Klicken Sie im Abschnitt Portzuordnung auf Port hinzufügen.
- Geben Sie als Portname
http
ein. Geben Sie als Portnummer80
ein.
- Geben Sie als Portname
Klicken Sie auf Speichern.
gcloud
Führen Sie den Befehl gcloud compute instance-groups
set-named-ports
aus.
gcloud compute instance-groups set-named-ports lb-backend-example \ --named-ports http:80 \ --zone ZONE_A
Terraform
Das Attribut named_port
ist im Beispiel für verwaltete Instanzgruppen enthalten.
Firewallregel konfigurieren
In diesem Beispiel erstellen Sie die Firewallregel fw-allow-health-check
.
Dies ist eine Regel für eingehenden Traffic, die Traffic von den Systemen für Systemdiagnosen von Google Cloud (130.211.0.0/22
und 35.191.0.0/16
) zulässt. In diesem Beispiel wird das Ziel-Tag allow-health-check
zur Identifizierung der VMs verwendet.
Konsole
Rufen Sie in der Google Cloud Console die Seite Firewallrichtlinien auf.
Klicken Sie auf Firewallregel erstellen, um die Firewallregel zu erstellen.
Geben Sie für Name
fw-allow-health-check
ein.Wählen Sie ein Netzwerk aus.
Wählen Sie unter Ziele die Option Angegebene Zieltags aus.
Tragen Sie im Feld Ziel-Tags
allow-health-check
ein.Legen Sie für Quellfilter die Option IPv4-Bereiche fest.
Legen Sie unter Quell-IPv4-Bereiche die Werte
130.211.0.0/22
und35.191.0.0/16
fest.Wählen Sie unter Protokolle und Ports die Option Angegebene Protokolle und Ports aus.
Klicken Sie das Kästchen TCP an, und geben Sie
80
als Portnummer ein.Klicken Sie auf Erstellen.
gcloud
gcloud compute firewall-rules create fw-allow-health-check \ --network=NETWORK \ --action=allow \ --direction=ingress \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=allow-health-check \ --rules=tcp:80
Terraform
Verwenden Sie zum Erstellen der Firewallregel die Ressource google_compute_firewall
.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Externe IP-Adresse reservieren
Nachdem die Instanzen nun ausgeführt werden, richten Sie eine globale statische externe IP-Adresse ein, über die Ihre Kunden den Load Balancer erreichen können.
Konsole
Öffnen Sie in der Google Cloud Console die Seite Externe IP-Adressen.
Wenn Sie eine IPv4-Adresse reservieren möchten, klicken Sie auf Externe statische IP-Adresse reservieren.
Geben Sie für Name
lb-ipv4-1
ein.Setzen Sie die Netzwerkdienststufe auf Premium.
Setzen Sie die IP-Version auf IPv4.
Setzen Sie Typ auf Global.
Klicken Sie auf Reservieren.
gcloud
gcloud compute addresses create lb-ipv4-1 \ --ip-version=IPV4 \ --network-tier=PREMIUM \ --global
Notieren Sie sich die reservierte IPv4-Adresse:
gcloud compute addresses describe lb-ipv4-1 \ --format="get(address)" \ --global
Terraform
Verwenden Sie zum Reservieren der IP-Adresse die Ressource google_compute_global_address
.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Load Balancer einrichten
In diesem Beispiel verwenden Sie HTTPS (Frontend) zwischen dem Client und dem Load Balancer. Für HTTPS benötigen Sie eine oder mehrere SSL-Zertifikatsressourcen, um den Proxy zu konfigurieren. Wir empfehlen die Verwendung eines von Google verwalteten Zertifikats.
Auch wenn Sie HTTPS im Frontend verwenden, können Sie HTTP im Backend verwenden. Google verschlüsselt automatisch Traffic zwischen Google Front Ends (GFEs) und Ihren Backends, die sich in Google Cloud -VPC-Netzwerken befinden.
Konsole
Load Balancer-Typ auswählen
Rufen Sie in der Google Cloud Console die Seite Load Balancing auf.
- Klicken Sie auf Load Balancer erstellen.
- Wählen Sie unter Typ des Load Balancers die Option Application Load Balancer (HTTP/HTTPS) aus, und klicken Sie auf Weiter.
- Wählen Sie für Öffentlich oder intern die Option Öffentlich (extern) aus, und klicken Sie auf Weiter.
- Wählen Sie unter Globale Bereitstellung oder Bereitstellung in einzelner Region die Option Optimal für globale Arbeitslasten aus, und klicken Sie auf Weiter.
- Wählen Sie unter Generation des Load Balancers die Option Klassischer Application Load Balancer aus, und klicken Sie auf Weiter.
- Klicken Sie auf Konfigurieren.
Grundlegende Konfiguration
Geben Sie unter Name für den Load Balancer web-map-https
oder web-map-http
ein.
Frontend-Konfiguration
- Klicken Sie auf Frontend-Konfiguration.
- Legen Sie für Protokoll HTTPS fest.
- Wählen Sie
IPv4
für IPv4-Traffic aus. Legen Sie für IP-Adresse den zuvor erstellten Wertlb-ipv4-1
fest. - Legen Sie für Port den Wert 443 fest.
- Klicken Sie auf Zertifikat, und wählen Sie Ihr primäres SSL-Zertifikat aus.
- (Optional) So erstellen Sie eine SSL-Richtlinie:
- Wählen Sie in der Liste SSL-Richtlinie die Option Richtlinie erstellen aus.
- Legen Sie als Name der SSL-Richtlinie
my-ssl-policy
fest. - Wählen Sie als Mindest-TLS-Version die Option TLS 1.0 aus.
- Wählen Sie als Profil Modern aus. Anschließend werden Aktivierte Funktionen und Deaktivierte Funktionen angezeigt.
- Klicken Sie auf Speichern.
-
(Optional) Klicken Sie das Kästchen HTTP-zu-HTTPS-Weiterleitung aktivieren an, um Weiterleitungen zu aktivieren.
Wenn Sie dieses Kästchen anklicken, wird ein zusätzlicher partieller HTTP-Load Balancer erstellt, der dieselbe IP-Adresse wie Ihr HTTPS-Load Balancer verwendet und die eingehenden HTTP-Anfragen an das HTTPS-Frontend Ihres Load Balancers weiterleitet.
Dieses Kästchen kann nur angeklickt werden, wenn das HTTPS-Protokoll aktiviert und eine reservierte IP-Adresse verwendet wird.
- Klicken Sie auf Fertig.
Backend-Konfiguration
- Klicken Sie auf Backend-Konfiguration.
- Wählen Sie unter Backend-Dienste und Backend-Buckets die Option Backend-Dienst erstellen aus.
- Fügen Sie einen Namen für Ihren Backend-Dienst hinzu, z. B.
web-backend-service
. - Rufen Sie den Bereich Sicherheit auf, und wählen Sie IAP aktivieren, um den Zugriff auf Ihre Anwendungen zu schützen aus.
Cloud CDN und IAP sind nicht kompatibel. Wenn Sie Cloud CDN aktiviert haben und IAP aktivieren, wird Cloud CDN automatisch deaktiviert.
-
(Optional) Konfigurieren Sie eine Standard-Backend-Sicherheitsrichtlinie. Die Standardsicherheitsrichtlinie drosselt den Traffic über einen vom Nutzer konfigurierten Schwellenwert. Weitere Informationen zu Standardsicherheitsrichtlinien finden Sie in der Übersicht zur Ratenbegrenzung.
- Wenn Sie die standardmäßige Cloud Armor-Sicherheitsrichtlinie deaktivieren möchten, wählen Sie in der Liste Cloud Armor-Backend-Sicherheitsrichtlinie die Option
None
aus. - Wenn Sie die standardmäßige Cloud Armor-Sicherheitsrichtlinie konfigurieren möchten, wählen Sie in der Liste Cloud Armor-Backend-Sicherheitsrichtlinie die Option Standardsicherheitsrichtlinie aus.
- Akzeptieren Sie im Feld Richtlinienname den automatisch generierten Namen, oder geben Sie einen Namen für Ihre Sicherheitsrichtlinie ein.
- Akzeptieren Sie im Feld Anzahl der Anfragen die Standardanzahl der Anfragen, oder geben Sie eine Ganzzahl zwischen
1
und10,000
ein. - Wählen Sie im Feld Intervall ein Intervall aus.
- Wählen Sie im Feld Für Schlüssel erzwingen einen der folgenden Werte aus: Alle, IP-Adresse oder X-Forwarded-For-IP-Adresse. Weitere Informationen zu diesen Optionen finden Sie unter Clients für die Ratenbegrenzung identifizieren.
- Wenn Sie die standardmäßige Cloud Armor-Sicherheitsrichtlinie deaktivieren möchten, wählen Sie in der Liste Cloud Armor-Backend-Sicherheitsrichtlinie die Option
- Wählen Sie Cloud CDN aktivieren aus.
- (Optional) Ändern Sie die Einstellungen für den Cache-Modus und den TTL-Wert.
- Behalten Sie die anderen Standardeinstellungen bei.
- Klicken Sie auf Erstellen.
Host- und Pfadregeln
Unter Host- und Pfadregeln behalten Sie die Standardeinstellungen bei.
Überprüfen und abschließen
- Klicken Sie auf Prüfen und abschließen.
- Prüfen Sie die Konfigurationseinstellungen des Load Balancers.
- (Optional) Klicken Sie auf Entsprechender Code, um die REST API-Anfrage aufzurufen, die zum Erstellen des Load Balancers verwendet wird.
- Klicken Sie auf Erstellen.
Warten Sie, bis der Load Balancer erstellt ist.
Wenn Sie einen HTTPS-Load Balancer erstellt und das Kästchen HTTP-zu-HTTPS-Weiterleitung aktivieren angeklickt haben, wird auch ein HTTP-Load Balancer mit dem Suffix -redirect erstellt.
- Klicken Sie auf den Namen des Load Balancers.
- Auf dem Bildschirm Load Balancing-Details wird der IP:Port Ihres Load Balancers angezeigt. Notieren Sie sich diesen.
gcloud
- Erstellen Sie eine Systemdiagnose.
gcloud compute health-checks create http http-basic-check \ --port 80
- Erstellen Sie einen Backend-Dienst.
gcloud compute backend-services create web-backend-service \ --load-balancing-scheme=EXTERNAL \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --global
- Fügen Sie Ihre Instanzgruppe als Backend zum Backend-Dienst hinzu.
gcloud beta compute backend-services add-backend web-backend-service \ --instance-group=lb-backend-example \ --instance-group-zone=ZONE_A \ --global
- Erstellen Sie für HTTP ein URL-Mapping, um die eingehenden Anfragen an den Backend-Standarddienst weiterzuleiten.
gcloud beta compute url-maps create web-map-http \ --default-service web-backend-service
- Erstellen Sie für HTTPS ein URL-Mapping, um die eingehenden Anfragen an den Backend-Standarddienst weiterzuleiten.
gcloud beta compute url-maps create web-map-https \ --default-service web-backend-service
HTTPS-Frontend einrichten
Überspringen Sie diesen Abschnitt für HTTP-Load Balancer.
- Erstellen Sie für HTTPS die globale SSL-Zertifikatsressource, wenn Sie dies noch nicht getan haben. Beispiel:
- Von Google verwaltete SSL-Zertifikatsressourcen erstellen
- Selbstverwaltete SSL-Zertifikatsressource erstellen
Erstellen Sie für HTTPS einen Ziel-HTTPS-Proxy, um Anfragen an Ihr URL-Mapping weiterzuleiten. Der Proxy ist der Teil des Load Balancers, auf dem das SSL-Zertifikat für das HTTPS-Load Balancing abgelegt ist. Daher laden Sie in diesem Schritt auch Ihr Zertifikat.
gcloud compute target-https-proxies create https-lb-proxy \ --url-map=web-map-https \ --ssl-certificates=www-ssl-cert
- Erstellen Sie für HTTPS eine globale Weiterleitungsregel, um eingehende Anfragen an den Proxy weiterzuleiten.
gcloud compute forwarding-rules create https-content-rule \ --load-balancing-scheme=EXTERNAL \ --network-tier=PREMIUM \ --address=lb-ipv4-1 \ --global \ --target-https-proxy=https-lb-proxy \ --ports=443
- (Optional) Erstellen Sie für HTTPS eine globale SSL-Richtlinie und hängen Sie sie an den HTTPS-Proxy an.
So erstellen Sie eine globale SSL-Richtlinie: So hängen Sie die SSL-Richtlinie an den globalen Ziel-HTTPS-Proxy an:gcloud compute ssl-policies create my-ssl-policy \ --profile MODERN \ --min-tls-version 1.0
gcloud compute target-https-proxies update https-lb-proxy \ --ssl-policy my-ssl-policy
HTTP-Frontend einrichten
Überspringen Sie diesen Abschnitt für HTTPS-Load Balancer.
- Erstellen Sie für HTTP einen Ziel-HTTP-Proxy, um Anfragen an Ihr URL-Mapping weiterzuleiten.
gcloud compute target-http-proxies create http-lb-proxy \ --url-map=web-map-http
- Erstellen Sie für HTTP eine globale Weiterleitungsregel, um eingehende Anfragen an den Proxy weiterzuleiten.
gcloud compute forwarding-rules create http-content-rule \ --load-balancing-scheme=EXTERNAL \ --address=lb-ipv4-1 \ --global \ --target-http-proxy=http-lb-proxy \ --ports=80
Terraform
-
Verwenden Sie zum Erstellen der Systemdiagnose die Ressource
google_compute_health_check
. -
Verwenden Sie zum Erstellen des Backend-Dienstes die Ressource
google_compute_backend_service
.In diesem Beispiel wird
load_balancing_scheme="EXTERNAL_MANAGED"
verwendet, das einen globalen externen Application Load Balancer mit erweiterten Funktionen zur Trafficverwaltung einrichtet. Wenn Sie einen Application Load Balancer für Anwendungen erstellen möchten, ändern Sieload_balancing_scheme
inEXTERNAL
, bevor Sie das Script ausführen. -
Verwenden Sie zum Erstellen des URL-Mapping die Ressource
google_compute_url_map
. -
Verwenden Sie zum Erstellen des Ziel-HTTP-Proxys die Ressource
google_compute_target_http_proxy
. -
Verwenden Sie zum Erstellen der Weiterleitungsregel die Ressource
google_compute_global_forwarding_rule
.In diesem Beispiel wird
load_balancing_scheme="EXTERNAL_MANAGED"
verwendet, das einen globalen externen Application Load Balancer mit erweiterten Funktionen zur Trafficverwaltung einrichtet. Wenn Sie einen Application Load Balancer für Anwendungen erstellen möchten, ändern Sieload_balancing_scheme
inEXTERNAL
, bevor Sie das Script ausführen.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Cloud CDN aktivieren
Wenn Sie Cloud CDN beim Erstellen des Backend-Dienstes nicht bereits aktiviert haben, können Sie dies jetzt tun, indem Sie den Backend-Dienst aktualisieren:
gcloud compute backend-services update web-backend-service \ --enable-cdn \ --cache-mode=CACHE_MODE
Legen Sie den Cache-Modus fest. Ersetzen Sie dazu CACHE_MODE durch einen der folgenden Werte:
CACHE_All_STATIC
: Speichert statischen Inhalt automatisch im Cache.USE_ORIGIN_HEADERS
(Standard): Hiermit wird erzwungen, dass der Ursprung zum Speichern von Inhalten im Cache gültige Caching-Header festlegt.FORCE_CACHE_ALL
: Alle Inhalte werden im Cache gespeichert. Sämtliche Anweisungenprivate
,no-store
oderno-cache
inCache-Control
-Antwortheadern werden ignoriert.
Domain mit dem Load Balancer verbinden
Notieren Sie sich nach der Erstellung des Load Balancers die IP-Adresse, die diesem zugewiesen ist, z. B. 30.90.80.100
. Wenn Sie Ihre Domain auf den Load Balancer verweisen möchten, erstellen Sie mit Ihrem Domain-Registrierungsdienst einen A
-Eintrag. Wenn Sie Ihrem SSL-Zertifikat mehrere Domains hinzugefügt haben, müssen Sie für jede Domain einen A
-Eintrag hinzufügen, der auf die IP-Adresse des Load Balancers verweist. So erstellen Sie beispielsweise A
-Einträge für www.example.com
und example.com
:
NAME TYPE DATA www A 30.90.80.100 @ A 30.90.80.100
Wenn Sie Cloud DNS als DNS-Anbieter verwenden, finden Sie weitere Informationen unter Einträge hinzufügen, ändern und löschen.
An Ihre Instanzen gesendeten Traffic testen
Da der Load Balancing-Dienst nun ausgeführt wird, können Sie Traffic an die Weiterleitungsregel senden. Dieser wird dann an verschiedene Instanzen verteilt.
Konsole
Rufen Sie in der Google Cloud Console die Seite Load Balancing auf.
- Klicken Sie auf den Load Balancer, den Sie gerade erstellt haben.
Prüfen Sie im Bereich Backend, ob die VMs fehlerfrei sind. Die Spalte Fehlerfrei sollte ausgefüllt sein; in diesem Fall sind beide VMs fehlerfrei (
2/2
). Falls sie doch leer ist, aktualisieren Sie zuerst die Seite. Es kann einige Minuten dauern, bis in der Google Cloud Console angezeigt wird, dass die VMs fehlerfrei sind. Wenn die Backends nach einigen Minuten nicht als fehlerfrei angezeigt werden, prüfen Sie die Firewallkonfiguration und das Netzwerk-Tag, die Ihren Backend-VMs zugewiesen ist.- Wenn Sie ein von Google verwaltetes Zertifikat verwenden, prüfen Sie, ob der Status der Zertifikatsressource AKTIV ist. Weitere Informationen finden Sie unter Status der von Google verwalteten SSL-Zertifikatsressource.
- Nachdem die Google Cloud Console anzeigt, dass die Backend-Instanzen in Ordnung sind, können Sie Ihren Load Balancer mit einem Webbrowser testen. Rufen Sie dafür
https://IP_ADDRESS
(oderhttp://IP_ADDRESS
) auf. Ersetzen SieIP_ADDRESS
durch die IP-Adresse des Load Balancers. - Wenn Sie ein selbst signiertes Zertifikat genutzt haben, um HTTPS zu testen, zeigt Ihr Browser eine Warnung an. Sie müssen den Browser ausdrücklich anweisen, ein selbst signiertes Zertifikat zu akzeptieren.
- Im Browser sollte eine Seite mit Inhalt dargestellt werden, der den Namen der Instanz, die die Seite bereitstellt, und deren Zone enthält (z. B.
Page served from: lb-backend-example-xxxx
). Wenn der Browser diese Seite nicht anzeigt, prüfen Sie die Konfigurationseinstellungen aus dieser Anleitung.
gcloud
gcloud compute addresses describe lb-ipv4-1 \ --format="get(address)" \ --global
Nach einigen Minuten können Sie die Einrichtung mit dem folgenden curl
-Befehl testen.
curl http://IP_ADDRESS
-ODER-
curl https://HOSTNAME
Cloud CDN deaktivieren
Konsole
Cloud CDN für einen einzelnen Backend-Dienst deaktivieren
Wechseln Sie in der Google Cloud Console zur Seite Cloud CDN.
Klicken Sie auf der rechten Seite der Ursprungszeile auf Menü
, und wählen Sie Bearbeiten aus.Heben Sie die Auswahl der Kästchen aller Backend-Dienste auf, die Cloud CDN nicht mehr verwenden sollen.
Klicken Sie auf Aktualisieren.
Cloud CDN für alle Backend-Buckets für einen Ursprung entfernen
Wechseln Sie in der Google Cloud Console zur Seite Cloud CDN.
Klicken Sie auf der rechten Seite der ursprünglichen Zeile auf Menü
, und wählen Sie Entfernen aus.Klicken Sie zur Bestätigung auf Entfernen.
gcloud
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --no-enable-cdn
Die Aktivierung von Cloud CDN führt weder zum Entwerten noch zum dauerhaften Löschen von Caches. Wenn Sie Cloud CDN deaktivieren und dann wieder aktivieren, bleiben die meisten oder alle im Cache gespeicherten Inhalte möglicherweise zwischengespeichert. Wenn Inhalte aus dem Cache nicht mehr bereitgestellt werden sollen, müssen Sie diese Inhalte entwerten.
Nächste Schritte
- Mehr dazu, welche Inhalte im Cache gespeichert werden, erfahren Sie unter Caching.
- Informationen zum Verwenden von Cloud CDN in GKE finden Sie unter Ingress-Features.
- Informationen zum Prüfen, ob Cloud CDN Antworten aus dem Cache bereitstellt, finden Sie unter Logs ansehen.
- Informationen zu häufigen Problemen und deren Lösungen finden Sie unter Fehlerbehebung.
- Informationen zur Funktionsweise von Cloud CDN finden Sie in der Übersicht zu Cloud CDN.