Labels erstellen und verwalten

Labels sind Schlüssel/Wert-Paare, mit denen Sie in Google Cloud verwandte oder zugehörige Ressourcen gruppieren können. In Compute Engine können Sie beispielsweise Labels verwenden, um VMs in Kategorien wie Produktion, Staging oder Entwicklung zu gruppieren, sodass Sie nach Ressourcen suchen können, die zu jeder Entwicklungsphase gehören.

Wenn Sie Ihren Ressourcen Labels hinzufügen, können Sie die verschachtelte Filterung verwenden, um mithilfe von Labels genauere Suchvorgänge in Bezug auf Ihre Ressourcen durchzuführen.

Hinweis

Was sind Labels?

Ein Label ist ein Schlüsselwertpaar, mit dem Sie Ihre Google Cloud-Instanzen organisieren können. Sie können jeder Ressource ein Label zuweisen und dann die Ressourcen basierend auf ihren Labels filtern. Informationen zu Labels werden an das Abrechnungssystem weitergeleitet, sodass Sie Ihre in Rechnung gestellten Gebühren nach Labels aufschlüsseln können.

Labels können als abfragbare Annotationen für Ressourcen verwendet werden, aber nicht zum Festlegen von Bedingungen für Richtlinien. Mit Tags können Sie Richtlinien basierend darauf zulassen oder ablehnen, ob eine Ressource ein bestimmtes Tag hat. Weitere Informationen finden Sie in der Tag-Übersicht.

Einsatzmöglichkeiten von Labels

Es wird empfohlen, nicht zu viele eindeutige Labels zu erstellen, etwa für Zeitstempel oder einzelne Werte für jeden API-Aufruf. Labels kommen u. a. in folgenden Situationen zum Einsatz:

  • Labels für Teams oder Kostenstellen: Fügen Sie Labels basierend auf einem Team oder einer Kostenstelle hinzu, um zwischen den Instanzen verschiedener Teams zu unterscheiden (z. B. team:research und team:analytics). Sie können diese Art von Label für die Kostenabrechnung oder Budgetplanung nutzen.

  • Labels für Komponenten: z. B. component:redis, component:frontend, component:ingest und component:dashboard.

  • Labels für Umgebungen oder Phasen: z. B. environment:production und environment:test.

  • Labels für Status: z. B. state:active, state:readytodelete und state:archive.

  • Labels für virtuelle Maschinen: Labels können an virtuelle Maschinen angehängt werden. Tags einer virtuellen Maschine, die Sie früher definiert haben, werden als Label ohne Wert angezeigt.

Anforderungen an Labels

Die Labels, die auf eine Ressource angewendet werden, müssen die folgenden Anforderungen erfüllen:

  • Jede Ressource kann bis zu 64 Labels haben.
  • Jedes Label muss ein Schlüssel/Wert-Paar sein.
  • Schlüssel haben eine Mindestlänge von 1 Zeichen und eine maximale Länge von 63 Zeichen und dürfen nicht leer sein. Werte dürfen leer sein und haben eine maximale Länge von 63 Zeichen.
  • Schlüssel und Werte dürfen nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Alle Zeichen müssen die UTF-8-Codierung verwenden. Internationale Zeichen sind zulässig.
  • Der Schlüsselabschnitt eines Labels darf nur einmal vorkommen. Sie können jedoch denselben Schlüssel für mehrere Ressourcen verwenden.
  • Schlüssel müssen mit einem Kleinbuchstaben oder einem internationalen Zeichen beginnen.

Die Limits gelten für den Schlüssel und den Wert für jedes Label und für die einzelnen Google Cloud-Ressourcen, die Labels haben. Es gibt keine Beschränkung, wie viele Labels Sie auf alle Ressourcen in einem Projekt anwenden können.

Labels in Compute Engine verwenden

Sie können Labels auf die folgenden Compute Engine-Ressourcen anwenden:

  • VM-Instanzen
  • Bilder
  • Persistente Festplatten
  • Snapshots nichtflüchtiger Speicher

Sie können auch Labels für verwandte Google Cloud-Komponenten wie die folgenden verwenden:

Sie können Ihren Ressourcen beispielsweise die folgenden Labels als Schlüssel/Wert-Paare hinzufügen:

{
 "labels": {
    "vmrole": "webserver",
    "environment": "production",
    "location": "west",...
    }
 }

Ressourcen mit Labels erstellen

Beim Erstellen einer neuen Ressource können Sie der Ressource Labels zuweisen.

Console

  1. Rufen Sie die Ressourcenseite auf, die Sie erstellen möchten.

  2. Klicken Sie unter Labels auf Label hinzufügen.

  3. Fahren Sie mit der Erstellung fort.

gcloud

Zum Hinzufügen eines Labels verwenden Sie den Unterbefehl create mit dem Flag --labels. Mit den folgenden gcloud-Befehlen können Sie den Compute Engine-Ressourcen Labels hinzufügen:

Beispiel

gcloud compute instances create ... \
    --labels webserver=backend,media=images

API

Fügen Sie in der API während der POST-Anfrage zum Hinzufügen einer neuen Ressource das labels-Attribut in den Anfragetext ein, damit die Labels der neuen Ressource zugewiesen werden.

Das folgende Snippet stellt beispielsweise eine POST-Anfrage, um eine VM-Instanz mit den Labels webserver:backend und media:images zu erstellen:

POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances

{
 "name": "myVM",
 "machineType": "zones/us-central1-f/machineTypes/custom-2-15360-ext",
  ...,
 "labels": [{
   "key": "webserver",
   "value": "backend"
   },
   {
   "key": "media",
   "value": "images"
  }]
}

Labels nachträglich zu Ressourcen hinzufügen oder aktualisieren

Mit der Cloud Console, dem gcloud-Tool oder der Compute Engine API können Sie Labels hinzufügen oder vorhandene Labels für Ressourcen aktualisieren. Verwenden Sie das gcloud-Tool oder die Compute Engine API, um Labels für Weiterleitungsregeln hinzuzufügen oder zu aktualisieren.

Console

  1. Rufen Sie die entsprechende Ressourcenseite auf, für die Sie Labels hinzufügen möchten.

    • VM-Instanzen finden Sie unter VM-Instanzen.
    • Informationen zu Snapshots finden Sie unter Snapshots.
    • Rufen Sie für Images Images auf.
    • Informationen zu Laufwerken finden Sie unter Laufwerke.
    • Informationen zu statischen externen IP-Adressen finden Sie unter Externe IP-Adressen.
    • Informationen zu VPN-Tunneln finden Sie unter VPN.
  2. Klicken Sie auf die Kästchen neben den Ressourcen, die Sie mit Labels versehen möchten.

  3. Klicken Sie auf Infofeld anzeigen, um die Spalte für Labels zu erweitern.

  4. Wählen Sie im Infofeld Labels aus.

  5. Klicken Sie zum Hinzufügen von Labels auf Label hinzufügen und fügen Sie das Schlüssel/Wert-Paar hinzu.

  6. Um Labels zu aktualisieren, wählen Sie die vorhandenen Labels aus und ändern Sie deren Werte.

  7. Speichern Sie die Änderungen.

gcloud

Zum Hinzufügen oder Ändern eines Labels verwenden Sie den Unterbefehl update mit dem Flag --update-labels. Mit den folgenden gcloud-Befehlen können Sie Labels für die Compute Engine-Ressourcen aktualisieren:

Beispiel

gcloud compute disks update example-disk \
    --update-labels backend=webserver,media=images

Wenn Sie einen bereits vorhandenen Labelschlüssel angeben, aktualisiert das gcloud-Befehlszeilentool den vorhandenen Schlüssel mit dem neuen Labelwert. Wenn Sie einen neuen Schlüssel angeben, fügt das Werkzeug den neuen Schlüssel zur Liste der Labels hinzu.

API

Wenn Sie Labels hinzufügen oder aktualisieren möchten, stellen Sie eine POST-Anfrage an die Methode setLabels der entsprechenden Ressource mit dem neuesten Fingerabdruck und einer vollständigen Liste der Labels, die zugewiesen werden sollen.

Wenn Sie die bisherigen Labels des Clusters übernehmen möchten, muss die Anfrage, ähnlich wie bei Metadaten und Tags, neben den neu hinzuzufügenden auch diese bisherigen Labels enthalten.

Das folgende Snippet stellt beispielsweise eine POST-Anfrage an eine VM-Instanz, um die Labels environment:test und an-existing-tag:yes festzulegen:

POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/setLabels

{
 "labels": {
  "environment": "test",
  "an-existing-tag": "yes"
 },
 "labelFingerprint": "42WmSpB8rSM="
}

Labels ansehen

Sie können Labels für Ressourcen mit der Cloud Console, dem gcloud-Tool oder der Compute Engine API anzeigen lassen. Verwenden Sie das gcloud-Tool oder die Compute Engine API, um Labels für Weiterleitungsregeln aufzurufen.

Console

  1. Gehen Sie zur Ressourcenseite.

    • VM-Instanzen finden Sie unter VM-Instanzen.
    • Informationen zu Snapshots finden Sie unter Snapshots.
    • Rufen Sie für Images Images auf.
    • Informationen zu Laufwerken finden Sie unter Laufwerke.
    • Informationen zu statischen externen IP-Adressen finden Sie unter Externe IP-Adressen.
    • Informationen zu VPN-Tunneln finden Sie unter VPN.
  2. Klicken Sie auf die Ressource, um die Details aufzurufen.

  3. Suchen Sie Labels.

gcloud

Verwenden Sie den Unterbefehl describe, um Labels anzusehen. Mit den folgenden gcloud-Befehlen können Sie Labels für die Compute Engine-Ressourcen anzeigen lassen:

Beispiel

gcloud compute disks describe example-disk

Die Ausgabe enthält die folgenden Labels:

...
id: '5047929990219134234'
kind: compute#disk
labelFingerprint: GHZ1Un209U=0
labels:
  environment: dev
  department: finance
...

API

Um Labels abzurufen, stellen Sie eine GET-Anfrage an die folgende Ressource:

Durch das folgende Snippet wird beispielsweise eine GET-Anfrage zum Abrufen von Labels für eine VM-Instanz gestellt:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME

Dabei gilt:

  • PROJECT_ID: die Projekt-ID
  • ZONE: die Zone der VM
  • VM_NAME: Der Name der VM

Labelfingerabdrücke für API-Requests abrufen

Wenn Sie Labels in der API aktualisieren oder hinzufügen, müssen Sie mit der Anfrage den neuesten Labelfingerabdruck angeben, um Konflikte mit anderen Anfragen zu vermeiden. Ein Fingerabdruck ist nur für API-Anfragen erforderlich. Die Cloud Console und das gcloud-Befehlszeilentool erfordern keinen Fingerabdruck.

Um die neueste labelsFingerprint zu erhalten, stellen Sie eine GET-Anfrage an die folgenden Ressourcen:

Das folgende Snippet ruft beispielsweise einen labelsFingerprint für eine VM-Instanz ab:

GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance

Die Antwort enthält das Attribut labelFingerprint:

200 OK

{
 "kind": "compute#instance",
 "id": "4392196237934605253",
 "creationTimestamp": "2015-09-15T14:05:16.475-07:00",
 "zone": "https://content.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f",
 "status": "RUNNING",
 ...
 "labels": {
  "environment": "test"
 },
 "labelFingerprint": "p1ty_9HoBk0="
}

Ein Label entfernen

Sie können Labels aus Ressourcen mithilfe der Cloud Console, des gcloud-Tools oder der Compute Engine API entfernen. Verwenden Sie das gcloud-Tool oder die Compute Engine API, um Labels für Weiterleitungsregeln zu entfernen.

Console

  1. Rufen Sie die entsprechende Ressourcenseite auf, für die Sie Labels entfernen möchten.

    • VM-Instanzen finden Sie unter VM-Instanzen.
    • Informationen zu Snapshots finden Sie unter Snapshots.
    • Rufen Sie für Images Images auf.
    • Informationen zu Laufwerken finden Sie unter Laufwerke.
    • Informationen zu statischen externen IP-Adressen finden Sie unter Externe IP-Adressen.
    • Informationen zu VPN-Tunneln finden Sie unter VPN.
  2. Wählen Sie das Kästchen neben den Ressourcen aus, für die Sie Labels entfernen möchten.

  3. Klicken Sie auf Infofeld anzeigen, um die Spalte für Labels zu erweitern.

  4. Um ein Label zu löschen, klicken Sie auf Löschen.

  5. Speichern Sie die Änderungen.

gcloud

Zum Hinzufügen oder Ändern eines Labels verwenden Sie den Unterbefehl update mit dem Flag --remove-labels. Mit den folgenden gcloud-Befehlen können Sie Labels für die Compute Engine-Ressourcen entfernen:

Beispiel

gcloud compute disks update example-disk \
    --remove-labels backend,media

API

Senden Sie zum Entfernen von Labels die Anfrage POST an die Methode setLabels der folgenden Ressource mit dem neuesten Fingerabdruck und einer vollständigen Liste der Labels, die zugewiesen werden sollen:

Geben Sie den aktuellen labelsFingerprint und eine leere Labelliste an, um alle Labels zu entfernen, oder geben Sie eine Liste mit den Labels an, die Sie beibehalten möchten. Geben Sie in diesem Fall nicht die Labels an, die Sie entfernen möchten. Durch das folgende Snippet werden beispielsweise alle Labels von der VM entfernt:

POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/setLabels

{
 "labels": { },
 "labelFingerprint": "42WmSpB8rSM="
}

Suchanfragen mit Labels filtern

Mit der Cloud Console, dem gcloud-Tool oder der Compute Engine API können Sie Ihre Ressourcen suchen und Ergebnisse nach Labels filtern. Verwenden Sie das gcloud-Tool oder die Compute Engine API, um Weiterleitungsregeln nach Labels zu filtern.

Console

  1. Rufen Sie die Ressourcenseite auf, für die Sie eine gefilterte Liste von Ressourcen abrufen möchten.

    • VM-Instanzen finden Sie unter VM-Instanzen.
    • Informationen zu Snapshots finden Sie unter Snapshots.
    • Rufen Sie für Images Images auf.
    • Informationen zu Laufwerken finden Sie unter Laufwerke.
    • Informationen zu statischen externen IP-Adressen finden Sie unter Externe IP-Adressen.
    • Informationen zu VPN-Tunneln finden Sie unter VPN.
  2. Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken auf Weiter.

  3. Geben Sie in der Suchleiste Ihren Schlüssel, Wert oder Ihr Schlüssel/Wert-Paar ein. Die Ergebnisse enthalten auch teilweise Übereinstimmungen.

    Wenn Sie beispielsweise nur Ressourcen mit dem Label env:dev anzeigen lassen möchten, können Sie eine der folgenden Optionen eingeben:

    • Schlüssel eingeben: env
    • Geben Sie den Wert ein: dev
    • Geben Sie das Schlüssel/Wert-Paar ein: env:dev

gcloud

Um nach Labels zu filtern, verwenden Sie den Unterbefehl list der folgenden Ressourcen mit dem Flag --filter:

Der Wert des Flags --filter muss im Format labels.KEY=VALUE angegeben werden. Wenn Sie beispielsweise nach einem Label mit env als Schlüssel und dev als Wert filtern möchten, können Sie folgenden Befehl ausführen:

gcloud compute instances list \
    --filter labels.env=dev

Weitere Informationen zur Filtersyntax im gcloud-Tool finden Sie in der Dokumentation zu gcloud topic filters.

API

Um Ressourcen zu filtern, senden Sie eine GET-Anfrage an die Methode list der folgenden Ressourcen mit einem URL-codierten Abfrageparameter filter:

Wenn Sie z. B. nach einem Label env:dev filtern möchten, stellen Sie die folgende GET-Anfrage mit filter=labels.env+eq+dev im Abfragestring:

GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/list?filter=labels.env+eq+dev

Weitere Informationen finden Sie in der filter-Dokumentation in der Referenz zur Compute Engine API.

Beziehung zwischen VM-Labels und Netzwerk-Tags

In der Vergangenheit waren Labels und Tags verwandt. Wenn Sie einer VM beispielsweise ein webserver:test-Label hinzugefügt haben, fügte Compute Engine der VM automatisch ein webserver-Tag hinzu.

Jetzt sind Labels und Tags getrennt. Wenn Sie ein Label auf einer VM erstellen, wird von Compute Engine kein Tag für die VM erstellt. Wenn Sie ein Tag auf einer VM erstellen müssen, müssen Sie das Tag manuell erstellen.

Weitere Informationen zum Erstellen von Tags finden Sie unter Netzwerk-Tags.

Nächste Schritte