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 je nach eingehendem Traffic skaliert werden, ist eine Instanz ein dedizierter Compute-Container, den Sie manuell über Lebenszyklusübergänge verwalten (erstellen, beenden, starten, aktualisieren, löschen).

Unterstützte Regionen

Sie können in allen von Cloud Run unterstützten Regionen Cloud Run-Instanzen erstellen. Die folgenden Regionen mit hoher Latenz werden nicht unterstützt:

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

Hinweis

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

  2. Aktivieren Sie die Cloud Run Admin API:

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

    gcloud components update
  4. Wenn Sie einer Domaineinschränkung zur Organisation 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 mit Google 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 muss innerhalb Ihres Projekts und Ihrer Region eindeutig sein. Sie können keine Instanz mit demselben Namen wie eine vorhandene Cloud Run-Instanz oder einen vorhandenen 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 die 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 Endpunkt instances.

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, an dem Ihr Container auf Anfragen wartet.
  • PROJECT_ID: Ihre Google Cloud Projekt-ID.
  • REGION: die Google Cloud Region Ihrer Bereitstellung.
  • INSTANCE_NAME: der Name Ihrer 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

Senden Sie zum Aktualisieren der Konfiguration einer Cloud Run-Instanz über die API 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 „Beenden“, um eine ausgeführte 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 ausgeführte Instanz aus Code:

REST API

Senden Sie zum Beenden einer Instanz eine POST-HTTP-Anfrage mit dem Dekorator :stop:

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 „Starten“, um eine beendete 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 beendete Instanz aus Code:

REST API

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

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

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 zum Abrufen einer Liste von Instanzen 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"

Instanzdetails anzeigen

Verwenden Sie den Befehl oder die Methode „Beschreiben“, 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 Konfigurationsdetails und den Status einer Instanz 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