In diesem Leitfaden finden Sie eine Übersicht darüber, wie Sie Agent2Agent-Agents (A2A) für die Bereitstellung in Cloud Run vorbereiten und konfigurieren. Darin werden wichtige Schritte wie das Einrichten einer Cloud-Umgebung, das Konfigurieren der erforderlichen IAM-Rollen (Identity and Access Management) und das Vorbereiten Ihres Agents für die Bereitstellung behandelt.
Hinweise
Bevor Sie mit der Entwicklung und Bereitstellung Ihres A2A-Agents beginnen, sollten Sie sich mit den folgenden Konzepten und Ressourcen vertraut machen:
- Lesen Sie die offizielle A2A-Spezifikation, um die Protokollarchitektur und die grundlegenden Konzepte für die Agent-Kommunikation kennenzulernen.
- Sehen Sie sich die vorhandenen Beispiel-Agents an, um praktische Informationen zu erhalten und die Entwicklung von A2A-Agents zu beschleunigen. Sehen Sie sich insbesondere das Google Cloud Run-Beispiel für die Bereitstellung an, in dem das Agent Development Kit (ADK) verwendet wird.
Roadmap für die A2A-Agent-Bereitstellung
Führen Sie die folgenden Schritte aus, um Ihren Agent bereitzustellen:
- Machen Sie sich mit der A2A-Spezifikation vertraut und verwenden Sie Beispiel-Agents, um die Entwicklung zu beschleunigen.
- Richten Sie sichere IAM-Rollen für Ihren Cloud Run-Dienst ein.
- Konfigurieren Sie Ihre Cloud-Umgebung, indem Sie die erforderlichen Secrets einrichten und ein Dockerfile erstellen.
- Führen Sie den Befehl Cloud Run-Bereitstellung aus.
- Agent-Leistung nach der Bereitstellung testen und überwachen:
Gesamtarchitektur
Das Herzstück des A2A-Agents ist eine Serving- und Orchestrierungsebene wie Cloud Run. Diese Ebene verwaltet die Interaktionen mit KI-Modellen wie Gemini und Vertex AI, Speichern wie AlloyDB und A2A TaskStore sowie externen Tools über APIs. Clients interagieren mit dem Agent, indem sie Anfragen wie „Get Agent Card“ (Agent-Karte abrufen) oder „send message“ (Nachricht senden) senden und Aufgabenaktualisierungen erhalten.
Das folgende Diagramm veranschaulicht die Architektur eines A2A-Agentsystems, in dem ein A2A-Client (Nutzer oder Agent) mit dem A2A-Agent interagiert.

Informationen zum Lebenszyklus von A2A-Anfragen finden Sie im Abschnitt Lebenszyklus von A2A-Anfragen.
IAM-Rollen und -Berechtigungen für Cloud Run A2A-Agents
Richtig konfigurierte IAM-Rollen sind wichtig, damit Ihr Cloud Run-Dienst sicher mit anderen Google Cloud-Diensten interagieren kann. Erstellen Sie ein dediziertes Dienstkonto und erteilen Sie die in den folgenden Abschnitten aufgeführten spezifischen Berechtigungen, um die Betriebssicherheit und Effizienz zu gewährleisten.
Cloud Run-Dienstkonto erstellen
Bevor Sie gcloud
-Befehle ausführen, müssen Sie sich authentifizieren. Führen Sie den folgenden Befehl aus, um sich in Ihrem Google Cloud Konto anzumelden:
gcloud auth login
Erstellen Sie ein Dienstkonto speziell für Ihre bereitgestellte A2A-Dienstinstanz.
Führen Sie den Befehl gcloud iam service-accounts create
aus.
gcloud iam service-accounts create A2A_SERVICE_ACCOUNT_NAME \
--description="Service account for A2A Cloud Run service" \
--display-name="A2A Cloud Run Service Account"
A2A_SERVICE_ACCOUNT_NAME durch den Namen des Dienstkontos ersetzen.
IAM-Rollen für den A2A-Agent konfigurieren
Weisen Sie Ihrem Dienstkonto die folgenden IAM-Rollen zu, je nachdem, mit welchen Google CloudDiensten Ihr A2A-Agent interagiert:
Secret Manager-Zugriff für sichere Anmeldedaten
- Rolle:
Secret Manager Secret Accessor
(roles/secretmanager.secretAccessor
) Zweck:Ermöglicht dem Cloud Run-Dienstkonto, Secrets wie Datenbankanmeldedaten sicher aus Secret Manager abzurufen.
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \ --member="serviceAccount:A2A_SERVICE_ACCOUNT_NAME@YOUR_PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/secretmanager.secretAccessor"
Vertex AI-Modellzugriff für KI-Funktionen
- Rolle:
Vertex AI User
(roles/aiplatform.user
) Zweck:Erforderlich, damit das Cloud Run-Dienstkonto Vorhersage-APIs für Vertex AI-Modelle aufrufen kann.
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \ --member="serviceAccount:A2A_SERVICE_ACCOUNT_NAME@YOUR_PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/aiplatform.user"
AlloyDB-Instanzzugriff für persistenten Speicher (falls zutreffend)
- Rollen:
AlloyDB Client
(roles/alloydb.client
) undService Usage Consumer
(roles/serviceusage.serviceUsageConsumer
) Zweck:Ermöglicht der Cloud Run-Dienstidentität die Interaktion mit dem AlloyDB-Cluster für die dauerhafte Speicherung von Aufgaben, was für A2A-Agents in der Produktion von entscheidender Bedeutung ist.
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \ --member="serviceAccount:A2A_SERVICE_ACCOUNT_NAME@YOUR_PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/alloydb.client"
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \ --member="serviceAccount:A2A_SERVICE_ACCOUNT_NAME@YOUR_PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/serviceusage.serviceUsageConsumer"
A2A-Agent für die Cloud Run-Bereitstellung vorbereiten
In diesem Abschnitt werden die Konfigurationen beschrieben, die erforderlich sind, um Ihren A2A-Agenten für die Bereitstellung in Cloud Run vorzubereiten und so einen sicheren, effizienten und skalierbaren Betrieb in der Cloud zu gewährleisten.
Secrets für Cloud Run-Dienste konfigurieren
Stellen Sie alle sensiblen Anmeldedaten wie API-Schlüssel und Datenbankpasswörter über einen sicheren Mechanismus für Ihren A2A-Server bereit. Cloud Run unterstützt die Bereitstellung von Secrets als Umgebungsvariablen oder dynamisch bereitgestellte Volumes. Weitere Informationen finden Sie unter Secrets in Cloud Run konfigurieren.
Sie können beispielsweise Datenbanknutzer- und Passwortgeheimnisse in Google Secret Manager mit der gcloud
-Befehlszeile erstellen und verwalten. Weitere Informationen finden Sie unter Secret erstellen.
gcloud secrets create alloy_db_user --replication-policy="automatic"
# Create a file user.txt with contents of secret value
gcloud secrets versions add alloy_db_user --data-file="user.txt"
gcloud secrets create alloy_db_pass --replication-policy="automatic"
# Create a file pass.txt with contents of secret value
gcloud secrets versions add alloy_db_pass --data-file="pass.txt"
Dockerfile für die Containerisierung erstellen
Cloud Run kann Dienste entweder aus bereits gehosteten Container-Images oder direkt aus Ihrem Quellcode bereitstellen. Wenn Sie aus Quellcode bereitstellen, erstellt Cloud Run automatisch ein Container-Image, wenn sich im Stammverzeichnis Ihres Projekts ein Dockerfile befindet.
Das folgende Beispiel zeigt ein Dockerfile für die Bereitstellung eines A2A-Agents:
FROM python:3.13-slim
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
EXPOSE 8080
WORKDIR /app
COPY . ./
RUN uv sync
ENTRYPOINT ["uv", "run", ".", "--host", "0.0.0.0", "--port", "8080"]
Aus Quellcode ohne Dockerfile bereitstellen
Für Quellcode-Repositories ohne Dockerfile
bietet Cloud Run integrierte Unterstützung für bestimmte gängige Programmiersprachen, wodurch die Containerisierung vereinfacht wird.
- Python-Anwendungen in Cloud Run:Cloud Run sucht in der Regel nach einer
main.py
-Datei, um Python-Dienste zu erstellen und bereitzustellen. Weitere Informationen finden Sie unter Kurzanleitung: Python-Dienst in Cloud Run bereitstellen. - Node.js-Anwendungen in Cloud Run:Weitere Informationen finden Sie in der Kurzanleitung zum Bereitstellen eines Node.js-Dienstes in Cloud Run.