Olá pessoal!
Definir tags para instâncias EC2 no AWS CloudFormation permite identificar os recursos desde sua criação. No template YAML, essa configuração é feita pela propriedade Tags, com pares de chave (Key) e valor (Value).
As tags ajudam a organizar o ambiente por aplicação, finalidade ou responsável. Padronizar esses campos no template facilita a identificação dos recursos criados por diferentes stacks.
Como definir tags para EC2 no YAML
A propriedade Tags deve ficar dentro de Properties do recurso AWS::EC2::Instance. Cada item da lista representa uma tag:
Resources: MinhaInstancia: Type: AWS::EC2::Instance Properties: ImageId: ami-xxxxxxxxxxxxxxxxx InstanceType: t3.micro Tags: - Key: Name Value: servidor-aplicacao - Key: Ambiente Value: Homologacao - Key: Projeto Value: portal-interno - Key: Responsavel Value: equipe-infraestrutura
Nesse exemplo, a instância recebe quatro tags. A chave identifica a informação, enquanto o valor registra o conteúdo correspondente.
O trecho deve ser adaptado ao seu template. Informe uma AMI (Amazon Machine Image ou Imagem de Máquina da Amazon) válida na região utilizada e mantenha as propriedades de rede, segurança e acesso necessárias ao ambiente.
Como aplicar as tags aos volumes EBS
As tags definidas para a instância não são aplicadas aos volumes do Amazon Elastic Block Store (EBS) por padrão. Para propagá-las aos volumes criados pelos mapeamentos de dispositivos da instância, acrescente:
PropagateTagsToVolumeOnCreation: true
A propriedade fica dentro de Properties, no mesmo nível de Tags:
Resources: MinhaInstancia: Type: AWS::EC2::Instance Properties: ImageId: ami-xxxxxxxxxxxxxxxxx InstanceType: t3.micro PropagateTagsToVolumeOnCreation: true Tags: - Key: Name Value: servidor-aplicacao - Key: Ambiente Value: Homologacao
Esse comportamento se aplica na criação dos volumes associados aos mapeamentos de dispositivos. Volumes criados separadamente e anexados por AWS::EC2::VolumeAttachment precisam ter suas próprias tags configuradas.
Padronização e atualização das tags
Defina um conjunto de chaves que faça sentido para sua operação e reutilize a mesma nomenclatura nos templates. Por exemplo, mantenha Ambiente, Projeto e Responsavel como campos comuns, em vez de criar variações para cada stack.
Para alterar as tags de uma instância já gerenciada pelo CloudFormation, edite a propriedade Tags e atualize a stack. Segundo a referência oficial, a atualização dessa propriedade não exige interrupção da instância; avalie separadamente outras alterações incluídas na mesma atualização.
Após o deploy, confira as tags no console do EC2 e, quando houver propagação, também nos volumes EBS.
Para maiores informaçòes, consulte a referência oficial de AWS::EC2::Instance.
Até a próxima!
