O que são tags? - Práticas recomendadas para marcação de recursos da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

O que são tags?

Uma tag é um par de chave-valor aplicado a um recurso para armazenar metadados sobre esse recurso. Cada tag é um rótulo que consiste em uma chave e um valor opcional. Atualmente, nem todos os serviços e tipos de recursos oferecem suporte a tags (consulte Services that support the Resource Groups Tagging API). Outros serviços podem oferecer suporte a tags por meio de suas próprias APIs. Deve-se observar que as tags não são criptografadas e não devem ser usadas para armazenar dados sigilosos, como informações de identificação pessoal (PII).

As tags que um usuário cria e aplica aos AWS recursos usando a AWS CLI API ou a AWS Management Console são conhecidas como tags definidas pelo usuário. Vários AWS serviços AWS CloudFormation, como o Elastic Beanstalk e o Auto Scaling, atribuem automaticamente tags aos recursos que eles criam e gerenciam. Essas chaves são conhecidas como tags geradas pela AWS e geralmente são prefixadas com aws. Esse prefixo não pode ser usado em chaves de tag definidas pelo usuário.

Há requisitos de uso e limites no número de tags definidas pelo usuário que podem ser adicionadas a um AWS recurso. Para obter mais informações, consulte os limites e requisitos de nomenclatura de tags no guia de referência AWS geral. AWS as tags geradas não contam nesses limites de tags definidos pelo usuário.

Tabela 1: Exemplos de chaves e valores de tag definidos pelo usuário

ID da instância Chave de tag Valor de etiqueta
i-01234567abcdef89a CostCenter 98765
Stack Test
i-12345678abcdef90b CostCenter 98765
Stack Production

Tabela 2 — Exemplos de tags AWS geradas

AWS Chaves de tag geradas Lógica
aws:ec2spot:fleet-request-id Identifica a solicitação da Instância Spot do Amazon EC2 que iniciou a instância
aws:cloudformation:stack-name Identifica a AWS CloudFormation pilha que criou o recurso
lambda-console:blueprint Identifica o blueprint usado como modelo para uma função AWS Lambda
elasticbeanstalk:environment-name Identifica a aplicação que criou o recurso
aws:servicecatalog:provisionedProductArn O nome do recurso da Amazon (ARN) do produto provisionado
aws:servicecatalog:productArn O ARN do produto a partir do qual o produto provisionado foi lançado

AWS as tags geradas formam um namespace. Por exemplo, em um AWS CloudFormation modelo, você define um conjunto de recursos a serem implantados juntos em umstack, onde stack-name está um nome descritivo que você atribui para identificá-lo. Se você examinar uma chave como aws:cloudformation:stack-name, verá que o namespace usado para definir o escopo do parâmetro usa três elementos: a organização aws, o serviço cloudformation e o parâmetro stack-name.

As tags definidas pelo usuário também podem usar namespaces e é recomendável usar um identificador organizacional como prefixo. Isso ajuda você a identificar rapidamente se uma tag é algo do seu esquema gerenciado ou algo definido por um serviço ou ferramenta que você está usando em seu ambiente.

No whitepaper Establishing Your Cloud Foundation on AWS, recomendamos um conjunto de tags que devem ser implementadas. É muito provável que diferentes empresas tenham diferentes padrões permitidos e listas diferentes para uma determinada tag. Observando o exemplo na Tabela 3:

Tabela 3: Mesma chave de tag, regras de validação de valor diferentes

Organização

Chave de tag Validação de valores de tag Exemplo de valor de tag
Empresa A CostCenter 5432, 5422, 5499 5432
Empresa B CostCenter ABC* ABC123

Se esses dois esquemas estiverem em organizações separadas, não haverá problema com conflitos de tags. No entanto, se esses dois ambientes se fundirem, os namespaces podem entrar em conflito e a validação se torna mais complexa. Esse cenário pode parecer improvável, mas as empresas são adquiridas ou fundidas, e há outros cenários, como clientes trabalhando com um provedor de serviços gerenciados, editora de jogos ou empresa de capital de risco, em que contas de diferentes organizações fazem parte de uma AWS organização compartilhada. Ao usar o nome da empresa como prefixo para definir um namespace exclusivo, esses desafios podem ser evitados, conforme mostrado na Tabela 4:

Tabela 4: Uso de namespaces em chaves de tag

Organização

Chave de tag Validação de valores de tag Exemplo de valor de tag
Empresa A company-a:CostCenter 5432, 5422, 5499 5432
Empresa B company-b:CostCenter ABC* ABC123

Em organizações grandes e complexas, onde as empresas são adquiridas e alienadas regularmente, essa situação ocorrerá com mais frequência. À medida que os processos e práticas da nova aquisição são harmonizados em todo o grupo, a situação é resolvida. Ter namespaces distintos ajuda porque o uso das tags mais antigas pode ser relatado e as equipes relevantes podem ser contatadas para adotar o novo esquema. Um namespace também pode ser usado para indicar um escopo ou representar um caso de uso ou uma área de responsabilidade alinhada aos proprietários organizacionais.

Tabela 5: Exemplo de escopo ou escopo de caso de uso nas chaves de tag

Caso de uso Chave de tag Lógica Valores permitidos
Classificação de dados example-inc:info-sec:data-classification Conjunto definido de classificação de dados para segurança da informação sensitive, company-confidential, customer-identifiable
Operações example-inc:dev-ops:environment Implemente o agendamento de ambientes de teste e desenvolvimento development, staging, quality-assurance, production
Recuperação de desastres example-inc:disaster-recovery:rpo Defina o objetivo de ponto de recuperação (RPO) para um recurso 6h, 24h
Alocação de custos example-inc:cost-allocation:business-unit As equipes financeiras precisam de relatórios de custos sobre o uso e os gastos de cada equipe corporate, recruitment, support, engineering

As tags são simples e flexíveis. Tanto a chave quanto o valor da tag são cadeias de caracteres de comprimento variável e podem suportar um amplo conjunto de caracteres. Para obter mais informações sobre comprimentos e conjuntos de caracteres, consulte Tagging AWS resources na Referência geral da AWS . As tags diferenciam maiúsculas de minúsculas, o que significa que costCenter e costcenter são chaves de tag diferentes. Em países diferentes, a grafia de uma palavra pode ser diferente, o que pode afetar suas teclas. Por exemplo, nos Estados Unidos, pode-se definir uma chave como costcenter, mas, no Reino Unido, costcentre pode ser preferível. Essas são chaves diferentes do ponto de vista da marcação de recursos. Defina ortografia, maiúsculas e minúsculas e pontuação como parte de sua estratégia de marcação. Use essas definições como referência para qualquer pessoa que crie ou gerencie recursos. Esse tópico é discutido em mais detalhes na próxima seção, Criar política de tag.