Organizar recursos mediante etiquetas.


Las etiquetas son pares clave-valor que se pueden utilizar en Google Cloud para agrupar recursos relacionados o asociados. Por ejemplo, en Compute Engine, puedes usar etiquetas para agrupar VM en categorías como producción, puesta en escena o desarrollo para que puedas buscar recursos que pertenecen a cada etapa de desarrollo.

Después de agregar etiquetas a sus recursos, puede aprovechar la función de filtrado anidado para realizar búsquedas más precisas de sus recursos mediante etiquetas.

Antes de comenzar

  • Lea la documentación de discos persistentes .
  • Lea la documentación de imágenes .
  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

¿Qué son las etiquetas?

Una etiqueta es un par clave-valor que puede asignar a Google Cloud instancias. Le ayudan a organizar estos recursos y gestionar sus costos a escala, con la granularidad que necesita. Puede adjuntar una etiqueta a cada recurso y luego filtrar los recursos según sus etiquetas. La información sobre las etiquetas se envía al sistema de facturación que le permite desglosar los cargos facturados por etiqueta. Con los informes de facturación integrados, puede filtrar y agrupar costos por etiquetas de recursos. También puedes utilizar etiquetas para consultar las exportaciones de datos de facturación .

Requisitos para etiquetas

Las etiquetas aplicadas a un recurso deben cumplir los siguientes requisitos:

  • Cada recurso puede tener hasta 64 etiquetas.
  • Cada etiqueta debe ser un par clave-valor.
  • Las claves tienen una longitud mínima de 1 carácter y una longitud máxima de 63 caracteres y no pueden estar vacías. Los valores pueden estar vacíos y tener una longitud máxima de 63 caracteres.
  • Las claves y los valores solo pueden contener letras minúsculas, caracteres numéricos, guiones bajos y guiones. Todos los caracteres deben utilizar codificación UTF-8 y se permiten caracteres internacionales. Las claves deben comenzar con una letra minúscula o un carácter internacional.
  • La parte clave de una etiqueta debe ser única dentro de un único recurso. Sin embargo, puede utilizar la misma clave con varios recursos.

Estos límites se aplican a la clave y al valor de cada etiqueta, y a la clave individual. Google Cloud Recursos que tienen etiquetas. No hay límite en la cantidad de etiquetas que puede aplicar en todos los recursos dentro de un proyecto.

Usos comunes de las etiquetas.

A continuación se muestran algunos casos de uso comunes de las etiquetas:

  • Etiquetas de equipo o centro de costos : agregue etiquetas basadas en el equipo o centro de costos para distinguir instancias propiedad de diferentes equipos (por ejemplo, team:research y team:analytics ). Puede utilizar este tipo de etiqueta para la contabilidad de costos o la elaboración de presupuestos.

  • Etiquetas de componentes : por ejemplo, component:redis , component:frontend , component:ingest y component:dashboard .

  • Etiquetas de entorno o escenario : por ejemplo, environment:production y environment:test .

  • Etiquetas de estado : por ejemplo, state:active , state:readytodelete y state:archive .

  • Etiquetas de propiedad : se utilizan para identificar los equipos responsables de las operaciones, por ejemplo: team:shopping-cart .

  • Etiquetas de máquinas virtuales : se puede adjuntar una etiqueta a una máquina virtual. Las etiquetas de máquinas virtuales que definió en el pasado aparecen como una etiqueta sin valor.

No recomendamos crear una gran cantidad de etiquetas únicas, como marcas de tiempo o valores individuales para cada llamada a la API. El problema con este enfoque es que cuando los valores cambian con frecuencia o con claves que saturan el catálogo, esto dificulta filtrar e informar eficazmente sobre los recursos.

Etiquetas y etiquetas

Las etiquetas se pueden usar como anotaciones consultables para recursos, pero no se pueden usar para establecer condiciones en políticas. Las etiquetas proporcionan una forma de permitir o denegar condicionalmente políticas en función de si un recurso tiene una etiqueta específica, al proporcionar un control detallado sobre las políticas. Para obtener más información, consulte la descripción general de etiquetas .

Usar etiquetas en Compute Engine

Puedes aplicar etiquetas a los siguientes recursos de Compute Engine:

  • Instancias de máquinas virtuales (VM)
  • Imágenes
  • Discos persistentes
  • Instantáneas de disco persistentes

También puedes usar etiquetas en temas relacionados. Google Cloud componentes como los siguientes:

Por ejemplo, puede agregar las siguientes etiquetas como pares clave-valor a sus recursos:

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

Crear recursos con etiquetas

Al crear un nuevo recurso, puede aplicar etiquetas al recurso.

Consola

  1. Vaya a la página de recursos que desea crear.

  2. En Etiquetas , haga clic en Agregar etiqueta .

  3. Continuar con el proceso de creación.

nube de gcloud

Para agregar una etiqueta, use el subcomando create con el indicador --labels . Puedes agregar etiquetas a los recursos de Compute Engine usando los siguientes comandos gcloud :

Ejemplo

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

API

En la API, durante la solicitud POST para agregar un nuevo recurso, agregue la propiedad labels en el cuerpo de la solicitud para aplicar etiquetas al nuevo recurso.

Por ejemplo, el siguiente fragmento realiza una solicitud POST para crear una instancia de VM con las etiquetas webserver:backend y media:images :

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": {
   "webserver": "backend",
   "media": "images"
  }
}

Agregar o actualizar etiquetas a recursos existentes

Puedes agregar etiquetas o actualizar etiquetas existentes en recursos mediante la consola de Google Cloud, la CLI de gcloud o la API de Compute Engine. Para agregar o actualizar etiquetas para reglas de reenvío, usa la CLI de gcloud o la API de Compute Engine.

Consola

  1. Vaya a la página de recursos para la que desea agregar etiquetas.

  2. Seleccione las casillas de verificación junto a los recursos que desea etiquetar.

  3. Para expandir la columna de etiquetas, haga clic en Mostrar panel de información .

  4. En el panel, seleccione Etiquetas .

  5. Para agregar etiquetas, haga clic en Agregar etiqueta y agregue el par clave-valor.

  6. Para actualizar etiquetas, seleccione las etiquetas existentes y modifique sus valores.

  7. Guarde sus cambios.

nube de gcloud

Para agregar o cambiar una etiqueta, use el subcomando update con el indicador --update-labels . Puedes actualizar las etiquetas de los recursos de Compute Engine usando los siguientes comandos gcloud :

Ejemplo

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

Si proporciona una clave de etiqueta que ya existe, la CLI de Google Cloud actualiza la clave existente con el nuevo valor de etiqueta. Si proporciona una nueva clave, la herramienta agrega la nueva clave a la lista de etiquetas.

API

Para agregar o actualizar etiquetas, realice una solicitud POST al método setLabels del recurso con la última huella digital y una lista completa de etiquetas para aplicar:

De manera similar a los metadatos y las etiquetas, si el recurso tiene etiquetas existentes que desea conservar, debe incluir esas etiquetas en la solicitud, junto con cualquier etiqueta nueva que desee agregar.

Por ejemplo, el siguiente fragmento realiza una solicitud POST a una instancia de VM para establecer etiquetas environment:test y an-existing-tag:yes :

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="
}

Ver etiquetas

Puedes ver las etiquetas de los recursos mediante la consola de Google Cloud, la CLI de gcloud o la API de Compute Engine. Para ver etiquetas para reglas de reenvío, usa la CLI de gcloud o la API de Compute Engine.

Consola

  1. Vaya a la página de recursos.

  2. Haga clic en el recurso para ver sus detalles.

  3. Localizar etiquetas .

nube de gcloud

Para ver etiquetas, utilice el subcomando describe . Puedes ver las etiquetas de los recursos de Compute Engine usando los siguientes comandos gcloud :

Ejemplo

gcloud compute disks describe example-disk

La salida contiene las etiquetas:

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

API

Para recuperar etiquetas, realice una solicitud GET al siguiente recurso:

Por ejemplo, el siguiente fragmento realiza una solicitud GET para recuperar etiquetas para una instancia de VM:

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

Reemplace lo siguiente:

  • PROJECT_ID : el ID del proyecto
  • ZONE : la zona de la VM
  • VM_NAME : el nombre de la VM

Obtenga una huella digital de etiqueta para solicitudes de API

Al actualizar o agregar etiquetas en la API, debe proporcionar la huella digital de las etiquetas más recientes con su solicitud para evitar conflictos con otras solicitudes. Solo se requiere una huella digital para solicitudes de API; la consola de Google Cloud y la herramienta CLI de Google Cloud no requieren una huella digital.

Para obtener las últimas labelsFingerprint , realice una solicitud GET a los siguientes recursos:

Por ejemplo, el siguiente fragmento obtiene una labelsFingerprint para una instancia de VM:

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

La respuesta contiene la propiedad 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="
}

Quitar una etiqueta

Puedes eliminar etiquetas de los recursos mediante la consola de Google Cloud, la CLI de gcloud o la API de Compute Engine. Para eliminar etiquetas para reglas de reenvío, usa la CLI de gcloud o la API de Compute Engine.

Consola

  1. Vaya a la página de recursos cuyas etiquetas desea eliminar.

  2. Seleccione las casillas de verificación junto a los recursos para los que desea eliminar etiquetas.

  3. Para expandir la columna de etiquetas, haga clic en Mostrar panel de información .

  4. Para eliminar una etiqueta, haga clic en Eliminar .

  5. Guarde sus cambios.

nube de gcloud

Para agregar o cambiar una etiqueta, use el subcomando update con el indicador --remove-labels . Puedes eliminar etiquetas de los recursos de Compute Engine usando los siguientes comandos gcloud :

Ejemplo

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

API

Para eliminar etiquetas, realice una solicitud POST al método setLabels del siguiente recurso con la huella digital más reciente y una lista completa de etiquetas para aplicar:

Proporcione las labelsFingerprint actuales Huella digital y una lista vacía de etiquetas para eliminar todas las etiquetas, o proporcione una lista de etiquetas que desea conservar (omitiendo las etiquetas que desea eliminar). Por ejemplo, el siguiente fragmento elimina todas las etiquetas de la máquina virtual:

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

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

Filtrar búsquedas usando etiquetas

Puedes buscar tus recursos y filtrar los resultados por etiquetas usando la consola de Google Cloud, la CLI de gcloud o la API de Compute Engine. Para filtrar reglas de reenvío por etiquetas, usa la CLI de gcloud o la API de Compute Engine.

Consola

  1. Vaya a la página de recursos para la que desea obtener una lista filtrada de recursos.

  2. Si se le solicita, seleccione su proyecto y haga clic en Continuar .

  3. En la barra de búsqueda, ingrese su clave, valor o par clave-valor. Sus resultados incluyen cualquier coincidencia parcial.

    Por ejemplo, para mostrar solo recursos con la etiqueta env:dev , puede ingresar cualquiera de los siguientes:

    • Ingrese la clave: env
    • Introduzca el valor: dev
    • Ingrese el par clave-valor: env:dev

nube de gcloud

Para filtrar según etiquetas, utilice el subcomando list de los siguientes recursos con el indicador --filter :

El valor del indicador --filter debe estar en las labels. KEY = VALUE . Por ejemplo, si desea filtrar por una etiqueta con env como clave y dev como valor, puede ejecutar este comando:

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

Para obtener más información sobre la sintaxis de filtro en la CLI de gcloud, consulta la documentación gcloud topic filters .

API

Para filtrar recursos, realice una solicitud GET al método list de los siguientes recursos e incluya el campo de filtro:

Por ejemplo, para enumerar todas las máquinas virtuales en el proyecto myproject y la zona us-central1-a con una etiqueta que tiene un par clave-valor de env:dev , configure el campo de filtro en labels.env:dev en su solicitud list . Si incluye el campo de filtro como parámetro de cadena de consulta, utilice un valor de parámetro codificado en URL, filter=labels.env%3Adev :

GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances?filter=labels.env%3Adev

Para obtener más información, lee la documentación filter en la referencia de la API de Compute Engine.

Relación entre etiquetas de VM y etiquetas de red

En el pasado, las etiquetas y las etiquetas estaban relacionadas. Por ejemplo, si agregaste una etiqueta webserver:test a una VM, Compute Engine agregó automáticamente una etiqueta webserver a la VM.

Ahora, las etiquetas y los rótulos están separados. Si crea una etiqueta en una VM, Compute Engine no crea una etiqueta para la VM. Si necesita crear una etiqueta en una máquina virtual, debe crearla manualmente.

Para aprender a crear etiquetas, consulte Etiquetas de red .

¿Qué sigue?