O blog da AWS

Aplicação de tags proativa, reativa e informativa

Por Kimmy Wu, Arquiteta de Soluções na AWS

 

Dentre os recursos que são possíveis criar dentro da nuvem AWS é possível fazer a criação de tags, o que implica em criar um metadado para a identificação do recurso de acordo com a necessidade do seu negócio. Cada tag é constituída a partir de uma chave de identificação e um valor. Tanto a chave quanto valor são case sensitive.

As tags criadas irão ajudar em relação ao gerenciamento dos recursos que foram iniciados dentro da sua conta. Em casos mais comuns os clientes utilizam tags para alocação de custo, podendo ser setorizadas de acordo com a suas necessidades de identificação de custo, como por projeto ou departamento. Também são utilizados para a organização dos recursos, facilitando a busca dos recursos dentro do console da AWS.

Quando falamos em relação a governança das tags dentro da console podemos classificar em três formas diferentes:

  • Tags com aplicação proativa: em que você irá criar uma política pré aprovada para as tags ou criar um dicionário com as tags já aceitas;
  • Tags com aplicação reativa: de forma que os recursos que não estão compatíveis com as políticas de tags poderão ser parados ou terminados;
  • Tags com aplicação de informação: neste modelo as tags são utilizadas para a identificação do projeto dentro da console, um exemplo seria para a identificação de custo de cada projeto.

Dentro desse blog iremos explorar quais são os cenários mais comuns para as três formas diferentes de alocação de tags e identificar quais são os serviços da AWS que irão ajudar em cada cenário.

Tags com aplicação proativa

Quando falamos de tags de forma proativa estamos falando da criação prévia em relação à estrutura que as tags necessitam estar dentro do seu ambiente. Esta pratica é assertiva quando estamos falando de novos projetos, uma vez que já será definido a sua utilização, e criadas políticas para que os serviços que serão usados, sejam criadas segundo politicas. Alguns serviços que irão ajudar dentro deste cenário são:

  • AWS CloudFormation (tags as code): Quando utilizado o AWS CloudFormation, serviço que ajuda a modelar e criar recursos dentro do seu ambiente através de código, é possível dentro da especificação determinar quais são as tags necessárias e os valores. Dessa forma quando iniciado um serviço dentro do seu ambiente AWS as tags já serão atribuídas nos recursos criados. Uma vez que o AWS CloudFormation possibilita a criação dos recursos através de código, as alterações e versões em relação às tags também serão armazenadas dentro do seu repositório.
  • AWS Organizations (Service Control Policy – SCP): Caso você esteja utilizando o AWS Organizations, serviço de gerenciamento de contas que permite a consolidação dessas contas dentro da organização, a partir da SCP é possível determinar de forma centralizada uma política para a marcação de recursos, sendo por exemplo exigido uma tag para os recursos criados de acordo com a política.
  • AWS Identity and access Management (IAM) (tag read/write controls): Com a própria política do IAM, que define a política de acesso, é possível criar uma política dentro das permissões para que o serviço torne obrigatório o uso da tag especificada, como por exemplo o caso de iniciar uma instância ec2.

 

Tags com aplicação reativa

As tags reativas irão acontecer após a criação de um recurso dentro da sua console, dessa forma é uma ótima opção para projetos já existentes. Isso irá possibilitar que todos os recursos estejam de acordo com as regras, mesmo após a sua criação. Alguns serviços que irão ajudar dentro deste cenário são:

  • Tag Policies: Quando utilizamos as tags policies dentro da sua organização, criada pelo AWS Organizations, será garantido que qualquer recurso que seja criado dentro da conta esteja de acordo com a política definida. Caso a criação do recurso não esteja de acordo, a AWS irá rejeitar a sua criação. Para um exemplo de como aplicar a política veja a documentação.

 

Imagem 1, autoria própria: Configuração da política de tag, permitindo apenas a tag “123” e “456”, sendo elas obrigatórias

 

  • AWS Config Rules: Quando utilizado o AWS Config Rules será criado uma regra com a validação de que as tags sejam atreladas ao serviço dentro dos parâmetros configurados, é possível personalizar para identificar quais são as chaves e os valores necessários. Diferente da utilização do Tag Policies, qualquer recurso que não tenha as especificações da regra, não estará de acordo (noncompliant) o AWS Config não irá proibir a criação do recurso. Dessa forma pode ser configurado as ações de remediação para os recursos não conformes, como por exemplo: a partir de um mecanismo de automação para adicionar as tags ao recurso, enviar um e-mail de notificação, etc.

 

Imagem 2, autoria própria: Resultado da criação de duas instâncias EC2, mostrando o resultado da validação da existência de tag, sendo uma compliant e outra noncompliant.

 

Tags com aplicação informativa

As políticas de tags com aplicação de Informação estão atreladas principalmente ainda identificação dos serviços. Dessa forma a tag é apenas utilizada para a identificação dos requisitos utilizados e segregação de custo. Para a utilização de tags na visualização dos custos é necessário ativar a tag dentro do AWS Cost Category, podendo demorar até 24h para a visualização. Utilizando o AWS Cost Category, a funcionalidade irá permitir que os custos sejam agregados de acordo com a tag identificada, um exemplo seria para identificar todos os custos dos serviços relacionados ao “projeto A”. Uma vez criado essas categorias de custo estas apareceram dentro do AWS Cost ExplorerAWS BudgetsAWS CUR e Cost Anomaly Detection. Portando através do AWS Cost Category será possível fazer a pesquisas de custo relacionada as tags.

Imagem 3, autoria própria: Gráfico de gastos dentro do AWS Cost Explorer, dividindo os gastos pelas tags “test1” e “test2”

 

Conclusão

Dentro do blog exploramos três formas de possíveis usos para as aplicações de tags dentro dos recursos da AWS. É importante ressaltar que as três formas para a governança de tags podem coexistir ao mesmo tempo, dessa forma será garantido que aplicações novas existentes estarão de acordo com as especificações do negócio.

Foi demonstrado formas nativas de fazer aplicação e leitura de tags utilizando features e serviços AWS. Ademais existem outros tipos de automações que irão permitir as mesmas finalidades em relação as aplicações das tags de forma pró ativas e reativas. Para mais informações sobre as melhores práticas para tag, leia o documento.

 


Sobre a autora

Kimmy Wu é arquiteta de soluções que ajuda os clientes a criar cargas de trabalho que os impulsionam em sua jornada de transformação digital para a AWS.