Cloud Run-Instanzen erstellen und verwalten

Auf dieser Seite wird beschrieben, wie Sie einzeln adressierbare Singleton-Cloud Run-Instanzen erstellen und verwalten. Im Gegensatz zu Cloud Run-Diensten, die basierend auf eingehendem Traffic skaliert werden, ist eine Instanz ein dedizierter Compute-Container, den Sie manuell über Lebenszyklusübergänge (Erstellen, Beenden, Starten, Aktualisieren, Löschen) verwalten.

Unterstützte Regionen

Cloud Run-Instanzen können in allen unterstützten Regionen erstellt werden, mit Ausnahme der folgenden Regionen:

  • europe-west1
  • us-central1
  • us-east1

Hinweis

  1. Richten Sie ein neues Projekt für Cloud Run ein, wie auf der Seite Einrichtung beschrieben.

  2. Aktivieren Sie die Cloud Run Admin API:

    gcloud services enable run.googleapis.com
    
  3. Aktualisieren Sie die Komponenten von gcloud auf die neueste Version:

    gcloud components update
  4. Wenn Sie einer Organisationsrichtlinie zur Domaineinschränkung nicht eingeschränkter Aufrufe für Ihr Projekt unterliegen, müssen Sie auf Ihren bereitgestellten Dienst zugreifen, wie unter Private Dienste testen beschrieben.

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-Instanzen benötigen:

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 Ihre Cloud Run-Instanz 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.

Instanz erstellen

Sie können ein Container-Image bereitstellen, um eine neue Instanz zu erstellen. Wenn Sie keinen Namen angeben, wird automatisch einer generiert.

gcloud

So erstellen Sie eine neue Cloud Run-Instanz mit dem Befehl gcloud beta run instances create:

gcloud beta run instances create INSTANCE_NAME \
    --image IMAGE_URL \
    --region REGION

So erstellen Sie eine neue Cloud Run-Instanz mit dem Befehl gcloud beta run instances deploy:

gcloud beta run instances deploy INSTANCE_NAME \
    --image IMAGE_URL \
    --region REGION

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: Der Name der Instanz, die Sie erstellen. Der Instanzname darf innerhalb Ihres Projekts und Ihrer Region nur einmal vorkommen. Sie können keine Instanz mit demselben Namen wie eine vorhandene Cloud Run-Instanz oder ein vorhandener Cloud Run-Dienst erstellen.
  • IMAGE_URL: ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/instances:latest.
  • REGION: Die Google Cloud Region, in der Sie Ihre Instanz ausführen, z. B. europe-west1.

Clientbibliotheken

So erstellen Sie eine neue Instanz aus Code:

REST API

Senden Sie zum Erstellen einer neuen Cloud Run-Instanz eine POST-HTTP-Anfrage an den instances-Endpunkt.

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "containers": [{
      "image": "IMAGE_URL",
      "ports": [{"containerPort": PORT}]
    }],
    "ingress": "INGRESS_TRAFFIC_ALL",
    "invokerIamDisabled": true,
    "timeout": "3600s"
  }' \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances?instance_id=INSTANCE_NAME"

Ersetzen Sie Folgendes:

  • IMAGE_URL: die URL Ihres Container-Images.
  • PORT: der Port, auf dem Ihr Container auf Anfragen wartet.
  • PROJECT_ID: Projekt-ID in Google Cloud .
  • REGION: die Google Cloud Region Ihrer Bereitstellung.
  • INSTANCE_NAME: der Name der neuen Instanz.

Nachdem Sie eine Instanz erstellt haben, erhält sie eine Cloud Run-URL im folgenden Format:

https://INSTANCE_NAME-PROJECT_NUMBER.REGION.run.app

Instanz aktualisieren

Wenn Sie eine Instanz aktualisieren, z. B. ihr Container-Image, ihren Port oder ihre Umgebungsvariablen, wird die Instanz neu gestartet.

gcloud

So aktualisieren Sie eine Cloud Run-Instanz mit dem Befehl gcloud beta run instances update:

gcloud beta run instances update INSTANCE_NAME \
    --image NEW_IMAGE_URL \
    --region REGION

So aktualisieren Sie eine Cloud Run-Instanz mit dem Befehl gcloud beta run instances deploy:

gcloud beta run instances deploy INSTANCE_NAME \
    --image IMAGE_URL \
    --region REGION

REST API

Wenn Sie die Konfiguration einer Cloud Run-Instanz über die API aktualisieren möchten, senden Sie eine PATCH-HTTP-Anfrage an den URI-Endpunkt der Instanz.

curl -H "Content-Type: application/json" \
  -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -d '{template: {containers: [{image: "IMAGE_URL"}]}}' \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"

Instanz beenden

Verwenden Sie den Befehl oder die Methode „stop“, um eine laufende Cloud Run-Instanz zu beenden.

gcloud

So beenden Sie eine Instanz:

gcloud beta run instances stop INSTANCE_NAME \
    --region REGION

Clientbibliotheken

So beenden Sie eine laufende Instanz aus Code:

REST API

Wenn Sie eine Instanz beenden möchten, senden Sie eine POST-HTTP-Anfrage mit dem :stop-Decorator:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME:stop"

Instanz starten oder neu starten

Verwenden Sie den Befehl oder die Methode „start“, um eine angehaltene Instanz zu starten oder einen Neustart einer vorhandenen Instanz zu erzwingen.

gcloud

So starten oder starten Sie eine Instanz neu:

gcloud beta run instances start INSTANCE_NAME \
    --region REGION

Clientbibliotheken

So starten Sie eine angehaltene Instanz aus Code:

REST API

Senden Sie zum Starten einer Instanz eine POST-HTTP-Anfrage mit dem :start-Decorator:

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME:start"

Liste der Instanzen in Ihrem Projekt ansehen

Sie können alle aktiven und inaktiven Instanzen in Ihrem Projekt aufrufen.

gcloud

So listen Sie die Instanzen in einer bestimmten Region auf:

gcloud beta run instances list \
    --region REGION

Ersetzen Sie REGION durch die Google Cloud Region, in der Sie die Instanz ausführen.

Clientbibliotheken

So listen Sie aktive und inaktive Instanzen aus Code auf:

REST API

Senden Sie eine GET-HTTP-Anfrage, um eine Liste von Instanzen abzurufen:

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances"

Instanzdetails anzeigen

Verwenden Sie den Befehl oder die Methode „describe“, um Konfigurationsdetails und den aktuellen Status aufzurufen.

gcloud

So beschreiben Sie eine Instanz:

gcloud beta run instances describe INSTANCE_NAME \
    --region REGION

Clientbibliotheken

So rufen Sie Details und den Status der Instanzkonfiguration aus Code auf:

REST API

Senden Sie zum Beschreiben einer Instanz eine GET-HTTP-Anfrage:

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"

Instanz löschen

Wenn Sie eine Instanz löschen, werden ihre Konfiguration, Metadaten, öffentliche direkte URL-Zuordnung und Identitätsrollen dauerhaft aus Ihrem Projekt entfernt.

gcloud

So löschen Sie eine Instanz:

gcloud beta run instances delete INSTANCE_NAME \
    --region REGION

Clientbibliotheken

So löschen Sie eine Instanz aus Code:

REST API

Senden Sie zum Löschen einer Instanz eine DELETE-HTTP-Anfrage:

curl -X DELETE \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/instances/INSTANCE_NAME"

Nächste Schritte