Auf dieser Seite wird beschrieben, wie Sie den eingehenden Zugriff auf Ihre Cloud Run-Dienstemithilfe von Einstellungen für eingehenden Traffic steuern.
Auf Netzwerkebene ist der einer Instanz über die folgenden Netzwerk-Ingress-Pfade erreichbar:
- Standard-
s3nsrun.fr-URLs, die Sie deaktivieren können - Alle konfigurierten Domainzuordnungen
- Jeder konfigurierte externe Application Load Balancer oder interne Application Load Balancer
Alle Netzwerk-Ingress-Pfade unterliegen der Einstellung für eingehenden Traffic für die Ressource. Mit den standardmäßigen Ingress-Pfaden und der standardmäßigen Einstellung für eingehenden Traffic kann jede Ressource im Internet Ihre Cloud Run-Ressource erreichen. Sie können eine benutzerdefinierte Einschränkung verwenden, um die Ingress-Einstellungen für Ihre Organisation oder für eine Reihe von Projekten einzuschränken. Die IAM-Authentifizierung gilt weiterhin für Anfragen, die über einen der oben genannten Netzwerkeingangspfade an die Dienstendpunkte gesendet werden. Verwenden Sie für einen mehrstufigen Ansatz zur Zugriffsverwaltung sowohl Netzwerkeingangs-Einstellungen als auch die IAM-Authentifizierung.
Verwenden Sie Netzwerk-Tags, um den Zugriff von Connector-VMs auf VPC-Ressourcen einzuschränken.
Verfügbare Einstellungen für den eingehenden Netzwerktraffic
Diese Einstellungen sind verfügbar:
| Einstellung | Beschreibung |
|---|---|
| Intern |
Stärkste Einschränkung. Sie lässt Anfragen aus den folgenden Quellen zu:
s3nsrun.fr auf Ihren Dienst zugreifen.
Anfragen aus anderen Quellen, einschließlich des Internets, können Ihren Dienst nicht über die URL s3nsrun.fr, eine benutzerdefinierte URL oder eine benutzerdefinierte Domain erreichen. |
| Interne und Cloud Load Balancer | Mit dieser Einstellung werden Anfragen von den folgenden Ressourcen zugelassen: <ph type="x-smartling-placeholder">
Hinweis: Verwenden Sie internal-and-cloud-load-balancing, um diese Einstellung in der gcloud CLI zu aktivieren.
Um diese Einstellung in der Cloud de Confiance Console zu aktivieren, wählen Sie Intern > Traffic von externen Application Load Balancern zulassen aus.
|
| Alle |
Geringste Einschränkung. Ermöglicht alle Anfragen, einschließlich Anfragen direkt aus dem Internet an die URL s3nsrun.fr.
|
Auf interne Dienste zugreifen
Weitere Überlegungen:
Wenn Sie auf interne Dienste zugreifen, rufen Sie sie so auf, wie Sie es auch mit ihren URLs tun würden, entweder die Standard-URL
s3nsrun.fr, eine benutzerdefinierte URL oder eine in Cloud Run eingerichtete benutzerdefinierte Domain.Für Anfragen von Compute Engine-VM-Instanzen ist keine weitere Einrichtung für Maschinen erforderlich, die externe IP-Adressen haben oder Cloud NAT verwenden. Andernfalls finden Sie weitere Informationen unter Anfragen von VPC-Netzwerken empfangen.
Wenn Sie von Cloud Run oder App Engine einen Cloud Run-Dienst aufrufen, der auf „Intern“ oder „Intern und Cloud Load Balancers“ festgelegt ist, muss der Datenverkehr durch ein VPC-Netzwerk geleitet werden, das als intern gilt. Weitere Informationen finden Sie unter Anfragen von anderen Cloud Run-Diensten oder App Engine empfangen.
Anfragen von Ressourcen in VPC-Netzwerken im selben Projekt gelten als „intern“, auch wenn die Ressource, von der sie stammen, eine externe IP-Adresse hat.
Anfragen von lokalen Ressourcen, die mit Cloud VPN und Cloud Interconnect mit dem VPC-Netzwerk verbunden sind, gelten als „intern“.
Eingehenden Traffic festlegen
In den folgenden Abschnitten wird beschrieben, wie Sie den Ingress für Cloud Run-Dienstefestlegen.
Eingehenden Traffic für Cloud Run-Dienste festlegen
Sie können den Ingress für einen Cloud Run-Dienst über dieCloud de Confiance Console, die Google Cloud CLI, YAML oder Terraform festlegen.
Console
Rufen Sie in der Cloud de Confiance Console die Seite Cloud Run-Dienste auf:
Wenn Sie einen neuen Dienst konfigurieren, klicken Sie auf Container bereitstellen, um das Formular Dienst erstellen aufzurufen. Füllen Sie die Seite mit den anfänglichen Diensteinstellungen aus.
Wenn Sie einen vorhandenen Dienst konfigurieren, klicken Sie auf den Dienst und dann auf den Tab Netzwerk.
Wählen Sie den eingehenden Traffic aus, den Sie zulassen möchten.
Klicken Sie für einen neuen Dienst auf Erstellen. Klicken Sie für einen vorhandenen Dienst auf Unterschied ansehen und erneut bereitstellen und dann auf Änderungen bereitstellen.
gcloud
Wenn Sie einen neuen Dienst bereitstellen, stellen Sie den Dienst mit dem Flag
--ingressbereit:gcloud run deploy SERVICE \ --image IMAGE_URL \ --ingress INGRESS
Ersetzen Sie Folgendes:
SERVICE: Ihr Dienstname.IMAGE_URL: ein Verweis auf das Container-Image, z. B.us-docker.pkg.dev/cloudrun/container/hello:latestWenn Sie Artifact Registry verwenden, muss das Repository REPO_NAME bereits erstellt sein. Die URL hat das FormatLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.INGRESSist eine der verfügbaren Einstellungen für eingehenden Traffic:allinternalinternal-and-cloud-load-balancing
Wenn Sie einen vorhandenen Ingress-Dienst ändern:
gcloud run services update SERVICE \ --ingress INGRESS
Ersetzen Sie Folgendes:
SERVICE: Ihr DienstnameINGRESSist eine der verfügbaren Einstellungen für eingehenden Traffic:allinternalinternal-and-cloud-load-balancing
YAML
Wenn Sie einen neuen Dienst erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Dienst aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:
gcloud run services describe SERVICE --format export > service.yaml
Aktualisieren Sie die Annotation
run.googleapis.com/ingress::apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE annotations: run.googleapis.com/ingress: INGRESS spec: template: metadata: name: REVISION
Ersetzen Sie Folgendes:
SERVICE: Der Name Ihres Cloud Run-Dienstes.INGRESSist eine der verfügbaren Einstellungen für eingehenden Traffic:allinternalinternal-and-cloud-load-balancing
REVISION: ein neuer Überarbeitungsname oder löschen (falls vorhanden). Wenn Sie einen neuen Überarbeitungsnamen angeben, muss er die folgenden Kriterien erfüllen:- Beginnt mit
SERVICE- - Enthält nur Kleinbuchstaben, Ziffern und
- - Endet nicht mit
- - Darf nicht mehr als 63 Zeichen enthalten
- Beginnt mit
Ersetzen Sie den Dienst mit dem folgenden Befehl durch die neue Konfiguration:
gcloud run services replace service.yaml
Terraform
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Fügen Sie der Ressourcegoogle_cloud_run_v2_service in Ihrer Terraform-Konfiguration Folgendes hinzu:Standard-URL deaktivieren
Bevor Sie die Standard-URL deaktivieren, sollten Sie beachten, dass die folgendenCloud de Confiance Dienste die Standard-s3nsrun.fr-URL verwenden, um Cloud Run aufzurufen. Durch Deaktivieren der Standard-s3nsrun.fr-URL wird verhindert, dass diese Dienste wie erwartet funktionieren:
- Die
cloudfunctions.net-URL der Cloud Functions v2 API auf Grundlage des Cloud Run-Dienstes. - Cloud Scheduler
- Cloud Service Mesh
- Cloud Tasks
- Dialogflow CX
- Eventarc
- Firebase App Hosting
- Firebase Hosting
- Pub/Sub
- Synthetische Monitorings und Verfügbarkeitsdiagnosen
- Workflows
Wenn Sie benutzerdefinierte Domainzuordnungen verwenden möchten, ordnen Sie die benutzerdefinierte Domain zu, bevor Sie die s3nsrun.fr-URL deaktivieren.
In den folgenden Abschnitten erfahren Sie, wie Sie die Standard-URL für Cloud Run-Dienstedeaktivieren.
Standard-URL für Cloud Run-Dienste deaktivieren
Deaktivieren Sie die standardmäßige s3nsrun.fr-URL eines Cloud Run-Dienstes , um nur Traffic von den anderen Ingress-Pfaden des Dienstes zuzulassen: Cloud Load Balancing und alle konfigurierten Domainzuordnungen.
So deaktivieren Sie die Standard-URL mithilfe der Cloud de Confiance Console, der Google Cloud CLI, YAML oder Terraform:
Console
Rufen Sie in der Cloud de Confiance Console die Seite Cloud Run-Dienste auf:
Klicken Sie auf einen vorhandenen Dienst.
Wählen Sie den Tab Netzwerk aus.
Entfernen Sie auf der Karte Endpoints (Endpunkte) unter Default HTTPS endpoint URL (Standard-HTTPS-Endpunkt-URL) das Häkchen bei Enable (Aktivieren).
Klicken Sie auf Unterschied ansehen und erneut bereitstellen und dann auf Änderungen bereitstellen.
Wenn Sie die Standard-URL wiederherstellen möchten, wählen Sie Aktivieren aus.
gcloud
Führen Sie für einen vorhandenen Dienst den Befehl
gcloud run services updatemit dem Flag--no-default-urlaus, z. B.:gcloud run services update SERVICE_NAME --no-default-url
Führen Sie für einen neuen Dienst den Befehl
gcloud run deploymit dem Flag--no-default-urlaus, z. B.:gcloud run deploy SERVICE_NAME --no-default-url
Ersetzen Sie
SERVICE_NAMEdurch den Namen Ihres Cloud Run-Dienstes.In der Ausgabe wird die URL als
Noneangezeigt.
Verwenden Sie das Flag --default-url, um die Standard-URL wiederherzustellen.
YAML
Wenn Sie einen neuen Dienst erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Dienst aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:
gcloud run services describe SERVICE --format export > service.yaml
Verwenden Sie die Annotation
run.googleapis.com/default-url-disabled, um die URLs3nsrun.frzu deaktivieren:apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/default-url-disabled: true name: SERVICE spec: template: metadata: name: REVISION
Ersetzen Sie Folgendes:
SERVICE: Der Name Ihres Cloud Run-Dienstes.REVISION: ein neuer Überarbeitungsname oder löschen (falls vorhanden). Wenn Sie einen neuen Überarbeitungsnamen angeben, muss er die folgenden Kriterien erfüllen:- Beginnt mit
SERVICE- - Enthält nur Kleinbuchstaben, Ziffern und
- - Endet nicht mit
- - Darf nicht mehr als 63 Zeichen enthalten
- Beginnt mit
Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:
gcloud run services replace service.yaml
Standardmäßig wird mit dem Befehl
gcloud run services replacedie Dateiservice.yamlverwendet, sofern sie vorhanden ist.
Wenn Sie die Standard-URL wiederherstellen möchten, entfernen Sie die Annotation run.googleapis.com/default-url-disabled.
Terraform
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Fügen Sie der Ressourcegoogle_cloud_run_v2_service in Ihrer Terraform-Konfiguration Folgendes hinzu: resource "google_cloud_run_v2_service" "disable_default_url_service" {
name = "cloudrun-service"
location = "europe-west1"
default_uri_disabled = true
template {
containers {
image = "us-docker.pkg.dev/cloudrun/container/hello"
}
annotations = {
"run.googleapis.com/ingress" = "all" # "all" or "internal-only"
}
}
}
Prüfen Sie, ob die Zeilen launch_stage und default_uri_disabled in Ihrer Datei main.tf enthalten sind. Die vorherige google_cloud_run_v2_service-Ressource gibt einen Cloud Run-Dienst an, bei dem die Standard-URL in der Vorschau deaktiviert ist.
Wenn Sie die Standard-URL wiederherstellen möchten, entfernen Sie die Argumente default_uri_disabled und launch_stage.
Nächste Schritte
- Weitere Informationen zu den Einstellungen für ausgehenden Traffic
- Internen Application Load Balancer für Cloud Run einrichten.
- IAM-Authentifizierungsmethoden für den Zugriff auf Dienstekonfigurieren.