Uso delle etichette per l'organizzazione delle risorse

Le etichette sono coppie chiave-valore che possono essere utilizzate su Google Cloud per raggruppare o risorse associate. Ad esempio, in Compute Engine puoi utilizzare le etichette per raggruppare le VM in categorie come produzione, gestione temporanea o sviluppo, in modo che puoi cercare risorse che appartengono a ciascuna fase di sviluppo.

Dopo aver aggiunto le etichette alle risorse, puoi sfruttare i di filtro per eseguire ricerche più precise per tramite le etichette.

Prima di iniziare

  • Leggi i dischi permanenti documentazione.
  • Leggi la documentazione relativa alle immagini.
  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è la procedura di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

    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. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

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

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per maggiori informazioni, consulta Autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Cosa sono le etichette?

Un'etichetta è una coppia chiave-valore che puoi assegnare alle istanze Google Cloud. Aiutano a organizzare queste risorse e a gestire i costi su larga scala, con la granularità di cui hai bisogno. Puoi collegare un'etichetta a ogni risorsa, quindi filtrare a risorse in base alle loro etichette. Le informazioni sulle etichette vengono inoltrate al sistema di fatturazione che ti consente di suddividere gli addebiti fatturati per etichetta. Grazie ai report sulla fatturazione integrati, puoi filtrare e raggruppare i costi per etichette delle risorse. Puoi utilizzare le etichette anche eseguire query sulle esportazioni dei dati di fatturazione.

Requisiti per le etichette

Le etichette applicate a una risorsa devono soddisfare i seguenti requisiti requisiti:

  • Ogni risorsa può avere fino a 64 etichette.
  • Ogni etichetta deve essere una coppia chiave-valore.
  • Le chiavi hanno una lunghezza minima di 1 carattere e una lunghezza massima di 63 e non può essere vuoto. I valori possono essere vuoti e avere una lunghezza massima di 63 caratteri.
  • Le chiavi e i valori possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Tutti i caratteri devono utilizzare la codifica UTF-8 e sono consentiti caratteri internazionali. Le chiavi devono iniziare con una lettera minuscola o internazionale.
  • La parte della chiave di un'etichetta deve essere univoca all'interno di una singola risorsa. Tuttavia, puoi utilizzare la stessa chiave con più risorse.

Questi limiti si applicano alla chiave e al valore per ciascuna etichetta e al alle singole risorse Google Cloud con etichette. Là non esiste un limite al numero di etichette che puoi applicare a tutte le risorse all'interno di un progetto.

Utilizzi comuni delle etichette

Ecco alcuni casi d'uso comuni per le etichette:

  • Etichette del team o del centro di costo: aggiungi etichette in base al team o centro di costo per distinguere le istanze di proprietà team (ad es. team:research e team:analytics). Puoi utilizzare questo tipo di etichetta per la contabilizzazione dei costi o la definizione del budget.

  • Etichette dei componenti: ad esempio, component:redis, component:frontend, component:ingest e component:dashboard.

  • Etichette dell'ambiente o della fase: ad esempio, environment:production e environment:test.

  • Etichette degli stati: ad esempio state:active, state:readytodelete e state:archive.

  • Etichette di proprietà: utilizzate per identificare i team che sono responsabile delle operazioni, ad esempio: team:shopping-cart.

  • Etichette della macchina virtuale: è possibile applicare un'etichetta alle di una macchina virtuale. I tag delle macchine virtuali che hai definito in passato appaiono come etichetta senza un valore.

Sconsigliamo di creare un numero elevato di etichette univoche, ad esempio: per timestamp o singoli valori per ogni chiamata API. Il problema di questo approccio è che quando i valori cambiano spesso o con che ingombrano il catalogo, rendendo difficile l'applicazione di filtri e e creare report sulle risorse.

Etichette e tag

Le etichette possono essere utilizzate come annotazioni interrogabili per le risorse, ma non possono essere utilizzate per impostare delle condizioni sui criteri. I tag offrono un modo per consentire o di negare i criteri in base al fatto che una risorsa abbia un tag specifico, fornendo controllo sui criteri. Per ulteriori informazioni, consulta Panoramica dei tag.

Utilizzo delle etichette in Compute Engine

Puoi applicare etichette alle seguenti risorse Compute Engine:

  • Istanze di macchine virtuali (VM)
  • Immagini
  • Dischi permanenti
  • Snapshot di dischi permanenti

Puoi utilizzare le etichette anche sui componenti Google Cloud correlati, come seguenti:

Ad esempio, puoi aggiungere le seguenti etichette sotto forma di coppie chiave-valore di risorse:

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

Creare risorse con le etichette

Quando crei una nuova risorsa, puoi applicare le etichette alla risorsa.

Console

  1. Vai alla pagina delle risorse che vuoi creare.

  2. In Etichette, fai clic su Aggiungi etichetta.

  3. Continua con il processo di creazione.

gcloud

Per aggiungere un'etichetta, utilizza il sottocomando create con il flag --labels. Tu possono aggiungere etichette alle risorse Compute Engine utilizzando seguenti comandi gcloud:

Esempio

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

API

Nell'API, durante la richiesta POST di aggiungere una nuova risorsa, aggiungi il metodo labels nel corpo della richiesta per applicare le etichette alla nuova risorsa.

Ad esempio, il seguente snippet invia una richiesta POST per creare una VM istanza con le etichette webserver:backend e 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"
  }
}

Aggiungere o aggiornare le etichette di risorse esistenti

Puoi aggiungere etichette o aggiornare le etichette esistenti sulle risorse utilizzando Console Google Cloud, gcloud CLI o l'API Compute Engine. Per aggiungere o aggiornare le etichette per le regole di forwarding, utilizza gcloud CLI o l'API Compute Engine.

Console

  1. Vai alla pagina delle risorse per cui vuoi aggiungere etichette.

  2. Seleziona le caselle di controllo accanto alle risorse che vuoi etichettare.

  3. Per espandere la colonna delle etichette, fai clic su Mostra riquadro informazioni.

  4. Nel riquadro, seleziona Etichette.

  5. Per aggiungere etichette, fai clic su Aggiungi l'etichetta e aggiungi la coppia chiave-valore.

  6. Per aggiornare le etichette, seleziona le etichette esistenti e modifica i relativi valori.

  7. Salva le modifiche.

gcloud

Per aggiungere o modificare un'etichetta, utilizza il sottocomando update con il Flag --update-labels. Puoi aggiornare le etichette per Compute Engine di risorse usando i seguenti comandi gcloud:

Esempio

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

Se fornisci una chiave di etichetta già esistente, Google Cloud CLI si aggiorna la chiave esistente con il nuovo valore dell'etichetta. Se fornisci una nuova chiave, aggiunge la nuova chiave all'elenco di etichette.

API

Per aggiungere o aggiornare le etichette, invia una richiesta POST alla Metodo setLabels della risorsa con l'impronta più recente e un elenco completo di etichette da applicare:

Simile a metadati e tag, se la risorsa ha etichette esistenti che vuoi devi includere nella richiesta queste etichette, insieme a eventuali nuove etichette che desideri aggiungere.

Ad esempio, il seguente snippet invia una richiesta POST a un'istanza VM per impostare le etichette environment:test e 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="
}

Visualizza etichette

Puoi visualizzare le etichette delle risorse utilizzando la console Google Cloud, gcloud CLI o l'API Compute Engine. Per visualizzare le etichette per le regole di forwarding, utilizza gcloud CLI o l'API Compute Engine.

Console

  1. Vai alla pagina delle risorse.

  2. Fai clic sulla risorsa per visualizzarne i dettagli.

  3. Individua Etichette.

gcloud

Per visualizzare le etichette, utilizza il sottocomando describe. Puoi visualizzare le etichette per alle risorse di Compute Engine mediante seguenti comandi gcloud:

Esempio

gcloud compute disks describe example-disk

L'output contiene le etichette:

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

API

Per recuperare le etichette, effettua una richiesta GET alla seguente risorsa:

Ad esempio, il seguente snippet invia una richiesta GET per recuperare le etichette per un'istanza VM:

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

Sostituisci quanto segue:

  • PROJECT_ID: ID progetto
  • ZONE: la zona della VM
  • VM_NAME: il nome della VM

Recupero di un'impronta digitale dell'etichetta per le richieste API

Quando aggiorni o aggiungi etichette nell'API, devi fornire le etichette più recenti fingerprint con la tua richiesta, per evitare conflitti con altre richieste. L'impronta è richiesta solo per le richieste API. la console Google Cloud e Lo strumento Google Cloud CLI non richiede l'impronta.

Per ricevere l'ultima versione di labelsFingerprint, effettua una richiesta GET a questo indirizzo di risorse:

Ad esempio, il seguente snippet ottiene un labelsFingerprint per un'istanza VM:

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

La risposta contiene la proprietà 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="
}

Rimuovere un'etichetta

Puoi rimuovere le etichette dalle risorse utilizzando la console Google Cloud, gcloud CLI o l'API Compute Engine. Per rimuovere le etichette per le regole di forwarding, utilizza gcloud CLI o l'API Compute Engine.

Console

  1. Vai alla pagina delle risorse per cui vuoi rimuovere le etichette.

  2. Seleziona le caselle di controllo accanto alle risorse da rimuovere etichette.

  3. Per espandere la colonna delle etichette, fai clic su Mostra riquadro informazioni.

  4. Per eliminare un'etichetta, fai clic su Elimina.

  5. Salva le modifiche.

gcloud

Per aggiungere o modificare un'etichetta, utilizza il sottocomando update con il Flag --remove-labels. Puoi rimuovere le etichette per lCompute Engine di risorse usando i seguenti comandi gcloud:

Esempio

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

API

Per rimuovere le etichette, effettua una richiesta POST al metodo setLabels del la seguente risorsa con l'ultima fingerprint e un elenco completo di etichette da applicare:

Fornisci il valore labelsFingerprint corrente e un elenco vuoto di etichette a rimuovere tutte le etichette o fornire un elenco di etichette da conservare (omettendo le etichette da rimuovere). Ad esempio, il seguente snippet rimuove tutte le etichette della VM:

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

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

Filtrare le ricerche utilizzando le etichette

Puoi cercare le tue risorse e filtrare i risultati in base alle etichette utilizzando il metodo Console Google Cloud, gcloud CLI o l'API Compute Engine. Per filtrare le regole di forwarding tramite etichette, utilizza gcloud CLI l'API Compute Engine.

Console

  1. Vai alla pagina delle risorse per cui vuoi ottenere un elenco filtrato di Google Cloud.

  2. Se richiesto, seleziona il progetto e fai clic su Continua.

  3. Nella barra di ricerca, inserisci la chiave, il valore o la coppia chiave-valore. Il tuo includono corrispondenze parziali.

    Ad esempio, per mostrare solo le risorse con l'etichetta env:dev, puoi inserire uno dei seguenti valori:

    • Inserisci la chiave: env
    • Inserisci il valore: dev
    • Inserisci la coppia chiave-valore: env:dev

gcloud

Per filtrare in base alle etichette, utilizza il sottocomando list del seguente risorse con il flag --filter:

Il valore del flag --filter deve essere nell'intervallo labels.KEY=VALUE formato. Ad esempio, se vuoi applicare un filtro in base a un'etichetta con env come e dev come valore, puoi eseguire questo comando:

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

Per ulteriori informazioni sulla sintassi dei filtri in gcloud CLI, vedi il Documentazione di gcloud topic filters.

API

Per filtrare le risorse, effettua una richiesta GET al metodo list del seguenti risorse e includi il campo del filtro:

Ad esempio, per elencare tutte le VM nel progetto myproject e nella zona us-central1-a con un'etichetta che ha una coppia chiave-valore env:dev, imposta campo di filtro su labels.env:dev nella richiesta list. Se includi il parametro campo di filtro come parametro della stringa di query, utilizzare un valore parametro con codifica URL filter=labels.env%3Adev:

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

Per saperne di più, leggi la documentazione di filter nel riferimento dell'API Compute Engine.

Relazione tra etichette della VM e tag di rete

In passato, etichette e tag erano correlati. Ad esempio, se aggiungi un webserver:test a una VM, Compute Engine automaticamente ha aggiunto un tag webserver alla VM.

Ora etichette e tag sono separati. Se crei un'etichetta su una VM, Compute Engine non crea un tag per la VM. Se devi creare un tag su una VM, devi creare il tag manualmente.

Per informazioni su come creare i tag, consulta Tag di rete.

Passaggi successivi