Maximale Anzahl von Instanzen für Dienste festlegen

Auf dieser Seite wird beschrieben, wie Sie die maximale Anzahl von Instanzen festlegen, die für Ihren Cloud Run-Dienst verwendet werden können, wenn Sie das standardmäßige Cloud Run-Autoscaling -Verhalten nutzen. Informationen zum manuellen Skalieren Ihres Dienstes finden Sie unter Manuelle Skalierung.

Durch die Angabe einer maximalen Anzahl von Instanzen in Cloud Run können Sie die Skalierung Ihres Dienstes als Reaktion auf eingehende Anfragen begrenzen. Diese Maximaleinstellung kann jedoch aufgrund von Umständen wie Trafficspitzen für kurze Zeit überschritten werden.

Sie können diese Einstellung verwenden, um Ihre Kosten zu kontrollieren oder die Anzahl der Verbindungen zu einem Sicherungsdienst zu begrenzen, z. B. zu einer Datenbank.

Informationen zu den Limits für die maximale Anzahl von Instanzen, die für Ihren Dienst gelten können, finden Sie unter Maximale Instanzlimits.

Weitere Informationen dazu, wie Cloud Run Container Instanzen automatisch skaliert, finden Sie unter Instanz-Autoscaling.

Maximale Anzahl von Instanzen auf Dienstebene oder auf Überarbeitungsebene anwenden

Sie können die maximale Anzahl von Instanzen auf Dienstebene oder auf Überarbeitungsebene konfigurieren. Google empfiehlt, die maximale Anzahl von Instanzen auf Dienstebene zu verwenden, um die Anzahl der Instanzen eines Dienstes zu begrenzen, es sei denn, Sie müssen die Anzahl von Instanzen auf Überarbeitungsebene begrenzen. Standardmäßig legt Cloud Run 100 Instanzen für jede Überarbeitung fest. Wenn Ihr Dienst auf mehr Instanzen skaliert werden soll, ändern Sie diesen Wert.

Wenn Sie die maximale Anzahl von Instanzen anwenden, werden die Einstellungen wie folgt wirksam:

  • Dienstebene: sofort
  • Überarbeitungsebene: bei der Bereitstellung der Überarbeitung

Getaggte Überarbeitungen und maximale Anzahl von Instanzen auf Dienstebene

Getaggte Überarbeitungen werden gestartet, aber nur auf die maximale Anzahl von Instanzen auf Dienstebene angerechnet, wenn sie Teil einer Trafficaufteilung sind.

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 Quellcode bereitstellen, müssen Ihnen außerdem zusätzliche Rollen für Ihr Projekt und das Cloud Build-Dienstkonto zugewiesen werden.

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

Kostengesichtspunkte

Mit der Einstellung für die maximale Anzahl von Instanzen können Sie ein Kostensicherheitslimit festlegen, um die Kosten zu verwalten. Wenn Sie eine höhere maximale Anzahl festlegen, wird die Verfügbarkeit priorisiert. Es entstehen jedoch potenzielle Abrechnungsrisiken durch unerwartete Trafficspitzen oder Fehlkonfigurationen. Konfigurieren Sie diese Einstellung als Kostenschutz auf Dienstebene, wenn Sie Ihren Dienst zum ersten Mal bereitstellen. Wir empfehlen, mit einem Wert von 3 für die maximale Anzahl von Instanzen zu beginnen, um Ihr Budget vor unerwarteten Spitzen zu schützen.

Weitere Informationen finden Sie unter Cloud Run-Preise oder Kosten mit dem Preisrechner schätzen. Weitere Tools zur Kostenkontrolle finden Sie unter Kontingente für die Ressourcenzuweisung oder Abrechnungsbudgets und ‑benachrichtigungen.

Maximale Anzahl von Instanzen auf Dienstebene konfigurieren

Sie können die Einstellung für die maximale Anzahl von Instanzen über die Google Cloud Console, die Google Cloud CLI, YAML oder Terraform ändern, wenn Sie einen neuen Dienst erstellen oder eine neue Überarbeitung bereitstellen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Dienste für Cloud Run auf:

    Zu Cloud Run

  2. Wenn Sie einen neuen Dienst konfigurieren, klicken Sie auf Container bereitstellen , um das Formular Dienst erstellen aufzurufen. Rufen Sie das Formular Dienst-Autoscaling auf.

  3. Wenn Sie einen vorhandenen Dienst konfigurieren, klicken Sie auf den Dienst, um das Detailfeld aufzurufen, und dann oben rechts im Detailfeld auf Skalierungseinstellungen auf Dienstebene bearbeiten.

  4. Geben Sie im Feld Maximale Anzahl von Instanzen die erforderliche maximale Anzahl von Containerinstanzen an. Verwenden Sie einen beliebigen Ganzzahlwert von 1 bis zum maximalen Limit , das für Ihren Dienst möglich ist. Wenn Sie das Limit auf Dienstebene entfernen möchten, löschen Sie den von Ihnen festgelegten Wert. Dadurch wird die Einstellung auf den Standardwert zurückgesetzt.

  5. Klicken Sie bei einem neuen Dienst auf Erstellen oder bei einem vorhandenen Dienst auf Bereitstellen.

gcloud

Mit dem folgenden Befehl können Sie die maximale Anzahl von Instanzen eines bestimmten Dienstes aktualisieren:

gcloud run services update SERVICE --max MAX-VALUE

Ersetzen Sie Folgendes:

  • SERVICE: der Name Ihres Dienstes.
  • MAX-VALUE: die erforderliche maximale Anzahl von Container instanzen. Verwenden Sie einen beliebigen Ganzzahlwert von 1 bis zum maximalen Limit, das für Ihren Dienst möglich ist. Wenn Sie das Limit auf Dienstebene entfernen möchten, löschen Sie den von Ihnen festgelegten Wert. Dadurch wird die Einstellung auf den Standardwert zurückgesetzt.

Sie können die maximale Anzahl von Instanzen auch während der Bereitstellung mit dem folgenden Befehl festlegen:

gcloud run deploy --image IMAGE_URL --max MAX-VALUE

Ersetzen Sie Folgendes:

  • IMAGE_URL: ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest. Wenn Sie Artifact Registry, das Repository REPO_NAME muss bereits erstellt sein. Die URL hat das Format LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .
  • MAX-VALUE: die erforderliche maximale Anzahl von Container instanzen. Verwenden Sie einen beliebigen Ganzzahlwert von 1 bis zum maximalen Limit.

YAML

Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.

  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. Aktualisieren Sie das Attribut run.googleapis.com/maxScale::

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      annotations:
        run.googleapis.com/maxScale: 'MAX-INSTANCE'

    Ersetzen Sie Folgendes:

    • SERVICE: der Name Ihres Cloud Run-Dienstes
    • MAX-INSTANCE: die erforderliche maximale Anzahl von Container instanzen. Verwenden Sie einen beliebigen Ganzzahlwert von 1 bis zum maximalen Limit, das für Ihren Dienst möglich ist. Wenn Sie das Limit auf Dienstebene entfernen möchten, löschen Sie den von Ihnen festgelegten Wert. Dadurch wird die Einstellung auf den Standardwert zurückgesetzt.
  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.

Terraform

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

Fügen Sie einer google_cloud_run_v2_service Ressource in Ihrer Terraform-Konfiguration Folgendes hinzu:
resource "google_cloud_run_v2_service" "default" {
name     = "SERVICE"
location = "REGION"

scaling {
  max_instance_count = MAX_INSTANCE
}

template {
  containers {
    image = "IMAGE_URL"
  }
}
}

Ersetzen Sie Folgendes:

  • SERVICE: der Name Ihres Cloud Run-Dienstes.
  • REGION: die Google Cloud Region, z. B. europe-west1.
  • MAX_INSTANCE: die erforderliche maximale Anzahl von Container instanzen. Verwenden Sie einen beliebigen Ganzzahlwert von 1 bis zum maximalen Limit.
  • IMAGE_URL: ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest. Wenn Sie Artifact Registry, das Repository REPO_NAME muss bereits erstellt sein. Die URL hat das Format LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.

Maximale Anzahl von Instanzen auf Dienstebene ansehen

So rufen Sie die aktuellen Einstellungen für die maximale Anzahl von Instanzen auf Dienstebene für Ihren Cloud Run-Dienst auf:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Dienste für Cloud Run auf:

    Zu Cloud Run

  2. Klicken Sie auf den Dienst, um das Feld Dienstdetails zu öffnen.

  3. Die aktuelle Einstellung wird oben rechts im Bereich mit den Dienstdetails neben Skalierung angezeigt.

gcloud

  1. Verwenden Sie den folgenden Befehl:

    gcloud run services describe SERVICE
  2. Suchen Sie in der zurückgegebenen Konfiguration den Wert für Skalierung: Automatisch (Min.: MIN_VALUE, Max.: MAX_VALUE).

Maximale Anzahl von Instanzen auf Überarbeitungsebene konfigurieren

Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.

Standardmäßig sind Cloud Run-Überarbeitungen so konfiguriert, dass sie auf maximal 100 Instanzen skaliert werden.

Sie können die Einstellung für die maximale Anzahl von Instanzen über die Google Cloud Console, die Google Cloud CLI oder eine YAML-Datei ändern, wenn Sie einen neuen Dienst erstellen oder eine neue Überarbeitung bereitstellen.

Console

  1. Rufen Sie in der Google Cloud Console Cloud Run auf:

    Zu Cloud Run

  2. Wählen Sie im Navigationsmenü von Cloud Run Dienste aus und klicken Sie auf Container bereitstellen, um einen neuen Dienst zu konfigurieren. Wenn Sie einen vorhandenen Dienst konfigurieren möchten, klicken Sie auf den Dienst und dann auf Neue Überarbeitung bearbeiten und bereitstellen.

  3. Wenn Sie einen neuen Dienst konfigurieren, füllen Sie die Seite mit den ersten Einstellungen für den Dienst aus und klicken Sie dann auf Container, Netzwerk, Sicherheit, um die Seite mit der Dienstkonfiguration zu maximieren.

  4. Klicken Sie auf den Tab Container.

gcloud

Mit dem folgenden Befehl können Sie die maximale Anzahl von Instanzen eines bestimmten Dienstes aktualisieren:

gcloud run services update SERVICE --max-instances MAX-VALUE

Ersetzen Sie Folgendes:

  • SERVICE: der Name Ihres Dienstes.
  • MAX-VALUE: die erforderliche maximale Anzahl von Container instanzen. Verwenden Sie einen beliebigen Ganzzahlwert von 1 bis zum maximalen Limit.

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. Aktualisieren Sie das Attribut autoscaling.knative.dev/maxScale::

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          annotations:
            autoscaling.knative.dev/maxScale: 'MAX-INSTANCE'
          name: REVISION

    Ersetzen Sie Folgendes:

    • SERVICE: der Name Ihres Cloud Run-Dienstes
    • MAX-INSTANCE: die erforderliche maximale Anzahl von Container instanzen. Verwenden Sie einen beliebigen Ganzzahlwert von 1 bis zum maximalen Limit.
    • REVISION: ein neuer Überarbeitungsname oder löschen Sie ihn (falls vorhanden). Wenn Sie einen neuen Überarbeitungsnamen angeben, muss er die folgenden Kriterien erfüllen:
      • Beginnt mit SERVICE-
      • Enthält nur Kleinbuchstaben, Ziffern und -
      • Endet nicht mit -
      • Darf nicht mehr als 63 Zeichen enthalten
  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 die maximale Anzahl von Instanzen auf Überarbeitungsebene ansehen

So rufen Sie die aktuellen Einstellungen für die maximale Anzahl von Instanzen auf Überarbeitungsebene für Ihren Cloud Run-Dienst auf:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Dienste für Cloud Run auf:

    Zu Cloud Run

  2. Klicken Sie auf den Dienst, um das Feld Dienstdetails zu öffnen.

  3. Klicken Sie auf den Tab Überarbeitungen.

  4. Im Detailbereich rechts wird die Einstellung Max. Anzahl von Instanzen der Version auf dem Tab Container aufgelistet.

gcloud

  1. Verwenden Sie den folgenden Befehl:

    gcloud run services describe SERVICE
  2. Suchen Sie in der zurückgegebenen Konfiguration den Wert für Max. Anzahl von Instanzen.

Mindest- oder Höchstanzahl von Instanzen auf Dienstebene und Überarbeitungsebene verwenden

In der folgenden Tabelle wird das Verhalten beschrieben, wenn Sie die maximale Anzahl von Instanzen auf Dienstebene mit der Mindest- oder Höchstanzahl von Instanzen auf Überarbeitungsebene kombinieren:

Einstellung auf Dienstebene Einstellung auf Überarbeitungsebene Verhalten
Maximale Anzahl von Instanzen auf Dienstebene festgelegt Maximale Anzahl von Instanzen auf Überarbeitungsebene festgelegt Das effektive Limit für die maximale Anzahl von Instanzen ist der niedrigere Wert zwischen der maximalen Anzahl von Instanzen auf Überarbeitungsebene und der maximalen Anzahl von Instanzen auf Dienstebene.
Maximale Anzahl von Instanzen auf Dienstebene festgelegt Mindestanzahl von Instanzen auf Überarbeitungsebene festgelegt Wenn die maximale Anzahl von Instanzen auf Dienstebene auf einen Wert festgelegt ist, der niedriger ist als die Mindestanzahl von Instanzen auf Überarbeitungsebene, werden für die Überarbeitung Instanzen bis zur maximalen Anzahl von Instanzen auf Dienstebene gestartet und die konfigurierte Mindestanzahl von Instanzen auf Überarbeitungsebene wird nicht erreicht.

Maximale Anzahl von Instanzen auf Dienstebene mit Trafficaufteilung verwenden

Wenn Sie die Trafficaufteilung verwenden, wird die maximale Anzahl von Instanzen auf Dienstebene basierend auf dem Anteil der Trafficaufteilung auf die Überarbeitungen verteilt. Wenn die maximale Anzahl von Instanzen auf Dienstebene beispielsweise 100 beträgt, werden bei einer 50/50-Trafficaufteilung jeder Überarbeitung 50 maximale Instanzen auf Dienstebene zugewiesen. In der folgenden Tabelle sehen Sie ein Beispiel für ein Konfigurationsszenario:

Beispielkonfiguration Ergebnis
Maximale Anzahl von Instanzen auf Dienstebene festgelegt (Szenario ohne Einstellungen auf Überarbeitungsebene): 100
  • Trafficaufteilung für Überarbeitung A: 10%
  • Trafficaufteilung für Überarbeitung B: 10%
  • Trafficaufteilung für Überarbeitung C : 80%
Ein Teil der maximalen Anzahl von Instanzen auf Dienstebene wird jeder Überarbeitung zugewiesen. Die effektive maximale Anzahl von Instanzen für jede Überarbeitung ist basierend auf der Trafficaufteilung festgelegt. Die maximale Anzahl von Instanzen für Überarbeitung A beträgt 10, für Überarbeitung B 10 und für Überarbeitung C 80.