Attribuer des libellés à des ressources

Les libellés sont un moyen simple de regrouper les ressources liées ou associées. Par exemple, une pratique courante consiste à ajouter un libellé différent pour les ressources destinées à la production, à la préparation ou au développement. Vous pouvez ainsi rechercher facilement les ressources appartenant à chaque étape de développement lorsque cela est nécessaire. Vos libellés peuvent indiquer vmrole:webserver, environment:production, location:west, etc. Ajoutez toujours des libellés sous forme de paires clé/valeur :

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

Vous pouvez appliquer des libellés aux ressources suivantes :

  • Instances de machines virtuelles
  • Règles de transfert (alpha)
  • Images
  • Disques persistants
  • Instantanés de disque persistant
  • Adresses IP externes statiques (alpha)
  • Tunnels VPN (alpha)

Après avoir ajouté des libellés à vos ressources, vous pouvez tirer parti des fonctionnalités telles que le filtrage imbriqué pour effectuer des recherches plus précises sur vos ressources avec des libellés.

Avant de commencer

Restrictions

  • Vous pouvez affecter jusqu'à 64 libellés à chaque ressource.
  • Les ressources répertoriées comme alpha ne sont pas encore compatibles avec gcloud ou la console Google Cloud Platform. Servez-vous plutôt de l'API alpha afin de définir des libellés pour ces ressources.
  • Les clés et valeurs des libellés doivent respecter les restrictions suivantes :

    • Les clés et les valeurs ne peuvent pas dépasser 63 caractères chacune.
    • Les clés et les valeurs ne peuvent contenir que des lettres minuscules, des caractères numériques, des traits de soulignement et des tirets. Les caractères internationaux sont acceptés.
    • Les clés des libellés doivent commencer par une lettre minuscule, et les caractères internationaux sont autorisés.
    • Les libellés ne peuvent pas être vides.

Créer des ressources avec des libellés

Lors de la création d'une ressource, vous pouvez appliquer des libellés à cette ressource.

Console

  1. Accédez à la page "Créer une instance".

    Accéder à la page "Créer une instance"

  2. Développez la section Gestion, sécurité, disques, mise en réseau et location unique.
  3. Sous Gestion, indiquez les libellés à ajouter à cette ressource.
  4. Poursuivez le processus de création.

gcloud

Lors de la création de votre ressource, incluez l'indicateur --labels, suivi d'une liste de paires clé/valeur séparées par des virgules correspondant aux libellés. Exemple :

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

Le même indicateur s'applique lors de la création d'images et de disques.

API

Dans l'API, lors de la requête POST pour l'ajout d'une nouvelle ressource, ajoutez la propriété labels dans le corps de la requête afin d'appliquer des libellés à la nouvelle ressource. Par exemple, le corps de la requête pour créer une instance de VM comporte les libellés suivants :

body = {
  "name": "[INSTANCE_NAME]",
  "machineType": "zones/[ZONE]/machineTypes/[MACHINE_TYPE]",
   ...,
  "labels": [{
    "key": "webserver",
    "value": "backend"
    },
    {
    "key": "media",
    "value": "images"
   }]
 }

La même propriété peut être appliquée lors de la création d'images et de disques.

Ajouter ou mettre à jour des libellés sur des ressources existantes

Vous pouvez ajouter des libellés ou mettre à jour des libellés existants sur des ressources.

Console

  1. Accédez à la page correspondant à la ressource pour laquelle vous souhaitez ajouter des libellés.
    • Pour les instances, accédez à la page Instances de VM.
    • Pour les disques, accédez à la page Disques.
    • Pour les instantanés, accédez à la page Instantanés.
    • Pour les images, accédez à la page Images.
  2. Cochez les cases à côté des ressources auxquelles ajouter un libellé.
  3. Cliquez sur Afficher le panneau d'informations pour développer la colonne des libellés.
  4. Mettez à jour les libellés ou ajoutez-en de nouveaux, selon vos besoins.
  5. Enregistrez les modifications.

gcloud

À l'aide de l'outil de ligne de commande gcloud, exécutez la sous-commande update avec l'indicateur --update-labels pour ajouter ou modifier un libellé. Par exemple, pour ajouter un libellé à un disque, utilisez la sous-commande gcloud compute disks update [DISK] --update-labels :

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

Si vous fournissez une clé de libellé qui existe déjà, l'outil met à jour la clé existante avec la nouvelle valeur de libellé. Si vous fournissez une nouvelle clé, l'outil l'ajoute à la liste des libellés.

Pour les instances, les instantanés et les images, exécutez la commande gcloud compute instances, gcloud compute snapshots ou gcloud compute images.

API

Pour ajouter ou mettre à jour des libellés, envoyez une requête POST à la méthode setLabels de la ressource appropriée avec la dernière empreinte et la liste complète des libellés à appliquer.

Comme pour les métadonnées et les tags, si la ressource comprend des libellés existants à conserver, vous devez inclure ces libellés dans la requête, ainsi que les nouveaux libellés à ajouter.

Par exemple, une requête est envoyée à la méthode setLabels d'une instance dans l'extrait suivant. Vous pouvez également envoyer une requête à la méthode setLabels d'un disque, d'un instantané ou d'une image :

Request

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

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

De même, vous pouvez ajouter des libellés aux ressources lors de la création de la ressource en spécifiant l'objet labels.

Obtenir l'empreinte d'un libellé pour les requêtes API

Lors de la mise à jour ou de l'ajout de libellés dans l'API, vous devez fournir les empreintes les plus récentes des libellés avec votre requête, afin d'éviter tout conflit avec d'autres requêtes. Cette exigence ne s'applique qu'aux requêtes API. La console GCP et l'outil gcloud ne nécessitent pas d'empreinte.

Pour obtenir la toute dernière empreinte des libellés afin d'envoyer votre requête, exécutez une requête GET sur la ressource concernée. Par exemple, l'extrait suivant renvoie labelsFingerprint pour une instance. Vous pouvez envoyer une requête similaire sur un disque, un instantané ou une image.

Recherchez la propriété labelFingerprint :

Request

GET https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance
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="
}

Supprimer un libellé

Console

  1. Accédez à la page correspondant à la ressource pour laquelle vous souhaitez ajouter des libellés.
    • Pour les instances, accédez à la page Instances de VM.
    • Pour les disques, accédez à la page Disques.
    • Pour les instantanés, accédez à la page Instantanés.
    • Pour les images, accédez à la page Images.
  2. Cochez les cases à côté des ressources pour lesquelles vous souhaitez supprimer des libellés.
  3. Cliquez sur Afficher le panneau d'informations pour développer la colonne des libellés.
  4. Cliquez sur X à côté de tous les libellés à supprimer.
  5. Enregistrez les modifications.

gcloud

À l'aide de l'outil de ligne de commande gcloud, exécutez la commande update avec l'indicateur --remove-labels. Fournissez un ensemble de clés de libellés à supprimer. Exemple :

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

Pour les instantanés et les images, utilisez la collection gcloud compute snapshots ou gcloud compute images.

API

Dans l'API, envoyez une requête POST à la méthode setLabels de la ressource d'API appropriée : instances, disks ou snapshots.

Fournissez les valeurs labelsFingerprint actuelles et une liste vide de libellés pour supprimer tous les libellés, ou fournissez une liste de libellés à conserver (en omettant les libellés à supprimer). Exemple :

Request

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

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

Filtrer les résultats de recherche à l'aide de libellés

Vous pouvez rechercher des ressources et filtrer les résultats par libellé.

Console

  1. Accédez à la page correspondant à la ressource pour laquelle vous souhaitez ajouter des libellés.
    • Pour les instances, accédez à la page Instances de VM.
    • Pour les disques, accédez à la page Disques.
    • Pour les instantanés, accédez à la page Instantanés.
    • Pour les images, accédez à la page Images.
    • Si vous y êtes invité, sélectionnez votre projet et cliquez sur Continuer.
    • Dans la barre de recherche, saisissez labels. pour que la liste des libellés que vous pouvez utiliser comme filtre s'affiche automatiquement.

gcloud

Dans gcloud, exécutez une requête list en ajoutant l'indicateur --filter. Pour filtrer les résultats à l'aide des libellés, utilisez la syntaxe labels.key=[VALUE]. Par exemple, si vous souhaitez filtrer les résultats à l'aide d'un libellé dont la clé est env et la valeur dev, vous pouvez exécuter la commande suivante :

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

Pour obtenir la documentation complète sur la syntaxe du filtre dans l'outil gcloud, consultez la documentation relative à gcloud topic filters.

API

Dans l'API, exécutez une requête "list" en définissant une URL encodée comme paramètre filter. Par exemple, pour afficher les résultats ayant une clé de libellé env égale à la valeur dev, exécutez la requête GET suivante :

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

Pour en savoir plus, consultez la documentation relative au paramètre filter dans la documentation de référence de l'API.

Relation entre les libellés d'instance et les tags réseau

Auparavant, libellés et tags étaient liés. Par exemple, si vous ajoutiez un libellé webserver:test à une instance de VM, Compute Engine ajoutait automatiquement un tag webserver à l'instance.

Désormais, libellés et tags sont séparés. Si vous créez un libellé sur une instance, Compute Engine ne crée pas de tag pour cette instance. Si vous devez créer un tag sur une instance, vous devez le créer manuellement.

Pour apprendre à créer des tags, consultez la page Tags réseau.

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine