Best Practices für kostenoptimierte Cloud Run-Dienste

Durch die Optimierung Ihrer Cloud Run-Dienste können Sie Kosten senken, indem Sie die Ressourcenzuweisung an den tatsächlichen Bedarf anpassen. Durch die Implementierung kosteneffizienter Konfigurationen wird eine Überbereitstellung verhindert und gleichzeitig die Zuverlässigkeit und Leistung des Dienstes aufrechterhalten. Es gibt keine einheitliche Lösung für die Kostenoptimierung. Sie müssen Ihre Anforderungen, Ihr Budget und Ihre Ressourcen im Blick behalten, um zu ermitteln, was für Sie am besten funktioniert.

Die in diesem Dokument beschriebenen Best Practices gelten speziell für Cloud Run. Andere Produkte sind nicht enthalten. Google Cloud

Ressourcenkonfigurationen

Bei der Kostenoptimierung Ihrer Dienste müssen viele verschiedene Konfigurationen berücksichtigt werden. Passen Sie diese Konfigurationen an Ihre Anforderungen an, um zuverlässige und kosteneffiziente Dienste zu erstellen.

Die geeignete Region auswählen

Der Bereitstellungsort Ihres Dienstes wirkt sich auf Ihre Gesamtkosten aus. Cloud Run verwendet ein regionales Preismodell mit zwei Stufen. In Regionen der Stufe 1 sind die Kosten pro vCPU und Arbeitsspeicher niedriger als in Regionen der Stufe 2. Daher sollten Sie die Bereitstellung in einer Region der Stufe 1 in Betracht ziehen.

Authentifizierung anfordern

Wenn Sie einen Cloud Run-Dienst konfigurieren, können Sie eine der beiden folgenden Authentifizierungsoptionen auswählen:

  • Öffentlichen Zugriff erlauben: Authentifizierungsprüfungen sind nicht erforderlich.
  • Authentifizierung anfordern: Nur authentifizierte Nutzer können auf Ihren Cloud Run Dienst zugreifen.

Wir empfehlen, die Authentifizierung anzufordern, es sei denn, Sie haben einen bestimmten Grund, öffentlichen Zugriff zu erlauben. So werden unerwünschte Anfragen verhindert, die Kosten verursachen könnten.

Wenn Sie Nutzer mit Identity-Aware Proxy (IAP) verwalten, können für IAP eigene Kosten anfallen.

Instanzbasierte und anfragebasierte Abrechnung vergleichen

Für Cloud Run-Dienste gibt es zwei Abrechnungseinstellungen:

  • Anfragebasierte Abrechnung (Standard): Ihnen wird pro Anfrage eine Gebühr berechnet, zuzüglich eines höheren Preises pro Sekunde für die vCPU- und Arbeitsspeichernutzung während der Anfrageverarbeitung.
  • Instanzbasierte Abrechnung: Ihnen wird die gesamte Lebensdauer einer Instanz in Rechnung gestellt. Es wird keine Gebühr pro Anfrage erhoben und die Preise pro Sekunde für vCPU und Arbeitsspeicher sind niedriger.

Für Dienste mit konstantem, sich langsam änderndem Traffic sollten Sie die instanzbasierte Abrechnung verwenden. Die Einsparungen durch niedrigere Compute-Preise und den Wegfall der Gebühr pro Anfrage überwiegen die Kosten für die Leerlaufzeit zwischen Anfragen. Für Dienste mit sporadischem, stoßartigem oder unregelmäßigem Traffic sollten Sie die anfragebasierte Abrechnung verwenden. Wenn Sie sich immer noch nicht sicher sind, welche Abrechnungseinstellung Sie verwenden sollen, sehen Sie sich den Recommender an. Der Recommender analysiert den Traffic, der von Ihrem Cloud Run-Dienst im letzten Monat empfangen wurde, und empfiehlt die Umstellung von der anfragebasierten auf die instanzbasierte Abrechnung, wenn dies kostengünstiger ist.

Dienstskalierung auf Dienstebene konfigurieren

Um eine Kosten-Sicherheits-Baseline festzulegen, konfigurieren Sie die maximale Anzahl von Instanzen für Ihren Dienst. Wenn Sie eine höhere maximale Anzahl festlegen, wird die Verfügbarkeit priorisiert, es entstehen jedoch potenzielle Abrechnungsrisiken durch unerwartete Trafficspitzen oder Fehlkonfigurationen. Sie sollten diese Einstellung auf Dienstebene konfigurieren, wenn Sie Ihren Dienst zum ersten Mal bereitstellen, um eine Kosten-Baseline festzulegen. Weitere Tools zur Kostenkontrolle finden Sie unter Kontingente für die Ressourcenzuweisung oder Abrechnungsbudgets und ‑benachrichtigungen.

CPU- und Arbeitsspeichernutzung optimieren

Die Kosten Ihres Cloud Run-Dienstes werden unter anderem durch die CPU-/Arbeitsspeicherkonfiguration und die Dauer der Aktivität Ihres Dienstes beeinflusst. Wenn Sie zu viele Ressourcen bereitstellen, können Ihre Kosten steigen. So ermitteln Sie, welche Konfiguration für Ihren Dienst am besten geeignet ist:

  1. Legen Sie eine Basiskonfiguration fest.
  2. Beobachten Sie Ihre Messwerte, während Sie die Messwerte für die CPU- und Arbeitsspeichernutzung in Cloud Monitoring testen.
  3. Passen Sie die Konfiguration nach Bedarf an.

Wenn die CPU-Auslastung unter Spitzenlast konstant niedrig ist, sollten Sie die vCPU-Zuweisung reduzieren. Wenn die Latenz hoch ist, sollten Sie die vCPU-Zuweisung erhöhen.

Wenn die Arbeitsspeichernutzung konstant niedrig ist, sollten Sie den zugewiesenen Arbeitsspeicher reduzieren. Wenn die Latenz hoch ist und die Arbeitsspeichernutzung nahe 100 % liegt, sollten Sie den zugewiesenen Arbeitsspeicher erhöhen. Wenn Fehler aufgrund von Out of Memory (OOM) auftreten, sollten Sie den zugewiesenen Arbeitsspeicher erhöhen oder Ihre Anwendung so ändern, dass Speicherlecks verhindert werden oder weniger Arbeitsspeicher verwendet wird. Im Cloud Monitoring-Dashboard finden Sie weitere Informationen zur Arbeitsspeichernutzung.

GPU konfigurieren

Für alle Cloud Run-Dienste, die GPUs verwenden, muss die instanzbasierte Abrechnung konfiguriert sein. Das bedeutet, dass Cloud Run-Instanzen für den gesamten Lebenszyklus der Instanzen in Rechnung gestellt werden, auch wenn keine Anfragen eingehen. Die für GPUs erforderlichen Mindestkonfigurationen für CPU und Arbeitsspeicher wirken sich auch auf die Kosten Ihres Cloud Run-Dienstes aus. Standardmäßig ist die zonale GPU-Redundanz aktiviert. Wenn Sie die zonale GPU-Redundanz deaktivieren, sinken die Kosten pro GPU-Sekunde, es wird jedoch keine reservierte Kapazität für Failover-Szenarien garantiert.

Netzwerkkosten optimieren

Berücksichtigen Sie bei der Konfiguration der Netzwerkoptionen für Ihren Dienst Folgendes:

  • Ressourcen gemeinsam platzieren: Stellen Sie Ihre Cloud Run-Dienste in derselben Region wie Ihre Back-End-Datenbanken (z. B. Cloud SQL oder Firestore) und Cloud Storage-Buckets bereit. Die Datenübertragung zwischen Google Cloud Ressourcen in derselben Region ist kostenlos.
  • Zu ausgehendem Direct VPC-Traffic wechseln: Wenn Sie Traffic sicher an interne VPC-Netzwerkressourcen weiterleiten, sollten Sie von Connectors für serverlosen VPC-Zugriff zu ausgehendem Direct VPC-Traffic wechseln. Ausgehender Direct VPC-Traffic wird auf null skaliert, wodurch der Compute-Overhead und die Leerlaufkosten für Connector-Instanzen entfallen.
  • Cloud CDN verwenden: Lagern Sie statische Assets und Inhalte, die sich gut im Cache speichern lassen, aus, indem Sie Cloud CDN vor Ihre Cloud Run-Dienste stellen. Die Bereitstellung von Daten vom Edge ist deutlich günstiger als die Bezahlung für ausgehenden Standard-Internet-Traffic direkt von Cloud Run.
  • Ausgehenden Internet-Traffic beobachten: Eingehender Traffic (Ingress) ist immer kostenlos. Sie erhalten außerdem 1 GiB kostenlose ausgehende Internet-Datenübertragung pro Monat innerhalb von Nord amerika. Konzentrieren Sie sich bei der Überwachung auf ausgehenden Traffic, der Regionsgrenzen überschreitet oder das kostenlose Kontingent übersteigt.

Gleichzeitigkeitseinstellungen konfigurieren

Wenn mehr Instanzen Anfragen verarbeiten, weist Cloud Run mehr CPU und Arbeitsspeicher zu, was zu höheren Kosten führt. Mit einer höheren Gleichzeitigkeitseinstellung können weniger Instanzen das gleiche Anfragevolumen verarbeiten, was die Kosten senken kann. Der Anwendungscode muss jedoch in der Lage sein, parallele Anfragen effizient zu verarbeiten. Weitere Informationen finden Sie unter Nebenläufigkeit für Autoscaling und Ressourcennutzung optimieren.

Rabatte für zugesicherte Nutzung

Rabatte für zugesicherte Nutzung (Committed Use Discounts, CUDs) sind Preisnachlässe für Nutzer, die sich verpflichten, Cloud Run für einen bestimmten Zeitraum kontinuierlich zu nutzen. CUDs gelten auf Cloud-Rechnungskontoebene. Sie können flexible Compute-CUDs für Cloud Run-Ressourcen erwerben. Flexible Compute-CUDs gelten nicht für GPUs oder Netzwerke. Weitere Informationen finden Sie unter Flexibler Rabatt für zugesicherte Nutzung für Compute.

Nützliche Tools

Mit den folgenden Tools können Sie Ihre Kosten besser nachvollziehen und Kostenüberschreitungen vermeiden.

Cloud Run-Übersicht: Abrechnungsbereich

Auf der Seite „Cloud Run-Übersicht“ werden die Kosten pro Ressource name im Bereich „Abrechnung“ angezeigt. Die Zahlen spiegeln die Bruttokosten für ausgewählte Zeiträume pro Ressource wider. Mit diesem Tool können Sie besser nachvollziehen, wie viel Ihre Ressourcen kosten.

Budgetbenachrichtigungen

Erstellen Sie Budgetbenachrichtigungen in Cloud Billing , um Ihre tatsächlichen Kosten mit Ihren geplanten Kosten zu vergleichen. Eine Budgetbenachrichtigung ist ein Benachrichtigungsmechanismus, der Benachrichtigungen auslöst, wenn Ausgabenschwellenwerte überschritten werden. Es handelt sich nicht um eine feste Ausgabenobergrenze. Es gibt eine Verzögerung bei den Abrechnungsdaten, die sich darauf auswirken kann, wann Sie Benachrichtigungen erhalten.

Ausgabenobergrenzen für Budgets

Wenn Sie in der Cloud Billing Console Ausgabenobergrenzen für Cloud Billing-Budgets konfigurieren, gelten diese Obergrenzen automatisch für alle Cloud Run-Ressourcentypen in Ihrem Projekt.

Sie können den Fortschritt Ihrer Ausgabenobergrenze direkt auf der Cloud Run Console Übersichtsseite beobachten. Wenn Sie eine Ausgabenobergrenze erreichen, werden alle Cloud Run-Arbeitslasten pausiert, um weitere Kosten für die folgenden Cloud Run-Ressourcen zu vermeiden: Google Cloud

  • Dienste: Alle vorhandenen Dienste können keinen Traffic mehr verarbeiten und geben 5xx-Fehler zurück.
  • Jobs: Neue Aufgaben werden nicht gestartet und laufende Aufgaben werden nicht abgeschlossen.
  • Worker-Pools: Alle vorhandenen Instanzen verarbeiten keine Aufgaben mehr.

Wenn Sie Ihre Ausgabenobergrenze überschreiten, erhalten Sie eine Benachrichtigung und in der Cloud Run Console wird ein Banner zur Erzwingung angezeigt. Um den Betrieb fortzusetzen, müssen Sie die Obergrenze auf der Übersichtsseite der Cloud Run Console aufheben oder anpassen.

Cloud Billing

Cloud Billing ist eine Sammlung von Tools, mit denen Sie Ihre Ausgaben verfolgen und nachvollziehen können. Google Cloud Mit diesen Tools können Sie Ihre Nutzungskosten beobachten, Ihre Ausgaben prognostizieren und Möglichkeiten finden, Kosten zu sparen.

Kosten-Explorer

Mit dem Kosten-Explorer können Sie die Kosten und die Nutzung Ihrer Ressourcen nachvollziehen. Mit dem Kosten-Explorer können Sie Folgendes tun:

  • Filtern Sie Ihre Ressourcen nach Kosten, um zu sehen, welche Ressourcen am teuersten sind.
  • Nachvollziehen, welcher Anteil der Kosten auf Konfigurationen wie vCPU, GPU, Netzwerk usw. zurückzuführen ist.
  • Auswirkungen von Änderungen an der Ressourcenkonfiguration auf Ihre monatliche Rechnung verfolgen.

Google Cloud Preisrechner

Die Google Cloud Preisübersicht enthält Informationen, mit denen Sie das Google Cloud Preis modell besser nachvollziehen können. Hier finden Sie auch die detaillierte Preisliste. Sie können Ihre Kosten schätzen, indem Sie Produkte hinzufügen und konfigurieren. Verwenden Sie dazu den Preisrechner.

Recommender

Recommender ist ein Tool, das Nutzungsempfehlungen und Informationen für Cloud-Produkte bietet.

Recommender prüft automatisch den Traffic, der von Ihrem Cloud Run-Dienst im letzten Monat empfangen wurde, und empfiehlt die Umstellung von der anfragebasierten auf die instanzbasierte Abrechnung, wenn dies kostengünstiger ist.

Cloud Hub-Optimierung

Auf der Seite „ Optimierung“ von Cloud Hub finden Sie zusammenfassende Kostendaten, Nutzungsdaten und Empfehlungen zur Kostenoptimierung für Google Cloud Dienste.