Auf dieser Seite wird beschrieben, wie Sie Service Extensions mit Application Load Balancern für erweiterte Anwendungsfälle konfigurieren.
Dynamische Weiterleitung
Mit der dynamischen Weiterleitung können Sie Tausende oder sogar Millionen von Mandanten an einzelne VM-Instanzen oder VM-Gruppen binden. Mit Dienst-Extensions können Sie programmatisch festlegen, welchen VMs ein einzelner Mandant zugeordnet wird, ohne dass Sie eine URL-Zuordnung aktualisieren müssen. So können Sie die Einschränkungen der vorhandenen URL-Zuordnung weit überschreiten.
Sie können das dynamische Weiterleiten mit Traffic- und Routenaufrufen mit den folgenden Application Load Balancern konfigurieren: regionaler externer Application Load Balancer, regionaler interner Application Load Balancer und regionenübergreifender interner Application Load Balancer.
In diesem Abschnitt wird ein Beispiel beschrieben, in dem Sie eine Traffic-Erweiterung konfigurieren, um Traffic zufällig zwischen zwei VMs weiterzuleiten. Verwenden Sie die angegebenen Beispielwerte.
Konfigurieren Sie ein Netzwerk mit dem Namen
lb-network, ein Subnetz mit dem Namenbackend-subnetund ein Nur-Proxy-Subnetz in der Regionus-west1.Konfigurieren Sie zwei VMs in
us-west1, um die dynamisch weiterleitbaren Endpunkte darzustellen.Geben Sie die IP-Adressen als
10.1.2.1bzw.10.1.2.2an. Achten Sie darauf, dass beide VMs mit dem Tagload-balanced-backendverknüpft sind.Konfigurieren Sie eine Firewallregel,
fw-allow-proxies, die Traffic vom Proxy-Subnetz zu VMs in Ihrem Netzwerk zulässt.gcloud compute firewall-rules create fw-allow-proxies \ --network=df-network \ --action=allow \ --direction=ingress \ --source-ranges=source-range \ --target-tags=load-balanced-backend \ --rules=tcp:80,tcp:443,tcp:8080Erstellen Sie einen Backend-Dienst,
l7-ilb-backend-service, mit aktivierter dynamischer Weiterleitung und Protokollierung:gcloud beta compute backend-services create l7-ilb-backend-service \ --ip-port-dynamic-forwarding \ --enable-logging \ --region=us-west1URL-Zuordnung
l7-ilb-mapfür den Back-End-Dienst erstellen.gcloud compute url-maps create l7-ilb-map \ --default-service=l7-ilb-backend-service \ --region=us-west1Ziel-Proxy erstellen,
l7-ilb-proxy.gcloud compute target-http-proxies create l7-ilb-proxy \ --url-map=l7-ilb-map \ --url-map-region=us-west1 \ --region=us-west1Weiterleitungsregel erstellen und IP-Adresse für den Application Load Balancer reservieren.
gcloud compute forwarding-rules create l7-ilb-forwarding-rule \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=lb-network \ --subnet=backend-subnet \ --subnet-region=us-west1 \ --ports=80 \ --region=us-west1 \ --target-http-proxy=l7-ilb-proxy \ --target-http-proxy-region=us-west1Richten Sie einen Callout-Backend-Dienst für die Traffic-Erweiterung ein.
Verwenden Sie für den Erweiterungsserver das Beispiel für dynamische Weiterleitung im GitHub-Repository für Service Extensions.
Erstellen Sie eine YAML-Datei mit dem Namen
dynamic-ext.yamlmit folgendem Inhalt:name: traffic-ext forwardingRules: - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules/l7-ilb-forwarding-rule loadBalancingScheme: INTERNAL_MANAGED extensionChains: - name: "chain1" matchCondition: celExpression: 'request.host == "example.com"' extensions: - name: 'ext11' authority: ext11.com allowedDynamicForwarding: true service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices/l7-ilb-callout-service failOpen: false timeout: 0.1s supportedEvents: - REQUEST_HEADERSErsetzen Sie
PROJECT_IDdurch die Projekt-ID.Importieren Sie die Traffic-Erweiterung in die Weiterleitungsregel:
gcloud service-extensions lb-traffic-extensions import traffic-ext \ --source=dynamic-ext.yaml \ --region=us-west1
Wenn die Erweiterung konfiguriert ist, wird der Traffic basierend auf der Serverimplementierung der Erweiterung weitergeleitet.
Nächste Schritte
- Erweiterungen verwalten
- Python- und Go-Beispiele für
ext-proc-Server finden Sie im GitHub-Repository für Service Extensions-Callouts.