Durch die Optimierung Ihrer Cloud Run-Dienste können Sie die Kosten senken, da die Ressourcenzuweisung an den tatsächlichen Bedarf angepasst wird. Durch die Implementierung kostengünstiger Konfigurationen wird eine Überdimensionierung verhindert, während die Zuverlässigkeit und Leistung des Dienstes erhalten bleiben. Es gibt keine allgemeingültige Lösung für die Kostenoptimierung. Es ist wichtig, Ihre Anforderungen, Ihr Budget und Ihre Ressourcen im Blick zu behalten, um herauszufinden, was für Sie am besten funktioniert.
Die in diesem Dokument beschriebenen Best Practices gelten speziell für Cloud Run. Andere Google Cloud -Produkte sind nicht enthalten.
Ressourcenkonfigurationen
Wenn Sie Ihre Dienste im Hinblick auf die Kosten optimieren möchten, müssen Sie viele verschiedene Konfigurationen berücksichtigen. Passen Sie diese Konfigurationen an Ihre Anforderungen an, um zuverlässige und kostengünstige Dienste zu erstellen.
Die geeignete Region auswählen
Der Bereitstellungsort Ihres Dienstes wirkt sich auf die Gesamtkosten aus. Cloud Run verwendet ein zweistufiges regionales Preismodell. In Tier-1-Regionen sind die Kosten pro vCPU und Arbeitsspeicher niedriger als in Tier-2-Regionen. Sie sollten daher eine Bereitstellung in einer Tier-1-Region in Betracht ziehen.
Authentifizierung anfordern
Beim Konfigurieren eines Cloud Run-Dienstes können Sie eine der beiden Authentifizierungsoptionen auswählen:
- Öffentlichen Zugriff erlauben: Authentifizierungsprüfungen sind nicht erforderlich.
- Authentifizierung erforderlich: Nur authentifizierte Nutzer können auf Ihren Cloud Run-Dienst zugreifen.
Wir empfehlen, die Authentifizierung zu erzwingen, es sei denn, Sie haben einen bestimmten Grund, öffentlichen Zugriff zuzulassen. So werden unerwünschte Anfragen verhindert, die Kosten verursachen könnten.
Wenn Sie Nutzer mit Identity-Aware Proxy (IAP) verwalten, fallen für IAP möglicherweise eigene Kosten an.
Instanzbasierte und anfragebasierte Abrechnung vergleichen
Für Cloud Run-Dienste gibt es zwei Abrechnungseinstellungen:
- Anfragebasierte Abrechnung (Standard): Sie zahlen pro Anfrage sowie einen höheren Preis pro Sekunde für vCPU und Arbeitsspeicher, die während der Anfrageverarbeitung verbraucht werden.
- Instanzbasierte Abrechnung: Ihnen wird die gesamte Lebensdauer einer Instanz in Rechnung gestellt. Es fallen keine Gebühren pro Anfrage an und die Preise pro Sekunde für vCPU und Arbeitsspeicher sind niedriger.
Für Dienste mit gleichmäßigem, sich langsam änderndem Traffic sollten Sie die instanzbasierte Abrechnung in Betracht ziehen. Die Einsparungen durch niedrigere Rechengebühren und den Wegfall der Gebühr pro Anfrage überwiegen die Kosten für die Bezahlung der Leerlaufzeit zwischen Anfragen. Für Dienste mit sporadischem, unregelmäßigem oder unvorhersehbarem Traffic sollten Sie die anfragebasierte Abrechnung in Betracht ziehen. Wenn Sie sich immer noch nicht sicher sind, welche Abrechnungseinstellung Sie verwenden sollen, lesen Sie den Hilfeartikel Recommender. Der Recommender prüft den Traffic, der von Ihrem Cloud Run-Dienst im letzten Monat empfangen wurde, und gibt Empfehlungen für die Umstellung von der anfragebasierten Abrechnung auf die instanzbasierte Abrechnung, wenn dies kostengünstiger ist.
Dienstskalierung auf Dienstebene konfigurieren
Konfigurieren Sie die maximale Anzahl von Instanzen für Ihren Dienst, um eine Kostensicherheitsgrundlage zu schaffen. Wenn Sie eine höhere maximale Anzahl festlegen, wird die Verfügbarkeit priorisiert, aber es entstehen potenzielle Abrechnungsrisiken durch unerwartete Trafficspitzen oder Fehlkonfigurationen. Sie sollten diese Einstellung auf Dienstebene konfigurieren, wenn Sie den Dienst zum ersten Mal bereitstellen, um eine Kostenbasis festzulegen. Weitere Tools zur Kostenkontrolle finden Sie unter Kontingente für die Ressourcenzuweisung oder Budgets und Benachrichtigungen für die Abrechnung.
CPU- und Arbeitsspeicherauslastung optimieren
Die Kosten für Ihren Cloud Run-Dienst hängen unter anderem von der CPU-/Arbeitsspeicherkonfiguration und der Dauer der Aktivität des Dienstes ab. Eine Überdimensionierung Ihrer Ressourcen kann die Kosten erhöhen. So ermitteln Sie, welche Konfiguration für Ihren Dienst am besten geeignet ist:
- Erstellen Sie eine Basiskonfiguration.
- Behalten Sie Ihre Messwerte im Blick, während Sie die Messwerte für die CPU- und Arbeitsspeicherauslastung in Cloud Monitoring testen.
- Passen Sie die Konfiguration nach Bedarf an.
Wenn die CPU-Auslastung bei Spitzenlast konstant niedrig ist, sollten Sie die vCPU-Zuweisung reduzieren. Wenn die Latenz hoch ist, sollten Sie die vCPU-Zuweisung erhöhen.
Wenn die Arbeitsspeicherauslastung durchgehend niedrig ist, sollten Sie den zugewiesenen Arbeitsspeicher reduzieren. Wenn die Latenz hoch ist und die Arbeitsspeicherauslastung fast 100 % beträgt, sollten Sie den zugewiesenen Arbeitsspeicher erhöhen. Wenn Out of Memory (OOM)-Fehler auftreten, sollten Sie den zugewiesenen Speicher erhöhen oder Ihre Anwendung so ändern, dass Speicherlecks vermieden werden oder weniger Speicher verwendet wird. Weitere Informationen zur Arbeitsspeicherauslastung finden Sie im Cloud Monitoring-Dashboard.
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 von 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
Beachten Sie beim Konfigurieren der Netzwerkoptionen für Ihren Dienst Folgendes:
- Ressourcen am selben Ort platzieren: Versuchen Sie, Ihre Cloud Run-Dienste in derselben Region wie Ihre Backend-Datenbanken (z. B. Cloud SQL oder Firestore) und Cloud Storage-Buckets bereitzustellen. Die Datenübertragung zwischen Google Cloud -Ressourcen innerhalb derselben Region ist kostenlos.
- Zu Direct VPC-Ausgang wechseln: Wenn Sie Traffic sicher an interne VPC-Netzwerkressourcen weiterleiten, sollten Sie von Connectors für Serverloser VPC-Zugriff zu Direct VPC-Ausgang wechseln. Ausgehender Direct VPC-Traffic wird auf null skaliert, wodurch der grundlegende Rechenaufwand und die Kosten für inaktive Connector-Instanzen entfallen.
- Cloud CDN verwenden: Lagern Sie statische Assets und gut cachefähige Inhalte aus, indem Sie Cloud CDN vor Ihren Cloud Run-Diensten platzieren. Die Bereitstellung von Daten über das Edge-Netzwerk ist deutlich günstiger als die Bezahlung für ausgehenden Internet-Traffic direkt von Cloud Run.
- Ausgehenden Internet-Traffic überwachen: Eingehender Traffic (Ingress) ist immer kostenlos. Außerdem erhalten Sie 1 GiB kostenlose ausgehende Internetdatenübertragung pro Monat innerhalb Nordamerikas. Konzentrieren Sie sich beim Monitoring auf ausgehenden Traffic, der Regionsgrenzen überschreitet oder die kostenlose Stufe überschreitet.
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 dasselbe 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 sind Preisnachlässe für Nutzer, die sich verpflichten, Cloud Run für einen bestimmten Zeitraum kontinuierlich zu nutzen. Rabatte für zugesicherte Nutzung gelten auf Cloud-Rechnungskontoebene. Sie können flexible CUDs für Compute für Cloud Run-Ressourcen erwerben. Flexible CUDs für Compute gelten nicht für GPUs oder Netzwerke. Weitere Informationen finden Sie unter Flexibler Rabatt für zugesicherte Nutzung.
Nützliche Tools
Mit den folgenden Tools können Sie Ihre Kosten besser nachvollziehen und Kostenüberschreitungen vermeiden.
Cloud Run-Übersicht: Abrechnungsbereich
Auf der Cloud Run-Übersichtsseite werden die Kosten pro Ressourcennamen im Bereich „Abrechnung“ angezeigt. Die Zahlen spiegeln die Bruttokosten für ausgewählte Zeiträume pro Ressource wider. Mit diesem Tool können Sie die Kosten Ihrer Ressourcen besser nachvollziehen.
Budgetbenachrichtigungen
Erstellen Sie in Cloud Billing Budgetbenachrichtigungen, um Ihre tatsächlichen Kosten mit Ihren geplanten Kosten zu vergleichen. Eine Budgetbenachrichtigung ist ein Benachrichtigungsmechanismus, der Benachrichtigungen auslöst, wenn Ausgabenschwellenwerte überschritten werden, und keine 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 oder programmatisch mit der Cloud Billing Budget API Ausgabenobergrenzen für das Cloud Billing-Budget konfigurieren, gelten diese Obergrenzen automatisch für alle Cloud Run-Ressourcentypen in Ihrem Projekt.
Sie können den Fortschritt Ihrer Ausgabenobergrenze direkt auf der Übersichtsseite der Cloud Run Console im Blick behalten. Wenn Sie eine Ausgabenobergrenze erreichen, pausiert Google Cloud alle Cloud Run-Arbeitslasten, um weitere Kosten für die folgenden Cloud Run-Ressourcen zu vermeiden:
- Dienste: Alle vorhandenen Dienste können keinen Traffic mehr verarbeiten und geben
5xx-Fehler zurück. - Jobs: Neue Aufgabenausführungen können nicht gestartet werden und laufende Aufgaben können nicht abgeschlossen werden.
- Worker-Pools: Alle vorhandenen Instanzen beenden die Verarbeitung von Aufgaben.
- Instanzen: Alle laufenden Instanzen werden heruntergefahren, neue Instanzen oder Neustarts können nicht gestartet werden und Anfragen an Instanz-URLs geben
5xx-Fehler zurück.
Wenn Sie Ihre Ausgabenobergrenze überschreiten, erhalten Sie eine Benachrichtigung und in der Cloud Run-Konsole wird ein Banner mit einer entsprechenden Meldung angezeigt. Erzwungene Ausgabenobergrenzen werden zu Beginn jedes Monats am ersten Tag des nächsten Abrechnungszeitraums zurückgesetzt. Dadurch werden Ihre Arbeitslasten freigegeben und der Ausgabenbetrag wird auf null gesetzt. Wenn Sie Ihre Ausgabenobergrenze überschreiten und den Betrieb vor dem monatlichen Zurücksetzen fortsetzen möchten, können Sie die Obergrenze auf der Übersichtsseite der Cloud Run-Konsole manuell anpassen oder aufheben.
Cloud Billing
Cloud Billing ist eine Sammlung von Tools, mit denen Sie Ihre Google Cloud -Ausgaben verfolgen und nachvollziehen können. Mit diesen Tools können Sie Ihre Nutzungskosten überwachen, Ihre Ausgaben prognostizieren und Möglichkeiten zur Kosteneinsparung ermitteln.
Kosten-Explorer
Mit dem Cost Explorer können Sie die Kosten und die Auslastung 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.
- Sie können nachvollziehen, welcher Anteil der Kosten durch Konfigurationen wie vCPU, GPU, Netzwerk und mehr verursacht wird.
- Verfolgen Sie die Auswirkungen von Änderungen an Ihrer Ressourcenkonfiguration auf Ihre monatliche Rechnung.
Google Cloud Preisrechner
Die Preisübersicht fürGoogle Cloud enthält Informationen zum besseren Verständnis des Preismodells für Google Cloud . Hier finden Sie auch die detaillierte Preisliste. Sie können Ihre Kosten schätzen, indem Sie Produkte mit dem Preisrechner hinzufügen und konfigurieren.
Recommender
Recommender ist ein Tool, das Nutzungsempfehlungen und Statistiken 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 Abrechnung auf die instanzbasierte Abrechnung, wenn dies günstiger ist.Cloud Hub-Optimierung
Auf der Optimierungsseite von Cloud Hub können Sie zusammenfassende Kostendaten, Nutzungsdaten und Empfehlungen zur Kostenoptimierung für Google Cloud -Dienste aufrufen.