In diesem Beispiel wird das Umschreiben des Pfades beschrieben, der in einer Anfrage für einen klassischen Application Load Balancer angegeben ist.
Informationen zum Konfigurieren der Trafficverwaltung für globale externe Application Load Balancer und regionale externe Application Load Balancer finden Sie auf den folgenden Seiten:
- Trafficverwaltung für globale externe Application Load Balancer einrichten
- Trafficverwaltung für regionale externe Application Load Balancer einrichten
Hinweise
Informieren Sie sich über URL-Umschreibungen.
Informieren Sie sich insbesondere über URL-Zuordnungen allgemein und Pfad-Matcher.
Im Beispiel zum Umschreiben von URLs wird davon ausgegangen, dass Sie Ihren externen Application Load Balancer bereits gemäß den Schritten unter Load-Balancer mit Cloud Storage-Buckets einrichten erstellt haben.
In diesem Beispiel werden Sie durch die Erstellung von zwei Ressourcen geführt:
http://IP_ADDRESS/never-fetch/three-cats.jpg
http://IP_ADDRESS/love-to-fetch/two-dogs.jpg
Dabei gilt:
/never-fetch/three-cats.jpg
wird in/cats
gespeichert, dem Standarddienst, und/love-to-fetch/two-dogs.jpg
wird in/dogs
gespeichert.An dieser Stelle sieht die URL-Zuordnung so aus:
gcloud compute url-maps describe http-lb
creationTimestamp: '2020-10-13T11:18:10.561-07:00' defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats fingerprint: MKfYsObzqgw= hostRules: - hosts: - '*' pathMatcher: path-matcher-1 id: '1420501688756228493' kind: compute#urlMap name: test-bucket pathMatchers: - defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats name: path-matcher-1 pathRules: - paths: - /love-to-fetch/* service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/dogs selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/http-lb
URL-Zuordnung ändern
In diesem Beispiel schreiben Sie die /love-to-fetch/
-URL so um, dass Nutzer mit dieser vereinfachten URL auf das two-dogs.jpg
-Bild zugreifen können:
http://IP_ADDRESS/two-dogs.jpg
Ändern Sie dazu die URL-Zuordnung des Load-Balancers so:
Console
Load-Balancer bearbeiten
- Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
Zur Seite „Load-Balancing“ - Klicken Sie auf
http-lb
. - Klicken Sie auf Bearbeiten.
- Lassen Sie das Fenster geöffnet, um fortzufahren.
Host- und Pfadregeln ändern
- Klicken Sie in der linken Spalte des Bildschirms auf Host- und Pfadregeln.
- Wählen Sie Erweiterte Host- und Pfadregel (URL-Weiterleitung, URL-Umschreibung) aus.
- Klicken Sie auf die Zeile mit der Nicht-Standard-Pfadregel, in diesem Fall die Zeile, die für alle Hosts ein Sternchen (
*
) hat. - Klicken Sie auf das Stiftsymbol
/love-to-fetch/* Route traffic to a single backend: dogs
.
für die Zeile - Löschen Sie unter Pfade den Eintrag
/love-to-fetch/*
und fügen Sie/*
hinzu. - Wählen Sie unter Aktion die Option Traffic an ein einzelnes Back-End weiterleiten aus.
- Klicken Sie auf Add-on-Aktion (URL-Umschreibung).
- Lassen Sie Host-Umschreibung leer.
- Geben Sie unter Pfadpräfix-Umschreibung
/love-to-fetch/
ein. - Wählen Sie unter Back-End die Option
dogs
aus. - Klicken Sie auf Speichern.
Klicken Sie auf Fertig. Die neue Host- und Pfadregel sieht so aus:
Pfade Aktion Back-End Alle nicht zugeordneten Pfade (Standard) Traffic an ein einzelnes Backend weiterleiten Katzen /* Traffic an ein einzelnes Backend weiterleiten Hunde Wenn alles korrekt aussieht, klicken Sie auf Aktualisieren, um den HTTP-Load-Balancer zu aktualisieren.
gcloud
Erstellen Sie eine YAML-Datei
/tmp/http-lb.yaml
und ersetzen Sie dabei PROJECT_ID durch Ihre Projekt-ID.Wenn ein Nutzer den Pfad
/*
anfordert, wird der Pfad im Back-End in den tatsächlichen Speicherort des Inhalts (/love-to-fetch/*
) umgeschrieben.defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats hostRules: - hosts: - '*' pathMatcher: path-matcher-1 name: http-lb pathMatchers: - defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats name: path-matcher-1 pathRules: - paths: - /* routeAction: urlRewrite: pathPrefixRewrite: /love-to-fetch/ service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/dogs tests: - description: Test routing to backend bucket, dogs host: example.com path: /love-to-fetch/test service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/dogs
Validieren Sie die URL-Zuordnung.
gcloud compute url-maps validate --source /tmp/http-lb.yaml
Wenn die Tests erfolgreich sind und der Befehl eine Erfolgsmeldung ausgibt, speichern Sie die Änderungen in der URL-Zuordnung.
Aktualisieren Sie die URL-Zuordnung.
gcloud compute url-maps import http-lb \ --source /tmp/http-lb.yaml \ --global
Tests
Notieren Sie sich die reservierte IPv4-Adresse:
gcloud compute addresses describe example-ip \ --format="get(address)" \ --global
Warten Sie einige Minuten, bis die Änderungen übernommen wurden. Dann können Sie die Konfiguration testen.
Führen Sie in der Befehlszeile den folgenden curl-Befehl aus:
curl http://IP_ADDRESS/two-dogs.jpg
Öffnen Sie http://IP_ADDRESS/two-dogs.jpg
in einem Browser.