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 mit dem standardmäßigen Cloud Run-Autoscaling verwendet werden können. Informationen zum manuellen Skalieren Ihres Dienstes finden Sie unter Manuelle Skalierung.

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

Verwenden Sie diese Einstellung, um Ihre Kosten zu kontrollieren oder die Anzahl der Verbindungen zu einem unterstützenden Dienst 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.

Höchstanzahl von Instanzen auf Dienstebene oder auf Überarbeitungsebene anwenden

Sie können die maximale Anzahl von Instanzen auf Dienstebene oder auf Revisionsebene 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 Instanzen auf Überarbeitungsebene begrenzen. Standardmäßig legt Cloud Run 100 Instanzen für jede Version fest. Wenn Sie möchten, dass Ihr Dienst auf mehr Instanzen skaliert werden kann, ändern Sie diesen Wert.

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

  • Service-Level: 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 dem Quellcode bereitstellen, müssen Ihnen auch zusätzliche Rollen für Ihr Projekt und Ihr Cloud Build-Dienstkonto zugewiesen sein.

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

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 den Dienst zum ersten Mal bereitstellen. Wir empfehlen, mit einem maximalen Instanzwert von 3 zu beginnen, um Ihr Budget vor unerwarteten Spitzen zu schützen.

Weitere Informationen finden Sie unter Cloud Run – Preise. Sie können die Kosten auch mit dem Preisrechner schätzen. Weitere Tools zur Kostenkontrolle finden Sie unter Kontingente für die Ressourcenzuweisung oder Budgets und Benachrichtigungen für die Abrechnung.

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

Console

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

    Zu Cloud Run

  2. Wählen Sie im Cloud Run-Navigationsmenü die Option Dienste aus:

    1. Wenn Sie einen neuen Dienst konfigurieren, klicken Sie auf Container bereitstellen und füllen Sie die Seite mit den anfänglichen Diensteinstellungen aus.

    2. Wenn Sie einen vorhandenen Dienst konfigurieren, klicken Sie auf den Dienst und dann auf den Tab Skalierung.

  3. Suchen Sie unter Dienstskalierung das Feld Maximale Anzahl von Instanzen und geben Sie die erforderliche maximale Anzahl von Containerinstanzen an. Verwenden Sie dazu 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 festgelegten Wert. Dadurch wird die Einstellung auf den Standardwert zurückgesetzt.

  4. Klicken Sie auf Erstellen, um einen neuen Dienst zu erstellen. Klicken Sie auf Unterschied ansehen und erneut bereitstellen und dann auf Änderungen bereitstellen, um einen vorhandenen Dienst zu aktualisieren.

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 Containerinstanzen. 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 festgelegten Wert. Dadurch wird die Einstellung auf den Standardwert zurückgesetzt.

Mit dem folgenden Befehl können Sie auch während der Bereitstellung die maximale Anzahl von Instanzen 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 verwenden, muss das Repository REPO_NAME 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 Containerinstanzen. 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 Containerinstanzen. 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 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 Containerinstanzen. 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 verwenden, muss das Repository REPO_NAME 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. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run-Dienste:

    Zu Cloud Run

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

  3. Klicken Sie auf den Tab Skalierung, um die aktuelle Einstellung aufzurufen.

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 können.

Die Skalierung auf Überarbeitungsebene ist nur für Dienste verfügbar, für die das Feature zuvor konfiguriert wurde.

Console

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

    Zu Cloud Run

  2. Wählen Sie im Cloud Run-Navigationsmenü die Option Dienste aus:

    1. Wenn Sie einen neuen Dienst konfigurieren, klicken Sie auf Container bereitstellen und füllen Sie die Seite mit den anfänglichen Diensteinstellungen aus. Klicken Sie dann auf Container, Netzwerk, Sicherheit, um die Seite zur Dienstkonfiguration zu maximieren.

    2. Wenn Sie einen vorhandenen Dienst konfigurieren, klicken Sie auf den Dienst und dann auf den Tab Skalierung.

  3. Geben Sie im Abschnitt Versionsskalierung im Feld Maximale Anzahl von Instanzen die maximale Anzahl von Containerinstanzen an.

  4. Klicken Sie auf Erstellen, um einen neuen Dienst zu erstellen. Klicken Sie auf Unterschied ansehen und erneut bereitstellen und dann auf Änderungen bereitstellen, um einen vorhandenen Dienst zu aktualisieren.

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 Containerinstanzen. 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 Containerinstanzen. Verwenden Sie einen beliebigen Ganzzahlwert von 1 bis zum maximalen Limit.
    • REVISION: ein neuer Überarbeitungsname oder löschen (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

Die Skalierung auf Überarbeitungsebene ist nur für Dienste verfügbar, für die das Feature zuvor konfiguriert wurde.

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

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run-Dienste:

    Zu Cloud Run

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

  3. Klicken Sie auf den Tab Skalierung.

  4. Sehen Sie sich unter Versionsskalierung die Maximale Anzahl von Instanzen an.

gcloud

  1. Verwenden Sie den folgenden Befehl:

    gcloud run services describe SERVICE
  2. Suchen Sie in der zurückgegebenen Konfiguration den Wert für Maximale 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 minimalen oder maximalen Anzahl von Instanzen auf Überarbeitungsebene kombinieren:

Einstellung auf Dienstebene Einstellung auf Versionsebene Verhalten
Maximale Anzahl von Instanzen auf Dienstebene festgelegt Maximale Anzahl von Instanzen auf Überarbeitungsebene festgelegt Das effektive maximale Instanzlimit ist der kleinere 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 kleiner als die Mindestanzahl von Instanzen auf Überarbeitungsebene ist, startet die Überarbeitung Instanzen bis zur maximalen Anzahl von Instanzen auf Dienstebene und erreicht nicht die konfigurierte Mindestanzahl von Instanzen auf Überarbeitungsebene.

Maximale Anzahl von Instanzen auf Dienstebene mit Trafficaufteilung verwenden

Wenn Sie die Aufteilung des Traffics verwenden, wird die maximale Anzahl von Instanzen auf Dienstebene basierend auf dem Anteil der Trafficaufteilung auf die Überarbeitungen verteilt. Wenn beispielsweise die maximale Anzahl von Instanzen auf Dienstebene = 100 ist, werden bei einer 50/50-Aufteilung des Traffics jeder Version 50 maximale Instanzen auf Dienstebene zugewiesen. Die folgende Tabelle zeigt ein Beispiel für ein Konfigurationsszenario:

Beispielkonfiguration Ergebnis
Maximale Anzahl von Instanzen auf Dienstebene festgelegt (Szenario ohne Einstellungen auf Überarbeitungsebene): 100
  • Trafficaufteilung für Version A: 10 %
  • Aufteilung des Traffics für Version B: 10 %
  • Aufteilung des Traffics für Version 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 wird basierend auf der Aufteilung des Traffics festgelegt. Die maximale Anzahl von Instanzen für Version A beträgt 10, für Version B 10 und für Version C 80.