Auf dieser Seite wird beschrieben, wie Sie einen regionalen externen HTTP(S)-Load-Balancer mit einem Cloud Run-Back-End bereitstellen. Dazu verwenden Sie ein serverloses NEG-Back-End für den Load-Balancer.
Bevor Sie dieses Verfahren ausprobieren, sollten Sie sich mit den folgenden Themen vertraut machen:
Serverlose NEGs bieten Ihnen die Möglichkeit, Cloud Run-Dienste mit Ihrem Load-Balancer zu verwenden. Nachdem Sie einen Load-Balancer mit dem serverlosen NEG-Back-End konfiguriert haben, werden Anfragen an den Load-Balancer zum Cloud Run-Back-End geleitet.
Vorbereitung
- Installieren Sie Google Cloud CLI.
- Stellen Sie einen Cloud Run-Dienst bereit.
- Konfigurieren Sie Berechtigungen.
Google Cloud SDK installieren
Installieren Sie das gcloud
-Befehlszeilentool. In der gcloud-Übersicht finden Sie Informationen zum Konzept und zur Installation des Tools.
Wenn Sie das gcloud
-Befehlszeilentool bisher noch nicht verwendet haben, führen Sie zuerst gcloud init
aus, um Ihr gcloud
-Verzeichnis zu initialisieren.
Cloud Run-Dienst bereitstellen
Bei den Anleitungen auf dieser Seite wird davon ausgegangen, dass Sie bereits einen Cloud Run-Dienst ausführen.
Für das Beispiel auf dieser Seite können Sie jede der Cloud Run-Kurzanleitungen verwenden, um einen Cloud Run-Dienst bereitzustellen.
Die serverlose NEG und der Load-Balancer müssen sich in derselben Region wie der Cloud Run-Dienst befinden. Sie können externe Anfragen blockieren, die direkt an die Standard-URLs des Cloud Run-Dienstes gesendet werden. Beschränken Sie dazu den eingehenden Traffic aufinternal and cloud load
balancing
. Beispiel:
gcloud run deploy CLOUD_RUN_SERVICE_NAME \ --platform=managed \ --allow-unauthenticated \ --ingress=internal-and-cloud-load-balancing \ --region=REGION \ --image=IMAGE_URL
Notieren Sie sich den Namen des Dienstes, den Sie erstellen. Auf der restlichen Seite wird beschrieben, wie Sie einen Load-Balancer einrichten, der Anfragen an diesen Dienst weiterleitet.
Berechtigungen konfigurieren
Um dieser Anleitung zu folgen, müssen Sie in einem Projekt eine serverlose NEG und einen Load-Balancer erstellen. Sie sollten entweder Inhaber oder Bearbeiter des Projekts sein oder die folgenden IAM-Rollen für Compute Engine haben:
Aufgabe | Erforderliche Rolle |
---|---|
Load-Balancer und Netzwerkkomponenten erstellen | Netzwerkadministrator |
NEGs erstellen und ändern | Compute-Instanzadministrator |
SSL-Zertifikate erstellen und ändern | Sicherheitsadministrator |
Netzwerk und Subnetze konfigurieren
Um das Netzwerk und seine Subnetze zu konfigurieren, müssen Sie zuerst ein VPC-Netzwerk, eine VM-Instanz in einem bestimmten Subnetz und dann ein Nur-Proxy-Subnetz erstellen.
VPC-Netzwerk erstellen
Erstellen Sie ein VPC-Netzwerk im benutzerdefinierten Modus und dann die Subnetze, die Sie innerhalb einer Region benötigen. Definieren Sie abschließend die Firewallregeln für Ihr Netzwerk
Console
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Klicken Sie auf VPC-Netzwerk erstellen.
Geben Sie im Feld Name
lb-network
ein.Wählen Sie im Feld Modus für Subnetzerstellung die Option Benutzerdefiniert aus.
Legen Sie im Abschnitt Neues Subnetz folgende Konfigurationsparameter für das Subnetz fest:
- Geben Sie einen Namen für das Subnetz an.
- Wählen Sie eine Region aus.
Geben Sie einen IP-Adressbereich ein, z. B. 10.1.2.0/24. Weitere Informationen finden Sie im Abschnitt Primärer IPv4-Bereich.
Wenn Sie einen Bereich auswählen, der keine RFC 1918-Adresse ist, prüfen Sie, ob der Bereich mit einer vorhandenen Konfiguration in Konflikt steht. Weitere Informationen finden Sie unter IPv4-Subnetzbereiche.
Klicken Sie auf Fertig.
Wählen Sie im Abschnitt Firewallregeln auf dem Tab IPv4-Firewallregeln vordefinierte Firewallregeln aus. Diese vordefinierten Regeln berücksichtigen gängige Anwendungsfälle für die Konnektivität zu Instanzen.
Jeder vordefinierte Regelname beginnt mit dem Namen des VPC-Netzwerks, das Sie erstellen: .
- Optional: Sie können die Regel
lb-network-allow-custom
bearbeiten. Klicken Sie dazu auf der rechten Seite der Zeile, die die Regel enthält, auf Bearbeiten, um Subnetze auszuwählen, zusätzliche IPv4-Bereiche hinzuzufügen und Protokolle sowie Ports anzugeben.
Wenn Sie später weitere Subnetze hinzufügen, wird die Firewallregel
lb-network-allow-custom
nicht automatisch aktualisiert. Wenn Sie Firewallregeln für die neuen Subnetze benötigen, müssen Sie die Konfiguration der Firewallregel aktualisieren.Wenn Sie keine vordefinierten Regeln auswählen, können Sie eigene Firewallregeln anlegen, nachdem Sie das Netzwerk erstellt haben.
- Optional: Sie können die Regel
Wählen Sie den Modus für dynamisches Routing für das VPC-Netzwerk aus. Sie können später den Modus für dynamisches Routing ändern.
Weitere Informationen finden Sie unter Modus für dynamisches Routing.
Wählen Sie im Feld Maximale Übertragungseinheit (MTU) die Option
1460
(Standardeinstellung) oder1500
aus.Lesen Sie die maximale Übertragungseinheit, bevor Sie die MTU auf
1500
setzen.Klicken Sie auf Erstellen.
gcloud
Erstellen Sie mit dem Befehl
gcloud compute networks create
das benutzerdefinierte VPC-Netzwerk:gcloud compute networks create lb-network --subnet-mode=custom
Erstellen Sie ein Subnetz im Netzwerk
lb-network
. In diesem Beispiel wird der IP-Adressbereich10.1.2.0/24
für das Subnetz verwendet. Sie können einen beliebigen gültigen Subnetzbereich konfigurieren.gcloud compute networks subnets create lb-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=REGION
VM-Instanz in einem bestimmten Subnetz erstellen
Im VPC-Netzwerk, in dem Sie einen regionalen Load-Balancer mit einem serverlosen Back-End einrichten möchten, muss mindestens eine VM vorhanden sein. Wenn Sie bereits eine VM im Netzwerk haben, müssen Sie diesen Schritt nicht ausführen.
Console
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.
Klicken Sie auf Instanz erstellen.
Geben Sie einen Namen für Ihre VM als
test-vm
an. Weitere Informationen finden Sie unter Namenskonvention für Ressourcen.Ändern Sie optional die Zone für diese VM. In Compute Engine wird die Liste der Zonen in jeder Region zufällig angeordnet, um die Verwendung in mehreren Zonen zu fördern.
Wählen Sie im Abschnitt Firewall die Option HTTP-Traffic zulassen oder HTTPS-Traffic zulassen aus, um HTTP- oder HTTPS-Traffic zur VM zuzulassen.
In der Google Cloud Console werden der VM ein Netzwerk-Tag hinzugefügt und entsprechende Firewallregeln für eingehenden Traffic erstellt, die den gesamten eingehenden Traffic über
tcp:80
(HTTP) odertcp:443
(HTTPS) zulassen.Das Netzwerk-Tag ordnet die Firewallregel der VM zu. Weitere Informationen finden Sie unter Übersicht über Firewallregeln in der Virtual Private Cloud-Dokumentation.
Maximieren Sie den Abschnitt Netzwerk, Laufwerke, Sicherheit, Verwaltung, Einzelmandanten.
- Maximieren Sie den Bereich Netzwerk.
- Geben Sie unter Netzwerkschnittstellen die Netzwerkdetails an:
- Wählen Sie im Feld Netzwerk das VPC-Netzwerk aus, das das von Ihnen erstellte Subnetz enthält, z. B.
lb-network
. - Wählen Sie im Feld Subnetz das Subnetz aus, das die VM verwenden soll, z. B.
lb-subnet
. - Klicken Sie auf Fertig.
- Wählen Sie im Feld Netzwerk das VPC-Netzwerk aus, das das von Ihnen erstellte Subnetz enthält, z. B.
Klicken Sie zum Erstellen und Starten der VM auf Erstellen.
gcloud
Erstellen Sie eine VM.
gcloud compute instances create test-vm \ --network=lb-network \ --subnet=lb-subnet \ --zone=ZONE
Nur-Proxy-Subnetz erstellen
Erstellen Sie ein Nur-Proxy-Subnetz für alle Envoy-basierten Load-Balancer (interne HTTP(S)-Load-Balancer und regionale externe HTTP(S)-Load-Balancer) in der Region des Netzwerks lb-network
.
Console
- Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Zur Seite „VPC-Netzwerke“ - Klicken Sie auf den Namen des freigegebenen VPC-Netzwerks, dem Sie das Nur-Proxy-Subnetz hinzufügen möchten.
- Klicken Sie auf Subnetz hinzufügen.
- Geben Sie im Feld Name
proxy-only-subnet
ein. - Wählen Sie eine Region aus.
- Setzen Sie Zweck auf Regional verwalteter Proxy.
- Geben Sie einen IP-Adressbereich als
10.129.0.0/23
ein. - Klicken Sie auf Add (Hinzufügen).
gcloud
Erstellen Sie das Nur-Proxy-Subnetz mit dem Befehl
gcloud compute networks subnets create
.
In diesem Beispiel wird der IP-Adressbereich10.129.0.0/23
für das Nur-Proxy-Subnetz verwendet. Sie können einen beliebigen gültigen Subnetzbereich konfigurieren.gcloud compute networks subnets create proxy-only-subnet \ --purpose=REGIONAL_MANAGED_PROXY \ --role=ACTIVE \ --region=REGION \ --network=lb-network \ --range=10.129.0.0/23
Load-Balancer erstellen
Im folgenden Diagramm verwendet der Load-Balancer ein serverloses NEG-Back-End, um Anfragen zu einem serverlosen Cloud Run-Dienst zu leiten.
Traffic, der vom Load-Balancer zu den serverlosen NEG-Back-Ends geht, verwendet spezielle Routen außerhalb der VPC, die keinen Firewallregeln unterliegen. Wenn Ihr Load-Balancer nur serverlose NEG-Back-Ends hat, müssen Sie keine Firewallregeln erstellen, um Traffic vom Nur-Proxy-Subnetz zum serverlosen Back-End zuzulassen.
Console
Konfiguration starten
- Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
- Klicken Sie unter HTTP(S)-Load-Balancing auf Konfiguration starten.
- Wählen Sie unter Internet oder nur intern die Option Vom Internet zu meinen VMs oder serverlosen Diensten aus.
- Wählen Sie unter Global oder regional den regionalen HTTP(S)-Load-Balancer aus.
- Klicken Sie auf Weiter.
- Geben Sie
serverless-lb
als Name für den Load-Balancer ein. - Wählen Sie das Netzwerk als
lb_network
aus. - Lassen Sie das Fenster geöffnet, um fortzufahren.
Front-End konfigurieren
- Bevor Sie fortfahren, benötigen Sie ein SSL-Zertifikat.
- Klicken Sie auf Front-End-Konfiguration.
- Geben Sie einen Namen ein.
- Füllen Sie die folgenden Felder aus, um einen regionalen externen HTTP(S)-Load-Balancer zu konfigurieren.
- Wählen Sie unter Protokoll die Option HTTPS aus.
- Wählen Sie unter IP-Version die Option IPv4 aus.
- Wählen Sie unter IP-Adresse die Option Sitzungsspezifisch aus.
- Wählen Sie unter Port die Option
443
aus. - Wählen Sie unter Zertifikat ein vorhandenes SSL-Zertifikat aus oder erstellen Sie ein neues Zertifikat.
Zum Erstellen eines HTTPS-Load-Balancers benötigen Sie eine SSL-Zertifikatsressource, die im HTTPS-Proxy verwendet werden soll. Sie können eine SSL-Zertifikatsressource mithilfe eines selbstverwalteten SSL-Zertifikats erstellen.
Von Google verwaltete Zertifikate werden nicht unterstützt. - Optional: So erstellen Sie einen HTTP-Load-Balancer:
- Wählen Sie unter Protokoll die Option HTTPS aus.
- Wählen Sie unter IP-Version die Option IPv4 aus.
- Wählen Sie unter IP-Adresse die Option Sitzungsspezifisch aus.
- Wählen Sie unter Port die Option
80
aus. - Klicken Sie auf Fertig.
Wenn Sie diesen Prozess testen möchten, ohne eine SSL-Zertifikatsressource einzurichten, können Sie einen HTTP-Load-Balancer einrichten.
Back-End-Dienste konfigurieren
- Klicken Sie auf Back-End-Konfiguration.
- Halten im Drop-down-Menü Back-End-Dienste erstellen oder auswählen den Mauszeiger über Back-End-Dienste und wählen Sie dann Back-End-Dienst erstellen aus.
- Geben Sie im Fenster Back-End-Dienst erstellen einen Namen ein.
- Wählen Sie unter Back-End-Typ die Option Endpunktgruppe in serverlosem Netzwerk (Vorschau) aus.
- Lassen Sie das Protokoll unverändert. Dieser Parameter wird ignoriert.
- Wählen Sie unter Back-Ends > Neues Back-End die Option Endpunktgruppe für ein serverloses Netzwerk erstellen aus.
- Geben Sie im Fenster Endpunktgruppe für ein serverloses Netzwerk erstellen einen Namen ein.
- Unter Region wird die Region des Load-Balancers angezeigt.
- Wählen Sie im Feld Typ der Endpunktgruppe für ein serverloses Netzwerk die Option Cloud Run aus. Cloud Run ist der einzige unterstützte Typ.
- Wählen Sie Dienstname auswählen aus.
- Wählen Sie in der Drop-down-Liste Dienst den Cloud Run-Dienst aus, für den Sie einen Load-Balancer erstellen möchten.
- Klicken Sie auf Fertig.
- Klicken Sie auf Erstellen.
- Klicken Sie im Fenster Back-End-Dienst erstellen auf Erstellen.
Routingregeln konfigurieren
Routingregeln bestimmen, wie Ihr Traffic weitergeleitet wird. Sie können Traffic an einen Back-End-Dienst oder einen Kubernetes-Dienst weiterleiten. Traffic, der nicht explizit mit einem Host- und Pfad-Matcher übereinstimmt, wird an den Standarddienst gesendet.
- Klicken Sie auf Einfache Host- und Pfadregel.
- Wählen Sie aus der Drop-down-Liste Back-End einen Back-End-Dienst aus.
Konfiguration prüfen
- Klicken Sie auf Prüfen und abschließen.
- Prüfen Sie die Werte für Back-End, Host- und Pfadregeln und Front-End.
- Klicken Sie auf Erstellen. Warten Sie, bis der Load-Balancer erstellt ist.
- Klicken Sie auf den Namen des Load-Balancers (serverless-lb).
- Notieren Sie die IP-Adresse des Load-Balancers für die nächste Aufgabe.
gcloud
- Reservieren Sie eine statische externe IP-Adresse für den Load-Balancer.
gcloud compute addresses create ADDRESS_NAME \ --region=REGION \ --network-tier=STANDARD
- Erstellen Sie eine serverlose NEG für Ihren Cloud Run-Dienst:
gcloud compute network-endpoint-groups create SERVERLESS_NEG_NAME \ --region=REGION \ --network-endpoint-type=serverless \ --cloud-run-service=CLOUD_RUN_SERVICE_NAME
- Erstellen Sie einen regionalen Back-End-Dienst. Legen Sie
--protocol
entweder auf HTTP oder auf HTTPS fest.gcloud beta compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --region=REGION
- Fügen Sie dem Back-End-Dienst das serverlose NEG als Back-End hinzu.
gcloud beta compute backend-services add-backend BACKEND_SERVICE_NAME \ --region=REGION \ --network-endpoint-group=SERVERLESS_NEG_NAME \ --network-endpoint-group-region=REGION
- Erstellen Sie eine regionale URL-Zuordnung, um eingehende Anfragen an den Back-End-Dienst weiterzuleiten:
gcloud beta compute url-maps create URL_MAP_NAME \ --default-service=BACKEND_SERVICE_NAME \ --region=REGION
Diese beispielhafte URL-Zuordnung ist nur auf einen Back-End-Dienst ausgerichtet, der eine einzelne serverlose Anwendung darstellt. Daher müssen keine Hostregeln oder Tools zum Abgleich von Pfaden eingerichtet werden. -
Zum Erstellen eines HTTPS-Load-Balancers benötigen Sie eine SSL-Zertifikatsressource, die im HTTPS-Zielproxy verwendet werden soll. Sie können eine SSL-Zertifikatsressource mithilfe eines selbstverwalteten SSL-Zertifikats erstellen. Von Google verwaltete Zertifikate werden nicht unterstützt.
So erstellen Sie eine regionale selbstverwaltete SSL-Zertifikatsressource:
gcloud beta compute ssl-certificates create SSL_CERTIFICATE_NAME \ --certificate CRT_FILE_PATH \ --private-key KEY_FILE_PATH \ --region=REGION
- Erstellen Sie einen regionalen Zielproxy, um Anfragen an die URL-Zuordnung weiterzuleiten.
Erstellen Sie einen HTTP-Zielproxy für einen HTTP-Load-Balancer:gcloud beta compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --url-map=URL_MAP_NAME \ --region=REGION
Erstellen Sie einen HTTPS-Zielproxy für einen HTTPS-Load-Balancer. Der Proxy ist der Teil des Load-Balancers, der das SSL-Zertifikat für das HTTPS-Load-Balancing besitzt. Daher laden Sie in diesem Schritt auch Ihr Zertifikat.gcloud beta compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --url-map=URL_MAP_NAME \ --region=REGION
- Erstellen Sie eine Weiterleitungsregel, um eingehende Anfragen an den Proxy weiterzuleiten.
Für einen HTTP-Load-Balancer:
gcloud beta compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=STANDARD \ --network=lb-network \ --address=ADDRESS_NAME \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --target-http-proxy-region=REGION \ --region=REGION \ --ports=80
Für einen HTTPS-Load-Balancer:gcloud beta compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=STANDARD \ --network=lb-network \ --address=ADDRESS_NAME \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --target-https-proxy-region=REGION \ --region=REGION \ --ports=443
Load-Balancer testen
Nachdem Sie den Load-Balancer konfiguriert haben, können Sie Traffic an die IP-Adresse des Load-Balancers senden.
- Öffnen Sie in der Google Cloud Console die Seite "Load-Balancing".
Gehe zu „Load-Balancing“ - Klicken Sie auf den Load-Balancer, den Sie gerade erstellt haben.
- Notieren Sie sich seine IP-Adresse.
- Bei einem HTTP-Load-Balancer können Sie Ihren Load-Balancer mit einem Webbrowser testen. Rufen Sie dafür
http://IP_ADDRESS
auf. Ersetzen SieIP_ADDRESS
durch die IP-Adresse des Load-Balancers. Sie sollten zur Startseite des Cloud Run-Dienstes weitergeleitet werden. - Bei einem HTTPS-Load-Balancer können Sie Ihren Load-Balancer mit einem Webbrowser testen. Rufen Sie dafür
https://IP_ADDRESS
auf. Ersetzen SieIP_ADDRESS
durch die IP-Adresse des Load-Balancers. Sie sollten zur Startseite des Cloud Run-Dienstes weitergeleitet werden.
Wenn Sie ein selbst signiertes Zertifikat zu Testzwecken genutzt haben, zeigt der Browser eine Warnung an. Sie müssen Ihren Browser ausdrücklich anweisen, ein selbst signiertes Zertifikat zu akzeptieren. Bestätigen Sie die Warnung, um die eigentliche Seite zu sehen.
Zusätzliche Konfigurationsoptionen
In diesem Abschnitt wird die Konfiguration des Beispiels um alternative und zusätzliche Optionen erweitert. Alle Aufgaben sind optional. Sie können sie in beliebiger Reihenfolge ausführen.
URL-Maske verwenden
Beim Erstellen einer serverlosen NEG können Sie, statt einen bestimmten Cloud Run-Dienst auszuwählen, eine URL-Maske verwenden, um auf mehrere Dienste zu verweisen, die in derselben Domain bereitgestellt werden. Eine URL-Maske ist eine Vorlage für Ihr URL-Schema. Die serverlose NEG verwendet diese Vorlage, um den Dienstnamen aus der URL der eingehenden Anfrage zu extrahieren und die Anfrage dem entsprechenden Dienst zuzuordnen.
URL-Masken sind besonders nützlich, wenn Ihr Dienst einer benutzerdefinierten Domain zugeordnet ist und nicht der Standardadresse, die Google Cloud für den bereitgestellten Dienst angibt. Eine URL-Maske bietet die Möglichkeit, mehrere Dienste und Versionen mit einer einzigen Regel anzusprechen, selbst wenn Ihre Anwendung ein benutzerdefiniertes URL-Muster verwendet.
Falls Sie es noch nicht getan haben, lesen Sie den Abschnitt zu URL-Masken in der Übersicht zu serverlosen NEGs.
URL-Maske erstellen
Wenn Sie eine URL-Maske für Ihren Load-Balancer erstellen möchten, beginnen Sie mit der URL Ihres Dienstes. In diesem Beispiel wird eine serverlose Beispielanwendung verwendet, die unter https://example.com/login
ausgeführt wird. Dies ist die URL, unter der der login
-Dienst der Anwendung bereitgestellt wird.
- Entfernen Sie
http
oderhttps
aus der URL. Es verbleibtexample.com/login
. - Ersetzen Sie den Dienstnamen durch einen Platzhalter für die URL-Maske.
- Cloud Run: Ersetzen Sie den Namen des Cloud Run-Dienstes durch den Platzhalter
<service>
. Wenn dem Cloud Run-Dienst ein Tag zugeordnet ist, ersetzen Sie den Namen des Tags durch den Platzhalter<tag>
. In diesem Beispiel lautet die URL-Maskeexample.com/<service>
.
- Cloud Run: Ersetzen Sie den Namen des Cloud Run-Dienstes durch den Platzhalter
Optional: Wenn sich der Dienstname aus dem Pfadabschnitt der URL extrahieren lässt, kann die Domain weggelassen werden. Der Pfadteil der URL-Maske wird durch den ersten Schrägstrich (
/
) abgetrennt. Wenn in der URL-Maske kein/
vorhanden ist, wird die Maske nur für den Host verwendet. Daher kann die URL-Maske in diesem Beispiel auf/<service>
reduziert werden.Wenn sich der Dienstname aus dem Hostteil der URL extrahieren lässt, können Sie den Pfad in der URL-Maske vollständig weglassen.
Sie können auch alle Host- oder Subdomain-Komponenten weglassen, die vor dem ersten Platzhalter stehen, sowie alle Pfadkomponenten, die nach dem letzten Platzhalter stehen. In solchen Fällen erfasst der Platzhalter die erforderlichen Informationen für die Komponente.
Hier einige weitere Beispiele zur Veranschaulichung dieser Regeln:
In dieser Tabelle wird davon ausgegangen, dass Sie eine benutzerdefinierte Domain namens example.com
haben und alle Ihre Cloud Run-Dienste dieser Domain zugeordnet werden.
Dienst, Tag-Name | Benutzerdefinierte Domain-URL in Cloud Run | URL-Maske |
---|---|---|
Dienst: login | https://login-home.example.com/web | <Dienst>-home.example.com |
Dienst: login | https://example.com/login/web | example.com/<Dienst> oder /<Dienst> |
Dienst: login; Tag: test | https://test.login.example.com/web | <Tag>.<Dienst>.example.com |
Dienst: login; Tag: test | https://example.com/home/login/test | example.com/home/<Dienst>/<Tag> oder /home/<Dienst>/<Tag> |
Dienst: login; Tag: test | https://test.example.com/home/login/web | <Tag>.example.com/home/<Dienst> |
Serverlose NEG mit URL-Maske erstellen
Console
Für einen neuen Load-Balancer können Sie den gleichen gesamten End-to-End-Prozess verwenden, wie weiter oben in diesem Thema beschrieben. Geben Sie bei der Konfiguration des Back-End-Dienstes eine URL-Maske ein, statt einen bestimmten Dienst auszuwählen.
Wenn Sie bereits einen Load-Balancer haben, können Sie die Back-End-Konfiguration bearbeiten und die serverlose NEG auf eine URL-Maske statt auf einen bestimmten Dienst verweisen lassen.
So fügen Sie einem vorhandenen Back-End-Dienst eine serverlose NEG hinzu, die auf einer URL-Maske basiert:
- Rufen Sie in der Google Cloud Console die Seite Load-Balancing auf.
Load-Balancing aufrufen - Klicken Sie auf den Namen des Load-Balancers mit dem Back-End-Dienst, den Sie bearbeiten möchten.
- Klicken Sie auf der Seite Details zum Load-Balancer auf Bearbeiten .
- Klicken Sie auf der Seite HTTP(S)-Load-Balancer bearbeiten auf Back-End-Konfiguration.
- Klicken Sie auf der Seite Back-End-Konfiguration für den Back-End-Dienst, den Sie ändern möchten, auf Bearbeiten .
- Klicken Sie auf Back-End hinzufügen.
- Wählen Sie Serverlose Netzwerk-Endpunktgruppe erstellen aus.
- Geben Sie im Feld Name
helloworld-serverless-neg
ein. - Unter Region wird die Region des Load-Balancers angezeigt.
- Unter Typ der Endpunktgruppe für ein serverloses Netzwerk wird Cloud Run angezeigt. Derzeit ist Cloud Run der einzige unterstützte Typ für Netzwerk-Endpunktgruppen.
- Wählen Sie URL-Maske verwenden aus.
- Geben Sie eine URL-Maske ein. Eine Anleitung zum Erstellen einer URL-Maske finden Sie unter URL-Maske erstellen.
- Klicken Sie auf Erstellen.
- Klicken Sie im neuen Back-End auf Fertig.
- Klicken Sie auf Aktualisieren.
gcloud
So erstellen Sie eine serverlose NEG mit der URL-Beispielmaske example.com/<service>
:
gcloud compute network-endpoint-groups create SERVERLESS_NEG_MASK_NAME \ --region=REGION \ --network-endpoint-type=serverless \ --cloud-run-url-mask="example.com/<service>"
Serverlose NEG löschen
Eine Netzwerk-Endpunktgruppe kann nicht gelöscht werden, wenn sie mit einem Back-End-Dienst verknüpft ist. Bevor Sie eine NEG löschen, muss sie vom Back-End-Dienst getrennt sein.
Console
- Wechseln Sie zum Tab Back-End-Dienste im Load-Balancing-Komponentenmenü, damit der zu löschende serverlose NEG derzeit von keinem Back-End-Dienst verwendet wird.
Zu „Back-End-Dienste“ - Wenn die serverlose NEG derzeit verwendet wird, gehen Sie so vor:
- Klicken Sie mithilfe der serverlosen NEG auf den Namen des Back-End-Dienstes.
- Klicken Sie auf Bearbeiten .
- Klicken Sie in der Liste der Back-Ends auf , um das serverlose NEG-Back-End aus dem Back-End-Dienst zu entfernen.
- Klicken Sie auf Speichern.
- Rufen Sie in der Google Cloud Console die Seite Netzwerk-Endpunktgruppe auf.
Zu „Netzwerk-Endpunktgruppe“ - Aktivieren Sie das Kästchen für die serverlose NEG, die Sie löschen möchten.
- Klicken Sie auf Löschen.
- Klicken Sie zur Bestätigung noch einmal auf Löschen.
gcloud
Um eine serverlose NEG aus einem Back-End-Dienst zu entfernen, müssen Sie die Region angeben, in der die NEG erstellt wurde.
gcloud compute backend-services remove-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=SERVERLESS_NEG_NAME \ --network-endpoint-group-region=REGION \ --region=REGION
So löschen Sie die serverlose NEG:
gcloud compute network-endpoint-groups delete SERVERLESS_NEG_NAME \ --region=REGION
Nächste Schritte
- Logging und Monitoring verwenden
- Probleme mit serverlosen NEGs beheben
- Einrichtung des Load-Balancers bereinigen
- Terraform-Modul für einen externen HTTPS-Load-Balancer mit einem Cloud Run-Back-End verwenden