Como marcar ou aplicar tags em recursos

Para organizar seu projeto, adicione marcadores arbitrários aos recursos. Adicione-os para indicar diferentes ambientes, serviços, equipes e assim por diante. Com os marcadores, você também se beneficia de recursos como a filtragem aninhada para fazer pesquisas de recursos mais precisas posteriormente.

Além dos marcadores, também atribua tags às instâncias usadas nas redes. Elas não podem ser usadas em outros recursos, somente em instâncias. Regras de firewall e rotas podem usar essas tags.

Antes de começar

Atribuir marcadores aos recursos

O marcador é uma maneira leve de agrupar recursos relacionados ou associados uns aos outros. Por exemplo, uma prática comum é usá-lo para separar os recursos destinados à produção, testes ou desenvolvimento. Isso facilita a busca por recursos pertencentes a cada estágio de desenvolvimento. Esses marcadores são adicionados como pares de chave/valor.

Aplique marcadores a estes recursos:

  • instâncias de máquina virtual
  • discos permanentes
  • instantâneos de disco permanente
  • imagens

Restrições

  • Só é possível gerenciar os marcadores com a Compute Engine Beta API ou o Console do Google Cloud Platform. Atualmente, os marcadores não são compatíveis com a ferramenta de linha de comando gcloud.
  • Atribua até 64 marcadores a cada recurso.
  • Só use marcadores em instâncias, discos, instantâneos e imagens.

Relação entre marcadores e tags de instância

As tags de instância são usadas em redes, ao passo que os marcadores são usados para organizar e agrupar entidades relacionadas. Use os mesmos valores para as duas coisas para simplificar os seus requisitos organizacionais e de rede.

As tags e marcadores são projetados para que, quando uma tag é adicionada, um marcador vazio também é adicionado. Por outro lado, quando você adiciona um marcador, a chave dele é adicionada à instância como uma tag. Rotas e firewalls não usam marcadores, mas reconhecerão as tags associadas. Quando você atualiza tags ou marcadores, as mesmas alterações são aplicadas à outra propriedade.

Imagine um cenário no qual isso seria um recurso útil. Em um website com instâncias de front-end e back-end, atribua os seguintes marcadores às instâncias de front-end:

  • webserver-frontend:homepage
  • webserver-frontend:videos
  • webserver-frontend:downloads
  • webserver-frontend:images

Quando você adiciona esses marcadores às instâncias, a chave webserver-frontend é adicionada como uma tag a cada instância. Use a tag para aplicar configurações de rota e de firewall a todas as instâncias com essa tag. Além disso, valores de marcadores são uma maneira simples, porém eficiente, de monitorar qual instância de máquina virtual é a responsável pela hospedagem de cada tipo de conteúdo.

Uma dessas instâncias pode ser descrita da seguinte maneira:

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

 "kind": "compute#instance",
 "id": "4392196237934605253",
 ....
 "tags": {
  "items": [
   "webserver-frontend"
  ],
  "fingerprint": "p1ty_9HoBk0="
 ...
 "labels": {
  "webserver-frontend": "videos"
 },
 "labelFingerprint": "p1ty_9HoBk0="
}

Usar marcadores em instâncias

Adicione marcadores às instâncias para organizá-las e gerenciá-las de modo mais eficiente do que somente com os nomes delas. Ao adicionar marcadores a uma instância, você automaticamente adiciona uma tag de instância. Embora a principal função dos marcadores seja a de auxiliá-lo na organização das instâncias e as tags sejam destinadas para uso em redes, entender como eles funcionam em conjunto pode proporcionar um melhor gerenciamento das instâncias.

Para adicionar ou alterar marcadores de uma instância, envie uma solicitação POST para o método instance().setLabels. O corpo da solicitação precisa conter os marcadores que você quer adicionar ou atualizar, bem como o valor labelFingerprint mais recente. De modo similar ao processo de atualização de metadados, uma impressão digital correspondente é necessária para que somente uma atualização seja feita por vez, evitando conflitos com outras solicitações.

Console

  1. Acesse a página Instâncias.
  2. Marque as caixas de seleção referentes às instâncias que terão marcadores adicionados.
  3. Clique no ícone "Marcadores" na parte superior direita da página para adicionar marcadores a essas instâncias:
    Captura de tela do ícone "Marcadores"

API

Cuidado: a atualização dos marcadores também resultará na atualização das tags. Para que as tags atuais não sejam removidas, inclua essas tags como marcadores sem valor.

Para adicionar um marcador, faça uma solicitação para setLabels com a impressão digital mais recente e uma lista completa de marcadores a serem aplicados à instância. Inclua todos os marcadores ou tags existentes que você queira manter:

Request

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

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

  200 OK

{ "kind": "compute#operation", "id": "7267501453944713366", "name": "operation-1442412647955-51fdddd803a39-7b676304-6ad3aeba", "zone": "https://www.googleapis.com/compute/beta/projects/myproject/zones/us-central1-f", "operationType": "setLabels", "targetLink": "https://www.googleapis.com/compute/beta/projects/myproject/zones/us-central1-f/instances/example-instance", "targetId": "3695723120564113978", "status": "PENDING", "user": "user@example.com", "progress": 0, "insertTime": "2015-09-16T07:10:49.402-07:00", "startTime": "2015-09-16T07:10:49.943-07:00", "selfLink": "https://www.googleapis.com/compute/beta/projects/..." }

Como usar marcadores em outros recursos

Aplique os marcadores a discos permanentes, instantâneos e imagens para agrupar os recursos relacionados com facilidade. Adicione um marcador por meio do Console do Google Cloud Platform ou da API. A ferramenta gcloud ainda não é compatível com marcadores.

Console

  1. Acesse a página do recurso no qual deseja adicionar marcadores.
  2. Marque as caixas de seleção referentes aos recursos que terão marcadores adicionados.
  3. Clique no ícone "Marcadores" na parte superior direita da página para adicionar marcadores a esses recursos:
    Captura de tela do ícone "Marcadores"

API

Para adicionar ou atualizar um marcador, envie uma solicitação POST para o método setLabels do recurso apropriado com a impressão digital mais recente e uma lista completa dos marcadores a serem aplicados. Inclua todos os marcadores ou tags que deseja manter.

Por exemplo, no snippet a seguir, uma solicitação foi enviada para o método setLabels de uma instância. Também é possível fazer uma solicitação para o método setLabels de um disco, instantâneo ou imagem:

Request

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

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

  200 OK

{ "kind": "compute#operation", "id": "7267501453944713366", "name": "operation-1442412647955-51fdddd803a39-7b676304-6ad3aeba", "zone": "https://www.googleapis.com/compute/beta/projects/myproject/zones/us-central1-f", "operationType": "setLabels", "targetLink": "https://www.googleapis.com/compute/beta/projects/myproject/zones/us-central1-f/instances/example-instance", "targetId": "3695723120564113978", "status": "PENDING", "user": "user@example.com", "progress": 0, "insertTime": "2015-09-16T07:10:49.402-07:00", "startTime": "2015-09-16T07:10:49.943-07:00", "selfLink": "https://www.googleapis.com/compute/beta/projects/..." }

Receber uma impressão digital de marcador

Ao atualizar ou adicionar marcadores na API, forneça a impressão digital mais recente deles com a sua solicitação para evitar conflitos com outras solicitações. Isso precisa ser feito apenas nas solicitações de API, a impressão digital não é necessária no Console do Cloud Platform.

Para receber a impressão digital de marcador mais atualizada e enviar uma solicitação com essa impressão, execute uma solicitação GET para o recurso correspondente. Por exemplo, no snippet a seguir, você recebe o labelsFingerprint de uma instância. Você pode fazer uma solicitação semelhante para um disco, um instantâneo ou uma imagem.

Veja a propriedade labelFingerprint:

Request

GET https://www.googleapis.com/compute/beta/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/beta/projects/myproject/zones/us-central1-f",
 "status": "RUNNING",
 ...
 "labels": {
  "env": "test"
 },
 "labelFingerprint": "p1ty_9HoBk0="
}

Usar tags em instâncias

Atribua tags para ajudar a aplicar as configurações de rede ou firewall. As tags são usadas por rotas e regras de firewall para identificar a quais instâncias determinadas rotas e regras de firewall se aplicam. Por exemplo, quando há várias instâncias que executam a mesma tarefa, como a veiculação de um site de grandes proporções, use uma tag com uma palavra ou termo compartilhado nessas instâncias. Depois, use essa tag para conceder acesso HTTP às instâncias em questão. As tags também são atualizadas no servidor de metadados. Assim, é possível usá-las nos aplicativos em execução nas instâncias.

Console

  1. Acesse a página Instâncias da VM.
  2. Clique na instância onde deseja adicionar ou atualizar tags.
  3. Em Tags, clique no botão Editar para editá-las.

gcloud

Para atribuir ou atualizar tags em uma instância em execução usando a ferramenta gcloud, use o comando instances add-tags:

gcloud compute instances add-tags INSTANCE --tags tag-1,tag-2

A ferramenta de linha de comando gcloud automaticamente recebe e fornece a fingerprint para a sua solicitação, além de garantir que as tags existentes sejam aplicadas à instância caso não tenham sido explicitamente especificadas. Isso ocorre de modo diferente nas solicitações de API diretas, onde você precisa definir a fingerprint, além de fornecer explicitamente as novas tags e as tags que deseja manter.

API

Cuidado: a atualização de tags na API modifica as tags e, consequentemente, os marcadores existentes. Se você precisa manter essas tags e marcadores, inclua todas as tags que deseja aplicar à instância na sua solicitação. Por exemplo, para adicionar uma my-awesome-vm a uma lista de tags atuais que inclui butter, cheese e milk, verifique se a solicitação contém as quatro tags.

Para atualizar ou adicionar uma tag, envie uma solicitação POST para o método instance().setTags. O corpo da solicitação precisa conter as tags que você deseja adicionar ou atualizar e o valor de fingerprint mais recente. De modo similar ao processo de atualização de metadados, uma impressão digital correspondente é necessária para que somente uma atualização seja feita por vez, evitando conflitos com outras solicitações. Por exemplo:

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

{
 "items": [
  "butter",
  "cheese",
  "milk",
  "my-awesome-vm"
 ],
 "fingerprint": "a_a9fkXkDsA="
}

 200 OK

{ "kind": "compute#operation", "id": "9251830049681941507", "name": "operation-1442414898862-51fde63aa57b1-422323e0-c439fb04", "zone": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f", "operationType": "setTags", "targetLink": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance", "targetId": "4392196237934605253", "status": "PENDING", "user": "user@example.com", "progress": 0, "insertTime": "2015-09-16T07:48:18.946-07:00", "startTime": "2015-09-16T07:48:19.208-07:00", "selfLink": "https://www.googleapis.com/compute/v1/projects/..." }

Receber uma impressão digital de tag

Para receber a impressão digital de tag mais atualizada e enviar uma solicitação com essa impressão, veja as informações da instância. Uma impressão digital só é necessária para atualizar ou adicionar tags por meio da API.

gcloud

Com a ferramenta gcloud, execute o comando a seguir, substituindo example-instance pelo nome da instância. Veja a propriedade fingerprint, abaixo de tags:

  gcloud compute instances describe example-instance

...
tags:
fingerprint: 42WmSpB8rSM=

API

Na API, envie uma solicitação GET para a instância e veja a propriedade tags.fingerprint:

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

200 OK

{ ... "tags": { "items": [ "butter", "cheese" ], "fingerprint": "MW8EqhxILtc=" }, ... }

Como remover tags

Console

  1. Acesse a página Instâncias da VM.
  2. Clique na instância em que você quer adicionar ou atualizar as tags.
  3. Clique no botão Editar para editar a instância.
  4. Em Tag, clique no X para as tags que quer remover.
  5. Salve as alterações.

gcloud

Para remover tags usando a ferramenta gcloud, use o comando instances remove-tags:

gcloud compute instances remove-tags [INSTANCE_NAME] --tags tag-1,tag-2

A ferramenta gcloud recebe automaticamente e fornece o fingerprint da solicitação, além de garantir que as tags existentes ainda sejam aplicadas à instância caso não tenham sido explicitamente especificadas. Isso é diferente das solicitações de API diretas, em que é preciso definir o fingerprint e especificar explicitamente as tags que serão mantidas.

API

Cuidado: atualizar tags na API substitui as tags existentes que você tem. Se for preciso manter as tags existentes, inclua-as na solicitação. Por exemplo, para remover uma tag my-awesome-vm de uma lista de tags atuais que inclui butter, cheese e milk, certifique-se de que a solicitação contenha todas as tags, menos my-awesome-vm.

Para remover uma tag, faça uma solicitação POST ao método instance().setTags. O corpo da solicitação precisa conter a lista resultante das tags que permanecerão na instância, omitindo as tags que serão removidas, juntamente com o valor mais recente de fingerprint. De modo similar ao processo de atualização de metadados, uma impressão digital correspondente é necessária para que somente uma atualização seja feita por vez, evitando conflitos com outras solicitações.

Por exemplo, para remover my-awesome-vm da lista de tags, mas manter butter, cheese e milk, a solicitação de API conterá as últimas três tags e omitirá a tag my-awesome-vm:

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

{
 "items": [
  "butter",
  "cheese",
  "milk"
 ],
 "fingerprint": "a_a9fkXkDsA="
}

 200 OK

{ "kind": "compute#operation", "id": "9251830049681941507", "name": "operation-1442414898862-51fde63aa57b1-422323e0-c439fb04", "zone": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f", "operationType": "setTags", "targetLink": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance", "targetId": "4392196237934605253", "status": "PENDING", "user": "user@example.com", "progress": 0, "insertTime": "2015-09-16T07:48:18.946-07:00", "startTime": "2015-09-16T07:48:19.208-07:00", "selfLink": "https://www.googleapis.com/compute/v1/projects/..." }

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine