Ambient Networking bietet eine vereinfachte Ressourcennetzwerk-Funktion, die in Cloud Run integriert ist. Ihre Ressourcen erhalten eine vollständig verwaltete Datenebene, sodass Sie keine benutzerdefinierten Proxys mehr erstellen und verwalten müssen. Außerdem werden Service Mesh-Konzepte abstrahiert, sodass Sie erweiterte Netzwerkfunktionen erhalten, ohne ein Mesh-Netzwerk erlernen oder konfigurieren zu müssen.
Wenn Sie Ambient Networking aktivieren, wird der Traffic standardmäßig unverändert weitergeleitet, sodass Ihr vorhandener HTTP- und TCP-Traffic weiterhin funktioniert. Das Aktivieren von Ambient Networking allein ändert nichts am Verhalten Ihrer Ressource. Als Grundlage ermöglicht Ambient Networking die Aktivierung der im folgenden Abschnitt beschriebenen Funktionen.
Anwendungsfall
Ambient Networking ist die Grundlage für erweiterte Netzwerkfunktionen in Cloud Run. Nachdem Sie Ambient Networking aktiviert haben, können Sie Agent Gateway in Cloud Run verwenden. Mit dieser Funktion wird der KI-Agenten-Traffic mit Zugriffs- und Sicherheitsrichtlinien gesteuert, die Ihre Organisation zentral verwaltet.
Architektur
Bei Ambient Networking wird in jeder Containerinstanz Ihrer Cloud Run-Ressource neben Ihrem Anwendungscontainer ein vollständig verwalteter Envoy-Sidecar-Container ausgeführt. Der Sidecar fängt den Netzwerkverkehr der Instanz ab und wendet die Routing- und Sicherheitsrichtlinie an, die Cloud Run an ihn verteilt.
Ambient Networking-Bereiche
Ambient Networking unterstützt einen globalen und einen regionalen Bereich. Der Bereich bestimmt, ob der Sidecar eine Verbindung zu einer globalen oder regionalen Routingebene herstellt:
- Regional (Standard): Cloud Run verbindet den Sidecar mit einer regionalen Routingebene, wodurch Routing- und Sicherheitsrichtlinien auf Ziele innerhalb der Region Ihres Dienstes beschränkt werden. Dieser Bereich unterstützt die Anforderungen an den Datenstandort für ruhende sowie in Verwendung und Übertragung befindliche Daten. Wenn Sie keinen Bereich angeben, wird für Ambient Networking der regionale Bereich verwendet.
- Global: Cloud Run verbindet den Sidecar mit einer globalen Routing-Ebene, sodass Traffic an Ziele in jeder Region weitergeleitet werden kann.
Für jedes Feature, das Ambient Networking verwendet, ist ein bestimmter Bereich erforderlich:
| Funktion | Globaler Bereich | Regionaler Bereich |
|---|---|---|
| Agent Gateway in Cloud Run | Nicht unterstützt | Unterstützt |
Beschränkungen
Für Ambient Networking gelten die folgenden Einschränkungen:
- UDP-Traffic wird nicht unterstützt. Ambient Networking unterstützt nur HTTP- und TCP-Traffic.
- Eingehende Anfragen unterstützen kein End-to-End-HTTP/2. Weitere Informationen finden Sie unter Bekannte Probleme.
- Der regionale Bereich unterstützt keine VPC-Netzwerke, die
*.googleapis.comin IP-Adressen für den privaten Google-Zugriff auflösen. Weitere Informationen finden Sie unter Bekannte Probleme. - Die Ausführungsumgebung der ersten Generation wird nicht unterstützt. Wenn Sie keine Ausführungsumgebung angeben, verwendet Cloud Run die zweite Generation.
- Das Starten von Containerinstanzen dauert länger. Weitere Informationen finden Sie unter Bekannte Probleme.
Hinweis
- Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Aktivieren Sie die Cloud Run, Network Services und Traffic Director APIs, falls sie noch nicht aktiviert sind.
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen-
Erhöhen Sie das CPU-Limit Ihrer Cloud Run-Ressource um 1 vCPU und das Speicherlimit um 1 GiB. Wenn das neue CPU-Limit kein unterstützter Wert ist, verwenden Sie den nächsthöheren unterstützten Wert. Der Ambient-Sidecar teilt sich die CPU und den Arbeitsspeicher Ihrer Containerinstanz. Durch diese Erhöhung wird sichergestellt, dass Ihre Anwendung die benötigten Ressourcen behält.
-
Informationen zur Nutzung von Sidecars für Ambient Networking finden Sie auf der Seite mit den Preisen für Cloud Run. Die Abrechnung für Ambient-Features wird während der Vorabversion nicht erzwungen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren und Bereitstellen von Cloud Run-Diensten benötigen:
- Cloud Run-Entwickler (
roles/run.developer) für den Cloud Run-Dienst - Dienstkontonutzer (
roles/iam.serviceAccountUser) für die Dienstidentität
Wenn Sie einen Dienst oder eine Funktion aus dem Quellcode bereitstellen, müssen Ihnen außerdem zusätzliche Rollen für Ihr Projekt und Ihr Cloud Build-Dienstkonto zugewiesen sein.
Die Dienstidentität der Cloud Run-Ressource muss außerdem die folgenden Rollen haben:
- Traffic Director-Client (
roles/trafficdirector.client) - Cloud Trace-Agent (
roles/cloudtrace.agent)
Verwenden Sie gcloud, um der Dienstidentität diese Rollen zuzuweisen:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:RUN_CLIENT_SA@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/trafficdirector.client" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:RUN_CLIENT_SA@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/cloudtrace.agent"
Ersetzen Sie Folgendes:
- PROJECT_ID: Projekt-ID in Google Cloud .
- RUN_CLIENT_SA: Der Name des Dienstkontos, das an Ihren Cloud Run-Dienst angehängt ist.
Wenn die Dienstidentität diese Rollen nicht hat, wird die Cloud Run-Ressource trotzdem bereitgestellt, aber Features, die Ambient Networking verwenden, funktionieren nicht.
Eine Liste der IAM-Rollen und -Berechtigungen im Zusammenhang mit Cloud Run finden Sie unter IAM-Rollen für Cloud Run und IAM-Berechtigungen für Cloud Run. Wenn Ihr Cloud Run-Dienst mitGoogle Cloud -APIs wie Cloud-Clientbibliotheken verknüpft ist, lesen Sie die Konfigurationsanleitung für Dienstidentitäten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Bereitstellungsberechtigungen und Zugriff verwalten.
Ambient Networking konfigurieren
Konfigurieren Sie Ambient Networking mit gcloud oder einer YAML-Datei.
gcloud
Wenn Sie Ambient Networking für einen neuen Dienst aktivieren möchten, übergeben Sie das Flag
--ambient-networkingund optional das Flag--ambient-scope:gcloud beta run deploy SERVICE \ --image=IMAGE_URL \ --ambient-networking \ --ambient-scope=SCOPE \ --region=REGION
Wenn Sie Ambient Networking für einen vorhandenen Dienst aktivieren möchten, übergeben Sie dieselben Flags an den Befehl
gcloud beta run services update. Dadurch wird eine neue Version mit aktiviertem Ambient Networking bereitgestellt:gcloud beta run services update SERVICE \ --ambient-networking \ --ambient-scope=SCOPE \ --region=REGION
Übergeben Sie das Flag
--no-ambient-networking, um Ambient Networking zu deaktivieren:gcloud beta run services update SERVICE \ --no-ambient-networking \ --region=REGION
Ersetzen Sie Folgendes:
- SERVICE: Der Name Ihres Cloud Run-Dienstes.
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.- SCOPE: der Ambient Networking-Bereich, entweder
globaloderregional. - REGION: die Region für Ihren Dienst.
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
Fügen Sie die Annotation
run.googleapis.com/ambient-networkingund optional die Annotationrun.googleapis.com/ambient-scopehinzu:spec: template: metadata: annotations: run.googleapis.com/ambient-networking: 'true' run.googleapis.com/ambient-scope: SCOPE
Ersetzen Sie SCOPE durch den Ambient Networking-Bereich, entweder
globaloderregional. Wenn Sie Ambient Networking deaktivieren möchten, setzen Sierun.googleapis.com/ambient-networkingauf'false'und entfernen Sie die Annotationrun.googleapis.com/ambient-scope.Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:
gcloud run services replace service.yaml
Der Befehl
gcloud run services replaceverwendet standardmäßig die Dateiservice.yaml, falls vorhanden.
Einstellungen für Ambient Networking ansehen
So rufen Sie die aktuellen Einstellungen für Ambient Networking für Ihren Cloud Run-Dienst auf:
Console
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run-Dienste:
Klicken Sie auf den Dienst, um die Seite Dienstdetails zu öffnen.
Klicken Sie auf den Tab Netzwerk.
Sehen Sie sich auf der Karte Ambient Networking die Einstellung Bereich an.
gcloud
Verwenden Sie den folgenden Befehl:
gcloud beta run services describe SERVICE \ --region=REGION
Suchen Sie in der zurückgegebenen Konfiguration nach den Annotationen
run.googleapis.com/ambient-networkingundrun.googleapis.com/ambient-scope.
Nächste Schritte
- Agent Gateway in Cloud Run
- Informationen zum Konfigurieren von Agent Platform-Funktionen für Cloud Run
- Dienst-zu-Dienst-Authentifizierung in Cloud Run
- Anfragen mit Cloud Trace verfolgen