Zum Einrichten eines neuen öffentlichen Endpunkts für Ihren Cloud Run-Dienst können Sie mit Cloud Load Balancing einen globalen externen Application Load Balancer vor Ihrem Cloud Run-Dienst hinzufügen. Mit dem globalen externen Application Load Balancer können Sie die Einrichtung Ihrer benutzerdefinierten Domain steuern. Allerdings sind Einrichtungsschritte erforderlich, wenn Sie noch kein TLS-Zertifikat haben oder einen globalen externen Application Load Balancer verwenden.
Mit den auf dieser Seite beschriebenen Cloud Run-Integrationen (Vorschau) können Sie schnell eine neue benutzerdefinierte Domainzuordnung für Ihren Cloud Run-Dienst mit einem globalen externen Application Load Balancer einrichten. Wenn Sie einen vorhandenen globalen externen Application Load Balancer verwenden möchten, lesen Sie die Informationen unter Globalen externen Application Load Balancer mit Cloud Run einrichten.
Hinweise
- Sie müssen den erforderlichen Zugriff haben, um DNS-Änderungen für die Domain vorzunehmen, die Sie dem Cloud Run-Dienst zuordnen möchten.
- Achten Sie darauf, dass der Cloud Run-Dienst, in den Sie einbinden, bereits bereitgestellt ist.
- Lesen Sie die Preisseite für globalen externen Application Load Balancer. Ihnen werden einzelne Ressourcen in Rechnung gestellt, die von der Einbindung verwendet werden.
Erforderliche Rollen
Damit Sie die Cloud Run-Integrationen verwenden können, müssen Sie oder Ihr Administrator zwei verschiedenen Hauptkonten IAM-Rollen zuweisen.
Klicken, um die erforderlichen Rollen für Ihr Google-Konto anzuzeigen
Bitten Sie Ihren Administrator, Ihrem Google-Konto die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie für die Verwendung von Cloud Run-Einbindungen benötigen:
- Cloud Run Developer (
roles/run.developer
) - Compute-Betrachter (
roles/compute.viewer
) - Entwickler von serverlosen EInbindungen (
roles/runapps.developer
) - Operator für serverlose Einbindungen (
roles/runapps.operator
) - Dienstkontonutzer (
roles/iam.serviceAccountUser
)
Klicken Sie, um die erforderlichen Rollen für das Dienstkonto aufzurufen
Zum Bereitstellen des Cloud Run-Dienstes können Sie entweder das automatisch erstellte Compute Engine-Standarddienstkonto verwenden oder ein nutzerverwaltetes Dienstkonto angeben. Das Dienstkonto muss die folgenden Rollen haben:
- Cloud Run Developer (
roles/run.developer
) - Log-Bucket-Autor (
roles/logging.bucketWriter
) - Dienstkontonutzer (
roles/iam.serviceAccountUser
) - Storage-Administrator (
roles/storage.admin
) - Administrator für Compute-Load-Balancer (
roles/compute.loadBalancerAdmin
)
Benutzerdefinierte Domain mit einem globalen externen Application Load Balancer zuordnen
Sie können eine benutzerdefinierte Domain über die Console oder die Befehlszeile zuordnen. Beachten Sie, dass es bis zu einer Stunde dauern kann, bis das SSL-Zertifikat bereitgestellt wird und Ihre Domain den HTTPS-Traffic an Ihren Cloud Run-Dienst weiterleiten kann.
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.
Klicken Sie in der Liste der Dienste, die Sie in dieser Einbindung verwenden möchten, auf den Dienst.
Klicken Sie auf den Tab Integrations (Integrationen).
Klicken Sie auf Integration hinzufügen.
Klicken Sie auf Benutzerdefinierte Domains – Google Cloud-Load-Balancing.
Geben Sie die Domain in das Feld Domain ein.
Geben Sie den von Ihnen verwendeten Domainpfad in das Feld Pfad ein.
Geben Sie den Namen des Dienstes, den Sie dieser benutzerdefinierten Domain zuordnen, in das Feld Dienst ein.
Wenn Sie andere Domains zuordnen, klicken Sie auf Element hinzufügen und wiederholen Sie die vorherigen Schritte, um die Domain nach Bedarf dem Dienst zuzuordnen.
Wenn Sie aufgefordert werden, eine Liste von APIs zu aktivieren, klicken Sie auf Aktivieren und warten Sie, bis die APIs aktiviert sind.
Unter Ressourcen finden Sie die neuen Ressourcen, die durch diese Einbindung erstellt werden.
Klicken Sie auf Senden und warten Sie, bis Einbindung und Ressourcen erstellt wurden.
- Wenn Sie dies abgeschlossen haben, wird eine Tabelle mit den zu konfigurierenden DNS-Einträgen erstellt. Verwenden Sie diese Option, um Ihre DNS-Einträge bei Ihrem DNS-Anbieter zu aktualisieren.
- Nachdem Sie das DNS bei Ihrem DNS-Anbieter aktualisiert haben, kann es bis zu 45 Minuten dauern, bis das SSL-Zertifikat bereitgestellt und der Traffic an Ihren Dienst weitergeleitet wird.
Befehlszeile
Aktualisieren Sie die Google Cloud CLI:
gcloud components update
Integration erstellen:
gcloud beta run integrations create \ --type=custom-domains \ --parameters='set-mapping=DOMAIN:SERVICE' \
Ersetzen Sie:
- DOMAIN durch Ihre benutzerdefinierte Domain, z. B.
example.com
odersubdomain.example.com
- Kann auch einen Pfad enthalten, z. B.
example.com/subpath/*
- Kann auch einen Pfad enthalten, z. B.
- SERVICE durch den Namen Ihres Cloud Run-Dienstes.
Fügen Sie optional das Flag
--service-account=SERVICE_ACCOUNT_EMAIL
hinzu.Ersetzen Sie SERVICE_ACCOUNT_EMAIL durch die E-Mail-Adresse des vom Nutzer verwalteten Dienstkontos (
PROJECT_NUMBER-compute@developer.gserviceaccount.com
), das zum Bereitstellen des Dienstes verwendet wird. Lassen Sie dieses Flag weg, wenn Sie das Compute-Standarddienstkonto (SERVICE_ACCOUNT_ID@PROJECT_ID.iam.gserviceaccount.com
) verwenden möchten.Führen Sie den folgenden Befehl aus, um beim Bereitstellen von Cloud Run-Integrationen das angegebene Dienstkonto weiterhin zu verwenden:
gcloud config set runapps/deployment-service-account
- DOMAIN durch Ihre benutzerdefinierte Domain, z. B.
Warten Sie etwa zwei bis fünf Minuten. In dieser Zeit wird ein vollständig konfigurierter Load-Balancer erstellt. Wenn der Vorgang abgeschlossen ist, wird die folgende Meldung angezeigt:
[custom-domains] integration [custom-domains] has been created successfully. To complete the process, please ensure the following DNS records are configured for the domains: NAME TTL TYPE DATA DOMAIN 3600 A IP_ADDRESS It can take up to an hour for the SSL certificate to be provisioned.
Sie können den Status mit
gcloud beta run integrations describe
prüfen.Aktualisieren Sie Ihre DNS-Einträge bei Ihrem DNS-Anbieter mit dem angezeigten Wert IP_ADDRESS. Nachdem Sie das DNS bei Ihrem DNS-Anbieter aktualisiert haben, kann es bis zu 45 Minuten dauern, bis das SSL-Zertifikat bereitgestellt und der Traffic an Ihren Dienst weitergeleitet wird.
Benutzerdefinierte Domains mit Load-Balancer-Integrationen aktualisieren
Beim Aktualisieren einer Integration werden alle Google Cloud-Ressourcen aktualisiert, die mit dieser Integration verknüpft sind. So aktualisieren Sie benutzerdefinierte Domains mit Load-Balancer-Integration aus Ihrem Cloud Run-Dienst:
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.
Klicken Sie auf den Dienst, den Sie aktualisieren möchten.
Klicken Sie auf den Tab Integrations (Integrationen).
Suchen Sie die benutzerdefinierten Domains mit Load-Balancer-Integration und klicken Sie auf Bearbeiten.
Wenn Sie mit der Aktualisierung der Felder fertig sind, klicken Sie auf Aktualisieren.
Befehlszeile
Verwenden Sie den folgenden Befehl, um eine Liste der verfügbaren Integrationen abzurufen:
gcloud beta run integrations list
Führen Sie den Befehl zum Aktualisieren der Integration aus:
gcloud beta run integrations update INTEGRATION_NAME
Ersetzen Sie:
- Ersetzen Sie INTEGRATION_NAME durch den Namen Ihrer benutzerdefinierten Domains durch die Load-Balancer-Einbindung.
Optional können Sie die folgenden Flag-Optionen verwenden:
Wahltaste Beschreibung --parameters
Die benutzerdefinierte Domain, die für den Dienst festgelegt werden soll. --service-account
Die E-Mail-Adresse des vom Nutzer verwalteten Dienstkontos, die beim Aktualisieren des Dienstes angegeben werden soll. Dieses Dienstkonto überschreibt das vorherige Dienstkonto, das bei der Bereitstellung verwendet wurde.
Benutzerdefinierte Domains mit Load-Balancer-Integrationen ansehen
So zeigen Sie den aktuellen Status benutzerdefinierter Domains mit Load-Balancer-Integrationen für Ihren Cloud Run-Dienst an:
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.
Klicken Sie in der Liste der Dienste, die Sie in dieser Einbindung verwenden möchten, auf den Dienst.
Klicken Sie auf den Tab Integrations (Integrationen).
Suchen Sie die benutzerdefinierten Domains mit der gewünschten Load-Balancer-Integration und klicken Sie auf Details ansehen.
Befehlszeile
Verwenden Sie den folgenden Befehl, um eine Liste der verfügbaren Integrationen abzurufen:
gcloud beta run integrations list
Zeigen Sie die Details dafür mit einem Namen aus der zurückgegebenen Liste an:
gcloud beta run integrations describe INTEGRATION_NAME
Ersetzen Sie INTEGRATION_NAME durch den Namen Ihrer benutzerdefinierten Domains durch die Load-Balancer-Einbindung.
Benutzerdefinierte Domains mit Load-Balancer-Integrationen löschen
Beim Löschen einer Einbindung werden auch alle mit dieser Einbindung verknüpften Google Cloud-Ressourcen gelöscht. Der Cloud Run-Dienst wird jedoch nicht gelöscht.
So löschen Sie benutzerdefinierte Domains mit Load-Balancer-Integration aus Ihrem Cloud Run-Dienst:
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.
Klicken Sie auf den Dienst, für den Sie eine Einbindung löschen möchten.
Klicken Sie auf den Tab Integrations (Integrationen).
Suchen Sie die benutzerdefinierten Domains mit der Load-Balancer-Integration, die Sie interessieren, und klicken Sie auf das Auslassungssymbol rechts neben der Integration. Klicken Sie dann auf Löschen.
Befehlszeile
Verwenden Sie den folgenden Befehl, um eine Liste der verfügbaren Integrationen abzurufen:
gcloud beta run integrations list
Löschen Sie die Integration mithilfe eines Namens aus der zurückgegebenen Liste:
gcloud beta run integrations delete INTEGRATION_NAME
Ersetzen Sie:
- Ersetzen Sie INTEGRATION_NAME durch den Namen Ihrer benutzerdefinierten Domains durch die Load-Balancer-Einbindung.
Optional können Sie die folgenden Flag-Optionen verwenden:
Wahltaste Beschreibung --service-account
Die E-Mail-Adresse des vom Nutzer verwalteten Dienstkontos, um den Löschvorgang auszuführen.
Beschränkungen
Die Cloud Run-Integrationen werden nur in bestimmten Regionen unterstützt. Wenn Sie eine Region verwenden müssen, die nicht von den Cloud Run-Integrationen unterstützt wird, lesen Sie die Informationen unter Globalen externen Application Load Balancer mit Cloud Run einrichten.