Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Ausfallrisiken in der Cloud minimieren – mit proaktivem Quota-Monitoring

By Mike SparrMay 1, 20235 min read

Diese Seite ist auch in English, Español, Français, Italiano, 日本語 und Português verfügbar.

Sprunghaft steigende Nachfrage nach Ihren Softwarelösungen – eigentlich ein Grund zur Freude, oder? Meistens schon. Beim Public-Cloud-Hosting gibt es jedoch einen häufig übersehenen Stolperstein, der Ihr Unternehmen lahmlegen oder sogar einen Ausfall auslösen kann: Limits und Quotas.

Lassen Sie sich nicht im entscheidenden Moment überraschen

Bei DoiT International betreuen wir weltweit Tausende Organisationen als Cloud-Partner und FinOps-Softwareanbieter. Unsere Cloud-Architekten bearbeiten Monat für Monat Zehntausende Kundenanfragen – und ein Muster taucht dabei immer wieder auf: Quota-Limits werden zu spät erkannt. Die Folge sind hektische Hilferufe, um die Bearbeitung von Quota-Erhöhungen beim Cloud-Anbieter zu beschleunigen.

Quota increase requests from customers

Eingegangene Support-Anfragen unserer Kunden für Quota-Erhöhungen

Seit über einem Jahrzehnt haben wir uns einem Ziel verschrieben: die wahren Versprechen der Cloud einzulösen – Einfachheit, Elastizität und Effizienz. Um unseren Kunden bei diesem wiederkehrenden Problem zu helfen, haben wir Quota-Monitoring und Alerting in unsere Multi-Cloud-Plattform, die DoiT Console, integriert.

Beispiel: Quota-Monitoring in der DoiT Console für AWS-Kunden

Leider sind noch nicht alle Public-Cloud-Nutzer auch DoiT-Kunden. Glücklicherweise hat aber auch das Team bei Google diese Herausforderung erkannt und ein Open-Source-Projekt namens "Quota Monitoring Solution (QMS)" veröffentlicht.

Googles Open-Source Quota Monitoring Solution

Das GitHub-Repository enthält zwar eine Schritt-für-Schritt-Anleitung – dieser Artikel bringt Sie aber noch schneller ans Ziel. Ausführlichere Erläuterungen zu jedem Schritt finden Sie in der Dokumentation des Repositorys.

In weniger als zwanzig Minuten richten Sie mit ein paar gcloud- und terraform-Befehlen im Terminal ein Dashboard wie das untenstehende ein – und passen das Alerting anschließend an die Anforderungen Ihrer Organisation an.

Looker Studio dashboard of your quotas and usage

Looker Studio Dashboard mit Ihrer Quota-Nutzung auf Org-, Folder-, Region- oder Projektebene

Funktionen

Quelle: Google

Architektur

Quelle: Google

Dieser Artikel führt Sie durch folgende Schritte:

  1. QMS-Umgebung einrichten und konfigurieren
  2. QMS mit Terraform installieren
  3. Looker Studio Dashboard einrichten

Los geht's!

Voraussetzungen

gcloud-Befehle im Terminal oder in der Cloud Shell ausführen können

Sie können den Service zwar manuell in der Cloud Console einrichten, vorgesehen ist die Installation und Konfiguration aber über Terminal- und Shell-Befehle. Nutzen Sie dafür entweder Ihren bevorzugten Terminal-Client oder einfach die integrierte Cloud Shell in der GCP Console.

Terraform ausführen können

Sie müssen das Terraform-Kommandozeilentool installieren – entweder lokal oder in der Cloud Shell. Die Konfiguration der Cloud-Infrastruktur und der Serverless Functions wird per Infrastructure as Code (IaC) automatisiert.

IAM-Rollenrechte vergeben können

Bevor es losgeht, benötigen Sie mehrere IAM-Rollen, um ein Monitoring-Projekt und einen Service Account anzulegen sowie dem Service Account Rollen zuzuweisen. Es empfiehlt sich, dass Sie selbst oder jemand in Ihrem Team mit der Rolle "Organization Administrator" sicherstellt, dass Sie über folgende Rollen verfügen:

1\. QMS-Umgebung einrichten und konfigurieren

Um Ihnen Einrichtung und Konfiguration zu erleichtern, habe ich ein Skript vorbereitet, das Folgendes für Sie übernimmt:

  • Anlegen von Monitoring-Projekt, Service Account und Service Account IAM
  • Ziel-IAM (Organization oder Folder)
  • Terraform-Konfiguration und Anleitung

Führen Sie den folgenden Befehl in Ihrem Terminal oder in der Cloud Shell aus, um das Setup zu starten.

Tipps

  • Mit RETURN übernehmen Sie einfach die [Defaults] in den Eingabeaufforderungen
  • Halten Sie Ihre Billing-ID (xxxxxx-xxxxxx-xxxxxx) zum Kopieren bereit
bash <(curl -L https://bit.ly/gcp-qms-setup)

Den Quellcode finden Sie hier: https://bit.ly/gcp-qms-setup

Beispielhafte Terminal-Eingabeaufforderungen beim Ausführen des Installationsskripts

2\. QMS mit Terraform installieren

Nach dem initialen Setup fordert Sie das Skript auf, sich zu authentifizieren und Terraform selbst auszuführen. So können Sie den Plan vor dem Anwenden prüfen – und bei Fehlern erneut versuchen.

Beispielhafte Terminal-Ausgabe nach dem Setup-Skript mit den finalen Befehlen für Terraform

Installationsbefehle (ersetzen Sie <your-…> durch die korrekten Werte)

PROJECT_ID=<your-project-id>
SA_EMAIL=<your-sa-email-address>
REGION=<your-region>

# configure gcloud sdk
gcloud config set core/project $PROJECT_ID

# set up short-lived oauth token
gcloud config set auth/impersonate_service_account $SA_EMAIL
export GOOGLE_OAUTH_ACCESS_TOKEN=$(gcloud auth print-access-token)

# run terraform (re-run `terraform plan` and `terraform apply` if errors)
cd quota-monitoring-solution/terraform/example
terraform init
terraform plan
terraform apply

# unset service account impersonation
gcloud config unset auth/impersonate_service_account

# return to project directory
cd ../../../

# start cloud scheduler jobs to begin monitoring quotas
gcloud scheduler jobs run quota-monitoring-cron-job --location $REGION
gcloud scheduler jobs run quota-monitoring-app-alert-config --location $REGION

3\. Looker Studio Dashboard einrichten

Sobald das Setup gelaufen und die App per Terraform installiert ist, richten Sie Ihr Dashboard mit den folgenden Schritten ein – die Reihenfolge ist dabei wichtig, wie ich feststellen musste.

Öffnen Sie das Looker Studio Template

Klicken Sie oben rechts auf das "…"-Menü (drei Punkte) und wählen Sie "Make a copy"

Wenn Sie nach einer Datenquelle gefragt werden, übernehmen Sie die Standardauswahl

In einem weiteren Browser-Tab sehen Sie nun eine Kopie des Looker Studio Dashboard-Templates. Im nächsten Schritt verbinden Sie es mit dem zuvor in Ihrem Projekt angelegten Dataset.

Verbindung zum Dataset herstellen

Das ist erfahrungsgemäß etwas eigenwillig und die Reihenfolge zählt – aber: Wenn es beim ersten Mal nicht klappt, hilft meist ein zweiter Anlauf.

Unten erscheint ein Panel mit einer SQL-Abfrage, die Sie bearbeiten und in der Sie [project ID].[dataset].[table] ersetzen müssen.

Auf der linken Seite werden Projekte aufgelistet – Ihres ist möglicherweise nicht dabei. Suchen Sie danach, und falls die Auswahl nicht automatisch befüllt wird, klicken Sie auf den Tab "Recent Projects" und wählen Sie Ihr Projekt -> Dataset -> Tabelle.

Wechseln Sie zurück zum Test-Query-Tab und prüfen Sie, dass Ihre Project ID weiterhin in der Abfrage steht (und nicht auf den Template-Default zurückgesetzt wurde).

Beispiel: Achten Sie darauf, dass Ihre PROJECT ID an beiden Stellen erscheint

Klicken Sie oben rechts im Panel auf "Reconnect". Bestätigen Sie die Datenquellenänderung und klicken Sie auf "Apply"

Glückwunsch!

Die Daten sollten jetzt im Dashboard erscheinen. Falls nicht, wiederholen Sie die obigen Schritte – das Ganze ist etwas eigenwillig, aber meistens reichen ein paar Anläufe.

Klicken Sie einfach auf "Done", um das Panel zu schließen, und optional auf "View", um Ihr Dashboard zu öffnen.

Monitoring und Alerts konfigurieren

Die Google-Dokumentation beschreibt optionale Anpassungen und Konfigurationen für das Alerting.

So bleiben Sie auf dem Laufenden und erkennen potenzielle Quota-Probleme, bevor daraus Ausfälle werden.