Labels für App Engine-Ressourcen

Mit Labels können Ressourcen, die zusammengehören oder miteinander verknüpft sind, problemlos gruppiert werden. Mit Labels können Sie sich eine detailliertere Aufschlüsselung darüber anzeigen lassen, wie Ressourcen für Ihre App Engine-Dienste abgerechnet werden. Außerdem können Sie Features wie die verschachtelte Filterung nutzen, um genauere Suchvorgänge in Bezug auf Ihre Ressourcen auszuführen.

Im Folgenden werden einige Möglichkeiten aufgelistet, wie Sie Labels verwenden können:

  • Verwenden Sie Labels für die Diensttypen, die Sie erstellen. Wenn Sie Ihren App Engine-Diensten beispielsweise Labels wie service:default, service:backend und service:frontend hinzufügen, können Sie vergleichen, wie diese verschiedenen Dienste ausgehende Bandbreite, Instanzstunden und andere Ressourcen nutzen.

  • Verwenden Sie Labels für Teams oder Kostenstellen, um Projekte nach verschiedenen Teams zu unterscheiden. Dies ist hilfreich für die Kostenrechnung oder Budgetierung. Beispiel: team:marketing und team:research.

  • Verwenden Sie Labels für die Umgebungen, in der Dienste ausgeführt werden. Beispiel: environment:prod und environment:test.

  • Verwenden Sie Labels für Inhaber oder primäre Kontakte, wenn es Personen gibt, die für eine Ressource verantwortlich sind.

  • Verwenden Sie Labels für den Status von Diensten. Beispiel: state:inuse und state:readyfordeletion.

Labels können nur für Abrechnungsdaten und nicht für andere Tools wie den Metrics Explorer verwendet werden.

Beschränkungen

  • Sie können jeder Ressource bis zu 64 Labels zuweisen.
  • Sie können nur Dienste explizit mit Labels versehen. Versionen und Instanzen übernehmen Labels vom übergeordneten Dienst.
  • Die flexible App Engine-Umgebung unterstützt keine Abrechnungslabels für Firestore im Datastore-Modus.

Labels hinzufügen oder ändern

So fügen Sie App Engine-Diensten Labels hinzu:

Console

  1. Rufen Sie die Seite „App Engine-Dienste“ auf.

    Zu Dienste

  2. Aktivieren Sie die Kästchen neben den Diensten, für die Sie Labels vergeben möchten.

  3. Klicken Sie auf Infofeld ansehen und wählen Sie den Tab Labels aus, um die Spalte mit den Labels zu erweitern.

  4. Klicken Sie auf Label hinzufügen, um den ausgewählten Diensten ein Schlüssel/Wert-Paar hinzuzufügen. Wenn Sie beispielsweise das Label env:prod einfügen möchten, geben Sie für den Schlüsselenv und für den Wert prod ein.

  5. Speichern Sie die Änderungen.

Admin API

Über die Ressource Service können Sie Labels hinzufügen und festlegen. Weitere Informationen finden Sie in der Referenzdokumentation zur Admin API:

Abrechnungsdaten ansehen, die mit Ihren mit Labels versehenen Diensten verknüpft sind

Sie können die Abrechnungsdaten für Ihre Anwendung anhand der Labels detailliert aufschlüsseln. Beispielsweise können Sie sich die Kosten für eine bestimmte Ressource wie die ausgehende Bandbreite aufgeschlüsselt nach Tag und Dienst anzeigen lassen. Dadurch erhalten Sie Einblick in die Anwendungskosten pro Tag und können den Ressourcenverbrauch Ihrer Anwendung optimieren.

Wenn Sie sich Labels für die Abrechnung anzeigen lassen möchten, exportieren Sie Ihre Daten nach BigQuery und fragen Sie sie dann ab:

  1. Exportieren Sie Ihre Abrechnungsdaten in BigQuery.

    Nachdem Sie den BigQuery-Export aktiviert haben, kann es einige Stunden dauern, bis Ihre Daten angezeigt werden.

  2. Wählen Sie auf der BigQuery-Seite in der Google Cloud Console Ihr Projekt und das Abrechnungs-Dataset aus.

  3. Führen Sie eine Abfrage der Tabelle durch, die aus Ihrem BigQuery-Export erstellt worden ist.

Die Labels werden Ihrem Dataset als wiederkehrende Felder hinzugefügt. Dies bedeutet, dass mehrere Labels mit einer einzelnen Zeile Ihres Abrechnungs-Datasets verknüpft sein können. Sie können die Tabelle mit der Funktion FLATTEN anhand des Felds „labels“ vereinfachen, um die Abrechnungsdaten auf einfache Weise nach Label abzufragen.

Die folgende Abfrage ruft beispielsweise Abrechnungsdaten, den Label-Schlüssel und den Label-Wert für die ausgehende Bandbreite ab, sofern für diese Daten ein Label vorhanden ist:

SELECT
  product,
  resource_type,
  start_time,
  end_time,
  labels.key,
  labels.value,
  cost
FROM (FLATTEN([YOUR_DATASET.TABLEID], labels))
WHERE
  cost > 0.0
  and labels.key is not null
  and resource_type = 'Out Bandwidth'
LIMIT 100

BigQuery gibt die Daten in Form einer vereinfachten Ausgabe zurück:

Produkt resource_type start_time end_time labels_key labels_value Kosten
App Engine Ausgehende Bandbreite 07.10.2017 22:00:00 07.10.2017 23:00:00 Dienst Standard 0,020033
App Engine Ausgehende Bandbreite 07.10.2017 13:00:00 07.10.2017 14:00:00 Dienst Frontend 0,016042
App Engine Ausgehende Bandbreite 07.10.2017 06:00:00 07.10.2017 07:00:00 Dienst backend_task 0,013125
App Engine Ausgehende Bandbreite 07.10.2017 21:00:00 07.10.2017 22:00:00 Dienst Standard 0,020722
App Engine Ausgehende Bandbreite 07.10.2017 19:00:00 07.10.2017 20:00:00 Dienst Frontend 0,020725
App Engine Ausgehende Bandbreite 08.10.2017 04:00:00 08.10.2017 05:00:00 Dienst backend_task 0,02072
App Engine Ausgehende Bandbreite 08.10.2017 02:00:00 08.10.2017 03:00:00 Dienst Standard 0,020723
App Engine Ausgehende Bandbreite 07.10.2017 14:00:00 07.10.2017 15:00:00 Dienst Frontend 0,020724
App Engine Ausgehende Bandbreite 07.10.2017 23:00:00 08.10.2017 00:00:00 Dienst backend_task 0,021417

Zeiträume in Abrechnungsberichten

Damit jeder Tag im Bericht den gesamten 24-Stunden-Zeitraum abdeckt, enthalten die exportierten Abrechnungsdaten nur Daten bis zur letzten Mitternacht (UTC -8). Wenn Sie beispielsweise am 3. Dezember um 12:00 Uhr Abrechnungsdaten exportieren, enthält der Export Daten bis zum 2. Dezember um 23:59 Uhr.

Für jeden Tag im Bericht werden Abrechnungsdaten bestimmten Labels zugeordnet, die am Tagesanfang vorhanden sind. Wenn Sie beispielsweise am 3. Dezember um 12:00 Uhr (UTC -8) ein Label erstellen, weist der Bericht für den 3. Dezember dem Label keine Daten zu, da das Label am Tagesanfang noch nicht vorhanden war. Die Daten werden dem Label ab dem 4. Dezember zugeordnet.

Labels, die um 12:00 Uhr erstellt und innerhalb von 24 Stunden wieder entfernt werden, werden keine Daten zugeordnet.

Labels in der Google Cloud Console ansehen

Nachdem Sie Ressourcen mit einem Label versehen haben, können Sie sich die Labels in der Google Cloud Console ansehen.

  1. Rufen Sie die Seite „App Engine-Dienste“ auf.

    Zu Dienste

  2. Sie können alle Labels für jeden Dienst in der Spalte Labels ansehen.

Labels entfernen

So entfernen Sie Labels aus Diensten:

  1. Rufen Sie die Seite „App Engine-Dienste“ auf.

    Zu den App Engine-Diensten

  2. Klicken Sie die Kästchen neben den Diensten an, von denen Sie Labels entfernen möchten.

  3. Klicken Sie auf Infofeld ansehen und wählen Sie den Tab Labels aus, um die Spalte mit den Labels zu erweitern.

  4. Klicken Sie neben allen Labels, die Sie entfernen möchten, auf X.

  5. Speichern Sie die Änderungen.