Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Google Cloud Platform: Best Practices für Resource Labeling

By Sayle MatthewsNov 13, 202310 min read

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

Was sind diese Labels überhaupt?

Die GCP-Dokumentation definiert Labels als "schlanke Methode, um zusammengehörige oder miteinander verbundene Ressourcen zu gruppieren".

Das beschreibt zwar gut, was Labels sind, doch die spannendere Frage ist: "Wofür werden sie genutzt?"

Der Hauptzweck eines Labels auf einer Ressource besteht darin, deren Kosten in Ihren Abrechnungsdaten leicht nachvollziehen zu können. Standardmäßig wird jeder Service in Ihrer Abrechnung zu einer einzigen Position zusammengefasst.

Eine Position auf einer Rechnung für eine Compute Engine-Instanz könnte beispielsweise so aussehen: "Compute Engine Small Instance with 1 VCPU running in Americas: 15342.56 Hours."

Auf den ersten Blick wirkt das einfach – bis Ihnen bewusst wird, dass ein durchschnittlicher Monat 730 Stunden hat. Es liefen in diesem Monat also mehrere Instanzen. Aber wie viele? Und welche davon liefen wie lange, in welchem Projekt? Auch der Blick in den Billing Report in der GCP-Konsole bringt nicht viel mehr Klarheit.

Aus den Zahlen, die Google in Rechnung und Konsole anzeigt, lassen sich diese Daten kaum ableiten. Genau hier kommen Labels ins Spiel.

Wenn Sie Labels in Ihrem Projekt einsetzen, sieht Ihr Billing Report etwa so aus:

GCP Billing Report (einige Namen entfernt)

Sie sehen: Der Report ist nach Labels aufgeschlüsselt und damit deutlich übersichtlicher. Auf den iris_name-Teil der Labels gehe ich später in diesem Artikel ein.

Labels vs. Tags

Zunächst ist eine wichtige Unterscheidung zu treffen: der Unterschied zwischen Labels und Tags in GCP.

Bis vor Kurzem standen sie quasi in einer 1-zu-1-Beziehung, doch im Zuge der GCP-Weiterentwicklung sind daraus separate Konzepte geworden. Tags dienen heute dazu, Ressourcen für die Anwendung von Netzwerkrichtlinien zu gruppieren, während Labels Ressourcen für Abrechnungs- und Suchzwecke (und möglicherweise künftig weitere Anwendungsfälle) zusammenfassen.

Ein Beispiel: Wenn Sie eine Firewall-Regel erstellen und ihr ein Target-Tag zuweisen, gilt die Regel für jede Ressource mit demselben Network-Tag – etwa Compute Engine-Instanzen. Der wichtigste Unterschied liegt in der Begrifflichkeit: GCP verwendet "Tags" jetzt für Network-Tags (oder Target-Tags, wie sie in Firewall-Regeln heißen) und "Labels" für Labels, während früher häufig beides kollektiv als Tags bezeichnet wurde.

Es kann eine Weile dauern, bis sich die neue Terminologie durchsetzt. Wenn Sie also hören, dass in GCP etwas "getaggt" wurde, prüfen Sie zweimal, ob es sich tatsächlich um einen Tag oder um ein Label handelt. Nach vielen Jahren des "Taggens" wird es schwer, diese Gewohnheit beim eigentlichen Bezug auf Labels abzulegen.

DoiT Console und Cloud Analytics

Einer der besten Geheimtipps für die Verwaltung von Abrechnung und Kosten in GCP ist der Bereich Cloud Analytics der DoiT Console – ein Tool für Kostentransparenz und -optimierung, das DoiT International öffentlich bereitstellt.

Mithilfe von Reports erhalten Sie unmittelbar Einblicke in Ihre Google Cloud Platform-Abrechnung, verwalten Budgets, richten Cost Allocations ein, bekommen Alerts zu Budgets und Kostenanomalien und können verschiedene Strategien zur Kostenoptimierung ausloten.

Mit den Reports gewinnen Sie noch mehr Transparenz über Ihre Google Cloud-Kosten – mit zahlreichen Verbesserungen:

  • Bis zu 36 Monate historische Daten (statt 3–6 Monate)
  • 100x schnelleres Laden & Aktualisieren der Reports
  • Unbegrenzte Anzahl an User- und System-Labels (statt nur einem von beiden)
  • Unterstützung für Reports zu Credits wie SUDs oder CUDs
  • Vorgefertigte Reports
  • Deutlich mehr Diagrammtypen
  • Mobiloptimierte Reports
  • Regelmäßige Report-Updates per E-Mail oder Slack

Hinweis: Einige der Bilder können veraltet sein, da die DoiT Console seit Veröffentlichung dieses Artikels um zahlreiche Funktionen erweitert wurde.

Out of the Box stellen wir Ihnen eine Reihe vordefinierter Reports zur sofortigen Nutzung bereit. Diese Reports werden in Ihrer gesamten Organisation geteilt, sodass Sie und Ihre Teams mühelos auf demselben Stand bleiben.

Cloud Reports orientieren sich am Konzept einer Pivot-Tabelle und ermöglichen es Ihnen, hochgradig konfigurierbare Reports nach beliebigen Dimensionen und Kennzahlen zu erstellen:

Konfigurieren Sie Cloud Reports einfach per Drag & Drop von Dimensionen und Kennzahlen

Wenn Sie Ihre Ressourcen mit Labels versehen oder Iris3 nutzen, um Labels automatisch zu generieren, können Sie aus Ihren Abrechnungsdaten wertvolle Erkenntnisse gewinnen – etwa die Google Cloud Storage-Kosten pro Bucket:

GCS-Kosten pro Bucket

Stündliche Metriken Ihrer Abrechnungsdaten machen es leicht, Probleme oder Spitzen zu erkennen, die durch ein kürzliches Deployment oder eine Konfigurationsänderung entstanden sind.

Stündliche Daten machen Veränderungen in Ihrer Cloud-Umgebung leicht nachvollziehbar

Wenn Sie und Ihr Team Interesse an einem Zugang zur DoiT Console (sowie zu zahlreichen weiteren Tools) ohne Zusatzkosten haben, sprechen Sie uns an und erfahren Sie mehr darüber, wie Sie ohne Mehrkosten DoiT International-Kunde werden.

Best Practices für Labels

Nachfolgend finden Sie eine Reihe von Best Practices, die das Customer Reliability Engineering-Team von DoiT International für den Einsatz von Labels in GCP zusammengestellt hat.

Bevor Sie Labels einrichten, sollten Sie die zugehörigen Einschränkungen kennen und wissen, auf welche Ressourcen sie angewendet werden können. Ich empfehle, zuerst Googles Dokumentation dazu zu lesen – zumal sich diese nach Veröffentlichung dieses Artikels mit Sicherheit ändern wird.

Noch nicht jedes Produkt unterstützt Labels, doch viele tun es bereits, ohne in der Dokumentation aufgeführt zu sein. Ein Blick auf die Erstellungs- und Bearbeitungsseiten von Service-Instanzen ist die beste Methode, um zu prüfen, ob Labels unterstützt werden.

Setzen Sie immer Labels

Beim Erstellen einer neuen Compute Engine-Instanz oder eines darauf basierenden Images vergisst man manchmal, ein Label zu setzen – und dann gerät es in Vergessenheit, bis die Buchhaltung wegen einer Position auf der Rechnung nachfragt.

Vermeiden Sie das, indem Sie das Setzen von Labels fest in Ihren Workflow integrieren – sowohl bei manueller Erstellung als auch bei jeder automatisierten Ressourcenerzeugung.

Nutzen Sie ein Tool zur automatischen Ressourcenkennzeichnung

Anschließend an den vorherigen Tipp: Iris3 ist ein neu überarbeitetes Open-Source-Tool, das wir bei DoiT entwickelt haben, um Ressourcen bei ihrer Erstellung automatisch zu labeln. So stellen Sie sicher, dass kein Label vergessen wird.

Es lässt sich anpassen, um auch zusätzliche Ressourcentypen zu unterstützen, falls der gewünschte Typ noch nicht abgedeckt ist.

Labeln Sie alles, was nötig ist

Labels sind Schlüssel-Wert-Paare – nutzen Sie das zu Ihrem Vorteil und hinterlegen Sie so viele Informationen, wie Sie benötigen.

Hier einige Beispiele für sinnvolle Labels:

  1. Umgebungsnamen

    Eine Ressource als zugehörig zu Development, Staging, Testing, Production usw. zu kennzeichnen, ist immer eine sichere Wahl. So lassen sich später beispielsweise alle Production-Ressourcen für einen Billing Report deutlich einfacher finden.

  2. Rolle

    Wenn Sie Compute Engine-Ressourcen als Webserver, weitere in einem GKE-Cluster und eine als Datenbankserver betreiben, dann labeln Sie sie entsprechend.

  3. Anwendungsname Mit dem Anwendungsnamen als Label lassen sich Ressourcen leichter nach dem Geschäftsprojekt oder der Anwendung gruppieren, zu der sie gehören – das vereinfacht die Auswertung der Kosten pro Anwendung.

  4. Regionsname Wenn sich Ihre Anwendung oder Ihr Projekt über mehrere Regionen erstreckt, hilft das Hinzufügen des Regionswerts beim späteren Sortieren. Das kann der GCP-Regionsname sein, eine logische Region, die Sie in Ihrer Anwendung definiert haben, oder ein eigenes Label für jede Variante.

  5. Resource Creator Den Namen des Erstellers in einem Label zu hinterlegen, hilft später dabei nachzuvollziehen, wer welche Ressource angelegt hat – statt sich durch Audit Logs wühlen zu müssen, die möglicherweise gar nicht mehr vorhanden sind.

  6. Owner oder Maintainer Wenn Sie eine Ressource mit dem Namen des Owners oder Maintainers labeln, wissen Sie bei Fragen oder Problemen sofort, wen Sie kontaktieren müssen. Ein typisches Beispiel ist das Team, das die Ressource besitzt oder pflegt.

  7. Kosten-, Abrechnungs- oder Budgetcode Manche Organisationen verwenden Codes für unterschiedliche Ausgaben oder Budgets. Diese in Labels zu hinterlegen, erleichtert Billing-Administratoren oder Auditoren die Nachverfolgung.

  8. Abteilung

    Gehört die Ressource zu einer bestimmten Abteilung, hilft ein entsprechendes Label, sie später zuzuordnen.

  9. Bucket-Name (nur Google Cloud Storage) Wenn Sie schon einmal einen GCP-Billing Report oder eine Rechnung gesehen haben, wissen Sie: Alle Storage-Buckets werden zu einer einzigen Position zusammengefasst. Ein Albtraum, wenn Sie wissen wollen, was jeder Bucket kostet. Indem Sie den Bucket-Namen als Label hinzufügen, lassen sich die Kosten pro Bucket aufschlüsseln.

  10. Name der zugehörigen Ressource Wenn eine Ressource an eine andere gekoppelt ist, empfiehlt es sich, ein Label mit dem Namen dieser Ressource hinzuzufügen. Beispiele: ein Persistent Disk, das mit einer Compute Engine-Instanz oder einem Dataproc-Cluster verbunden ist. Auch eine externe IP, die einer Managed Instance Group in Compute Engine zugeordnet ist, ist ein klassischer Fall.

  11. Datenklassifizierung Das ist ein breites Anwendungsfeld, aber wenn Sie Daten haben, die in einem Bucket oder BigQuery-Dataset entsprechend gekennzeichnet werden müssen, fügen Sie dafür ein Label hinzu. Beispiele sind Daten unter regulatorischen Anforderungen wie HIPAA oder PCI oder verschlüsselte Daten. Es ist klug, solche Ressourcen zu labeln – wenn dann ein C-Level-Executive fragt, wie viel pro Monat für die Speicherung von PHI (Protected Health Information) ausgegeben wird, lässt sich die Antwort blitzschnell liefern.

  12. Ressourcenstatus

    Ist eine Ressource aktiv, zur Löschung vorgemerkt, deaktiviert usw.? Ein entsprechendes Label macht sehr leicht ersichtlich, wie viel auf Ressourcen in einem bestimmten Status entfällt.

  13. Folder- oder Organisationsname Wenn Sie in Ihrer Organisationsstruktur Folders oder unterschiedliche Organisationseinheiten nutzen, legen Sie dafür ein Label an, um später die Kosten pro Organisation oder Folder einsehen zu können.

    Eine sehr lesenswerte Diskussion zu diesem Thema sowie zur organisatorischen Strukturierung von GCP finden Sie in diesem hervorragenden Artikel meines Kollegen.

Standardisieren Sie Ihre Labels

Definieren Sie ein einheitliches Set an Labels, das Sie auf jede Ressource anwenden, und halten Sie sich konsequent daran. Es kann sinnvoll sein, je Ressourcentyp ein eigenes Standard-Set festzulegen. Das vereinfacht sowohl die Suche nach Ressourcen als auch das Tracking von Ressourcengruppen in Billing Reports erheblich.

Auch hier hilft Iris3, indem es diese Aufgabe automatisch übernimmt und den Standard zuverlässig durchsetzt.

Suchen Sie Ressourcen mit Filtern und Labels

In den Filterleisten der Konsole erscheint, sobald Sie "labels" eingeben, ein Auswahl-Dropdown. Nach der Auswahl können Sie nach dem Doppelpunkt den Label-Namen eintippen – die Autovervollständigung filtert dann nach genau diesem Label.

Beachten Sie: Zum Zeitpunkt dieses Artikels funktioniert das auf der Cloud Storage-Seite noch nicht.

Nutzen Sie Kubernetes-Labels in GKE

GKE bietet Ihnen die Möglichkeit, jeden Knoten eines Clusters mit der Kubernetes-Label-Funktion zu kennzeichnen (zu finden auf der Metadata-Seite beim Erstellen eines Clusters).

Tipp: Innerhalb von Kubernetes können Sie diese Knoten per Selector auswählen. Beachten Sie: Das gilt nur für GKE, nicht für Standalone-Cluster.

Verwenden Sie Labels in Ihren BigQuery-Billing-Queries

Wenn Sie BigQuery jemals als Sink für Ihre Abrechnungsdaten genutzt haben, ist Ihnen vermutlich ein Labels-Record in den dort erzeugten Tabellen aufgefallen. Jedes Label, das Sie einem Service zuweisen, erscheint in diesem Record für die Ressource der jeweiligen Zeile. Damit lassen sich die Daten in BigQuery deutlich aussagekräftiger auswerten.

Setzen Sie Labels auf Ihre Queues

Wenn Sie Pub/Sub für Queueing oder als Bestandteil eines Workflows nutzen, versehen Sie Ihre Topics mit einem Label, das die Zugehörigkeit zu einer Anwendung oder zu einem Workflow markiert. Dieser Kostenpunkt wird oft übersehen – gerade bei intensiver Pub/Sub-Nutzung. Hinweis: Zum Zeitpunkt dieses Artikels unterstützt Pub/Sub Lite keine Labels.

Halten Sie Ihre Label-Policy aktuell

Wenn Sie ein Projekt aktualisieren, neu ausrollen oder einen neuen Service in GCP einsetzen, prüfen Sie, ob dieser Labels unterstützt. Falls ja, ergänzen Sie Ihre Label-Policy entsprechend oder fügen Sie den Service in Iris3 hinzu, damit das Labeling automatisch erfolgt.