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, und zwar mit dem standardmäßigen Autoscaling-Verhalten von Cloud Run. 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.

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.

Beim Anwenden der maximalen Anzahl von Instanzen 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 Limit für die Kosten 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 schätzen Sie die Kosten mit dem Preisrechner. 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 Dienstskalierung auf.

  3. Wenn Sie einen vorhandenen Dienst konfigurieren, klicken Sie auf den Dienst, um das Detailfeld aufzurufen, und dann oben rechts im Detailfeld auf die Schaltfläche 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 für einen neuen Dienst auf Erstellen oder für einen 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.

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, zum Beispiel 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, zum Beispiel 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 den Bereich 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 können.

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 die Option 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 anfänglichen Diensteinstellungen aus und klicken Sie dann auf Container, Netzwerk, Sicherheit, um die Seite zur 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 durch einen neuen Überarbeitungsnamen 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

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 den Bereich 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

Die folgende Tabelle zeigt das Verhalten, 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, 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 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. 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 Ü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 Version 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.