Ambient Networking konfigurieren

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.

Ein Ambient-Sidecar-Container, der neben einem Anwendungscontainer in einer Containerinstanz einer Cloud Run-Ressource ausgeführt wird, wobei der Traffic vom Sidecar zu anderen Cloud Run-Ressourcen fließt.
Der Ambient-Sidecar-Container fängt den Traffic zwischen Ihrem Anwendungscontainer und den Zielen ab, die er aufruft (zum Vergrößern klicken).

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.com in 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

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. 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

    APIs aktivieren

  7. 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.

  8. 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:

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-networking und 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:latest Wenn Sie Artifact Registry verwenden, muss das Repository REPO_NAME bereits erstellt sein. Die URL hat das Format LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • SCOPE: der Ambient Networking-Bereich, entweder global oder regional.
  • REGION: die Region für Ihren Dienst.

YAML

  1. 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
  2. Fügen Sie die Annotation run.googleapis.com/ambient-networking und optional die Annotation run.googleapis.com/ambient-scope hinzu:

    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 global oder regional. Wenn Sie Ambient Networking deaktivieren möchten, setzen Sie run.googleapis.com/ambient-networking auf 'false' und entfernen Sie die Annotation run.googleapis.com/ambient-scope.

  3. Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:

    gcloud run services replace service.yaml

    Der Befehl gcloud run services replace verwendet standardmäßig die Datei service.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

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run-Dienste:

    Zu Cloud Run

  2. Klicken Sie auf den Dienst, um die Seite Dienstdetails zu öffnen.

  3. Klicken Sie auf den Tab Netzwerk.

  4. Sehen Sie sich auf der Karte Ambient Networking die Einstellung Bereich an.

gcloud

  1. Verwenden Sie den folgenden Befehl:

    gcloud beta run services describe SERVICE \
       --region=REGION
  2. Suchen Sie in der zurückgegebenen Konfiguration nach den Annotationen run.googleapis.com/ambient-networking und run.googleapis.com/ambient-scope.

Nächste Schritte