Cloud Run-Dienst konfigurieren

Im Application Design Center können Sie einen Cloud Run-Dienst so konfigurieren, dass zustandslose Container direkt auf der skalierbaren, vollständig verwalteten Infrastruktur von Google ausgeführt werden. Sie können den Dienst für Ihre spezifischen Komponentenverbindungen und Konfigurationsparameter anpassen. Die Konfigurationsparameter sind im Terraform-Modul terraform-google-cloud-run aufgeführt.

Komponentenverbindungen

In der folgenden Tabelle sind die Komponenten aufgeführt, die Sie mit einem Cloud Run-Dienst verbinden können, sowie die resultierenden Aktualisierungen Ihrer Anwendung und des generierten Terraform-Codes.

Verbundene Komponente

Anwendungsupdates

Hintergrundinformationen:

Secret Manager
  • Der Cloud Run-Dienst kann auf die Secret-Daten verweisen.
  • Auf das Feld Secret-Daten von Secret Manager wird vom Cloud Run-Feld env_secret_vars verwiesen.
  • Die Rolle roles/secretmanager.secretAccessor wird dem Cloud Run-Dienstkonto hinzugefügt.
Secrets für Dienste konfigurieren

Dienstkonto

  • Der Cloud Run-Dienst verwendet das Dienstkonto als Dienstidentität.
  • Die Rolle roles/run.invoker wird dem Dienstkonto hinzugefügt.
  • Die E-Mail-Adresse des Dienstkontos und die IAM-Informationen werden den Cloud Run-Umgebungsvariablen hinzugefügt.
Dienst-zu-Dienst authentifizieren
AlloyDB for PostgreSQL
  • Der Cloud Run-Dienst kann eine Verbindung zur AlloyDB for PostgreSQL-Instanz herstellen.
  • Die Ressourcenmetadaten von AlloyDB for PostgreSQL werden den Cloud Run-Umgebungsvariablen hinzugefügt.
  • Die AlloyDB for PostgreSQL-Rolle roles/alloydb.admin wird dem Cloud Run-Dienstkonto hinzugefügt.
Verbindung über Cloud Run herstellen
BigQuery
  • Der Cloud Run-Dienst kann mit dem BigQuery-Dataset interagieren.
  • Die BigQuery-Ressourcenmetadaten werden den Cloud Run-Umgebungsvariablen hinzugefügt.
  • Die BigQuery-Rolle roles/bigquery.dataEditor wird dem Cloud Run-Dienstkonto hinzugefügt.
BigQuery-Übersicht

Bigtable

  • Der Cloud Run-Dienst kann administrative Funktionen für die Bigtable-Instanz ausführen.
  • Die Metadateninformationen der Bigtable-Ressource werden den Cloud Run-Umgebungsvariablen hinzugefügt.
  • Die Rolle roles/bigtable.admin wird dem Cloud Run-Dienstkonto hinzugefügt.
Bigtable – Übersicht

Ein anderer Cloud Run-Dienst

  • Der Cloud Run-Quelldienst kann Traffic an den Cloud Run-Zieldienst senden.
  • Der Cloud Run-Quelldienst enthält den URI des Cloud Run-Zieldienstes in seinen Umgebungsvariablen.
Was ist Cloud Run?

Cloud SQL (MySQL)

  • Der Cloud Run-Dienst kann Daten in der Cloud SQL-Instanz (MySQL) lesen und schreiben.
  • Die Metadaten der Cloud SQL-Verbindung werden dem Cloud Run-Dienst hinzugefügt.
  • Die Rollen roles/cloudsql.instanceUser und roles/cloudsql.client werden dem Cloud Run-Dienstkonto hinzugefügt.
  • Das Cloud Run-Dienstkonto wird der Cloud SQL-Instanz als IAM-Nutzer hinzugefügt.
Verbindung über Cloud Run herstellen

Cloud SQL (PostgreSQL)

  • Der Cloud Run-Dienst kann Daten in der Cloud SQL-Instanz (PostgreSQL) lesen und schreiben.
  • Die Metadaten der Cloud SQL-Verbindung werden dem Cloud Run-Dienst hinzugefügt.
  • Die Rollen roles/cloudsql.instanceUser und roles/cloudsql.client werden dem Cloud Run-Dienstkonto hinzugefügt.
  • Das Cloud Run-Dienstkonto wird der Cloud SQL-Instanz als IAM-Nutzer hinzugefügt.
Verbindung über Cloud Run herstellen

Cloud Storage

  • Der Cloud Run-Dienst kann Objekte im Cloud Storage-Bucket verwalten.
  • Die IAM-Informationen des Cloud Run-Dienstkontos werden dem Cloud Storage-Bucket hinzugefügt.
  • Die Rolle roles/storage.objectAdmin ist dem Cloud Run-Dienstkonto zugewiesen.
Verbindung zu Google Cloud -Diensten herstellen

Globales Cloud Load Balancing-Backend

  • Der Load Balancer kann eingehenden Traffic an den Cloud Run-Dienst verteilen.
  • Der Cloud Run-Dienst wird als Backend-Endpunkt in der Konfiguration der serverlosen NEG-Backends von Cloud Load Balancing hinzugefügt.
Globalen externen Application Load Balancer mit Cloud Run einrichten

Memorystore for Redis

  • Der Cloud Run-Dienst kann Daten in der Memorystore for Redis-Instanz im Cache speichern.
  • Die Memorystore for Redis-Verbindungsinformationen werden den Cloud Run-Umgebungsvariablen hinzugefügt.
  • Die Rolle roles/redis.editor wird dem Cloud Run-Dienstkonto hinzugefügt.
Verbindung zu einer Redis-Instanz über einen Cloud Run-Dienst herstellen

Memorystore for Redis Cluster

  • Der Cloud Run-Dienst kann Daten im Memorystore for Redis-Cluster im Cache speichern.
  • Die Verbindungsinformationen für Memorystore for Redis Cluster werden den Cloud Run-Umgebungsvariablen hinzugefügt.
  • Das App Design Center fügt dem Cloud Run-Dienstkonto die Rolle roles/redis.dbConnectionUser hinzu.
Verbindung zu einer Memorystore for Redis-Clusterinstanz herstellen

Memorystore for Valkey

  • Der Cloud Run-Dienst kann Daten in der Memorystore for Valkey-Instanz im Cache speichern.
  • Das App Design Center fügt die Memorystore for Valkey-Verbindungsinformationen den Cloud Run-Umgebungsvariablen hinzu.
  • Das App Design Center fügt dem Cloud Run-Dienstkonto die Rolle roles/memorystore.dbConnectionUser hinzu.
Verbindung zu einer Memorystore for Valkey-Instanz herstellen

Pub/Sub

  • Der Cloud Run-Dienst kann Nachrichten empfangen oder im Pub/Sub-Thema veröffentlichen.
  • Die Pub/Sub-Themen-ID wird den Cloud Run-Umgebungsvariablen hinzugefügt.
  • Die Rollen roles/pubsub.publisher und roles/pubsub.subscriber werden dem Cloud Run-Dienstkonto hinzugefügt.
  • Der Cloud Run-Dienst wird den Pub/Sub-Push- und Pull-Abofeldern hinzugefügt.
Pub/Sub mit Cloud Run verwenden

Regionales Cloud Load Balancing-Backend

  • Der Load Balancer kann eingehenden Traffic an den Cloud Run-Dienst verteilen.
  • Der Cloud Run-Dienst wird als Backend-Endpunkt in der Konfiguration der serverlosen NEG-Backends von Cloud Load Balancing hinzugefügt.
Regionalen externen Application Load Balancer mit Cloud Run einrichten

Regionales Cloud Load Balancing-Frontend

  • Die HTTP- und HTTPS-IP-Adressen des Load Balancers sind für die Anwendung verfügbar, die im Cloud Run-Container ausgeführt wird.
  • Die Adressmetadaten von Cloud Load Balancing werden den Cloud Run-Umgebungsvariablen hinzugefügt.
Weiterleitungsregeln – Übersicht

Spanner

  • Der Cloud Run-Dienst kann die Spanner-Instanz verwalten.
  • Die Spanner-Verbindungsdetails werden den Cloud Run-Umgebungsvariablen hinzugefügt.
  • Die Rolle roles/spanner.databaseAdmin wird dem Cloud Run-Dienstkonto hinzugefügt.
  • Die IAM-Informationen des Cloud Run-Dienstkontos werden der Spanner-Instanz hinzugefügt.
Verbindung zu Google Cloud -Diensten herstellen

Vertex AI

  • Der Cloud Run-Dienst kann mit Vertex AI-Diensten interagieren.
  • Die Rolle roles/aiplatform.user wird dem Cloud Run-Dienstkonto hinzugefügt.
KI-Apps und -Agents in Cloud Run hosten

Erforderliche Konfigurationsparameter

Wenn Ihre Vorlage eine Cloud Run-Komponente enthält, müssen Sie vor der Bereitstellung die folgenden Parameter konfigurieren.

Parametername

Beschreibung und Einschränkungen

Hintergrundinformationen:

Projekt-ID

Das Projekt, in dem Sie die Cloud Run-Ressource bereitstellen möchten.

Komponenten konfigurieren

Region

Der Bereitstellungsstandort des Cloud Run-Dienstes.

Cloud Run-Standorte

Dienstname

name Cloud Run-Dienst

Optionale Konfigurationsparameter

Die folgenden Parameter sind optional. Wenn Sie erweiterte Parameter anzeigen möchten, wählen Sie im Bereich Konfiguration die Option Erweiterte Felder anzeigen aus.

Funktion

Unterfunktion

Parametername

Beschreibung und Informationen zur Einschränkung

Hintergrundinformationen:

Container

Containername

name Container erstellen

Container-Image

image Container-Images für Cloud Run bereitstellen

Arbeitsverzeichnis

Das Arbeitsverzeichnis des Containers. Wenn nicht angegeben, wird der Standardwert der Containerlaufzeit verwendet, der möglicherweise im Container-Image konfiguriert ist.

workingDir

Abhängig vom Container

dependsOn[] Container-Startreihenfolge für Sidecar-Bereitstellungen konfigurieren

Containerargumente

args[] Container für Dienste konfigurieren

Containerbefehl

Befehl Container für Dienste konfigurieren
Umgebungsvariablen

Schlüssel

name Umgebungsvariablen für Dienste

Wert

Wert Umgebungsvariablen für Dienste
Geheime Umgebungsvariablen

Schlüssel

EnvVarSource Secrets verwalten

Secret

secret Secrets verwalten

Version

version Secrets verwalten
Volume-Bereitstellungen

Name

name Verbindung über Cloud Run herstellen

Bereitstellungspfad

mountPath Verbindung über Cloud Run herstellen
Ports

Name

name HTTP/2 für Dienste verwenden

Container-Port

containerPort HTTP/2 für Dienste verwenden
Ressourcen

CPU

Limits CPU-Limits für Dienste konfigurieren

Speicher

Limits Speicherlimits für Dienste konfigurieren

CPU-Inaktivität

Gibt an, ob die CPU nur während Anfragen zugewiesen wird.

cpuIdle

CPU-Boost beim Starten

startupCPUBoost CPU-Boost beim Starten festlegen
Startprüfung

Fehlerschwellenwert

failureThreshold Container-Systemdiagnosen für Dienste konfigurieren

Anfängliche Verzögerung in Sekunden

initialDelaySeconds Prüfungen konfigurieren

Zeitüberschreitung in Sekunden

timeoutSeconds Prüfungen konfigurieren

Periodensekunden

periodSeconds Prüfungen konfigurieren

HTTP-Get-Pfad

path Prüfungen konfigurieren

HTTP-Get-Port

Port Prüfungen konfigurieren

HTTP-Header-Name

name Prüfungen konfigurieren

HTTP-Header-Wert

Wert Prüfungen konfigurieren

TCP-Socket-Port

Port Standardmäßige TCP-Startprüfung

gRPC-Port

Port Prüfungen konfigurieren

gRPC-Dienst

Dienst Prüfungen konfigurieren

Aktivitätsprüfung

livenessProbe Anwendungsfälle

Beschreibung

description Dienstbeschreibungen festlegen

Dienstkonto erstellen

Erstellen Sie ein neues Dienstkonto für den Cloud Run-Dienst.

Dienstidentität für Jobs konfigurieren

Dienstkonto-Projektrollen

Rollen, die dem neu erstellten Dienstkonto zugewiesen werden sollen. Aktivieren Sie Dienstkonto erstellen und geben Sie nichts für Dienstkonto ein.

Dienstidentität für Jobs konfigurieren

Eingehender Traffic

IngressTraffic Eingehenden Netzwerktraffic für Cloud Run einschränken

Mitglieder

Nutzer und Dienstkonten, die den Dienst aufrufen können. Geben Sie für den öffentlichen Zugriff allUsers ein. Geben Sie für den Zugriff durch angemeldete Google-Nutzer allAuthenticatedUsers oder eine Liste bestimmter Nutzer und Dienstkonten ein. Weitere Informationen finden Sie unter Mitglieder.

Dienstidentität für Jobs konfigurieren

VPC-Zugriff

Connector

connector VPC mit Connectors

Ausgehend egress Ausgehenden Diensttraffic steuern

Netzwerkschnittstellen

Netzwerk network Dienst bereitstellen
Subnetzwerk subnetwork Dienst bereitstellen
Tags Tags Dienst bereitstellen

Löschschutz für Cloud Run

Verhindert, dass Terraform Cloud Run-Jobs und -Dienste löscht oder neu erstellt.

deletion_protection

Prometheus-Sidecar aktivieren

Aktivieren Sie die Prometheus-Sidecar-Datei in der Cloud Run-Instanz.

Prometheus-Messwerte mit dem Prometheus-Sidecar schreiben

Volumes

Name

name In-Memory-Volume konfigurieren
Secret Secret secret Secret für Cloud Run zugänglich machen
Standardmodus defaultMode
Pfad path Secret für Cloud Run verfügbar machen
Version version Secret für Cloud Run verfügbar machen
Modus mode Secret für Cloud Run verfügbar machen
Cloud SQL-Instanz Instanzen instances[] Verbindung über Cloud Run herstellen
Empty Dir Mittel medium In-Memory-Volume-Bereitstellungen für Dienste konfigurieren
Größenbeschränkung sizeLimit In-Memory-Volume-Bereitstellungen für Dienste konfigurieren
GCS Bucket Bucket Cloud Storage-Volume-Bereitstellungen für Dienste konfigurieren
Schreibgeschützt readOnly Cloud Storage-Volume-Bereitstellungen für Dienste konfigurieren
NFS Server server NFS-Volume-Bereitstellungen für Dienste konfigurieren
Pfad path NFS-Volume-Bereitstellungen für Dienste konfigurieren
Schreibgeschützt readOnly NFS-Volume-Bereitstellungen für Dienste konfigurieren

Dienstskalierung

Min. Anzahl der Instanzen

minInstanceCount Mindestanzahl von Instanzen für Dienste festlegen

Revision

revision Cloud Run-Dienstversionen

Vorlagenskalierung

Min. Anzahl der Instanzen

minInstanceCount Mindestanzahl von Instanzen für Dienste festlegen
Maximale Anzahl von Instanzen maxInstanceCount Maximale Anzahl von Instanzen

Verschlüsselungsschlüssel

encryptionKey Kundenverwaltete Verschlüsselungsschlüssel verwenden

Maximale Nebenläufigkeit von Instanzanfragen

maxInstanceRequestConcurrency Maximale Anzahl gleichzeitiger Anfragen für Dienste

Sitzungsaffinität

sessionAffinity Sitzungsaffinität für Dienste festlegen

Ausführungsumgebung

executionEnvironment Informationen zu Dienstausführungsumgebungen

Traffic

Typ

type Rollbacks, graduelle Roll-outs und Traffic-Migration
Percent percent Rollbacks, graduelle Roll-outs und Traffic-Migration
Revision revision Rollbacks, graduelle Roll-outs und Traffic-Migration
Tag tag Rollbacks, graduelle Roll-outs und Traffic-Migration

Dienstlabels

Schlüssel

labels Labels für Dienste konfigurieren
Wert labels Labels für Dienste konfigurieren

Dienstannotationen

Schlüssel

Annotationen Annotationen
Wert Annotationen Annotationen

Kunde

Name

Beliebige Kennung für den API-Client.

client
Version

Beliebige Kennung für die Versionskennung.

clientVersion

Startphase

LaunchStage Phasen der Produkteinführung

Benutzerdefinierte Zielgruppen

customAudience Benutzerdefinierte Zielgruppen für Dienste festlegen

Binärautorisierung

Begründung für Break-Glass

breakglassJustification Break-Glass verwenden
Standardeinstellung verwenden useDefault Binärautorisierung verwenden

Vorlagenlabels

Schlüssel

labels Labels für Dienste konfigurieren
Wert labels Labels für Dienste konfigurieren

Vorlagen-Annotationen

Schlüssel

Annotationen Annotationen
Wert Annotationen Annotationen

Zeitlimit

timeout Zeitlimit bei Anfrage für Dienste festlegen

Dienstkonto

serviceAccount Dienstidentität für Dienste konfigurieren