Automatizando o Taggeamento de AWS ECR com Python e Boto3

O taggeamento adequado dos recursos AWS e essencial para um gerenciamento eficiente de recursos, alocacao de custos e auditoria. Se voce possui muitos repositorios no AWS Elastic Container Registry (ECR), o taggeamento manual pode ser tedioso e propenso a erros. Este artigo fornece uma solucao simples e eficaz: automatizar o taggeamento de repositorios ECR usando Python e o AWS SDK para Python (Boto3).
Por que Automatizar o Taggeamento?
Automatizar o taggeamento economiza tempo, garante consistencia e evita erros custosos. As tags ajudam a rastrear recursos relacionados a projetos, ambientes ou centros de custo especificos.
Pre-requisitos
- Python 3 instalado
- AWS CLI instalada e configurada
- Biblioteca Boto3 instalada (
pip install boto3) - Permissoes IAM:
ecr:DescribeRepositoriesecr:ListTagsForResourceecr:TagResource
Taggeando Repositorios AWS ECR com Python
Aqui esta um script Python direto usando Boto3 para adicionar tags predefinidas a todos os seus repositorios ECR que atualmente nao possuem tags.
Script Python
import boto3
AWS_REGION = ’eu-central-1’ # Substitua pela sua regiao
Defina suas tags
TAGS_TO_APPLY = [
{‘Key’: ‘provisioned’, ‘Value’: ‘manual’},
{‘Key’: ’environment’, ‘Value’: ‘dev’},
{‘Key’: ‘project’, ‘Value’: ‘Project_Name’},
]
def tag_ecr_repositories():
ecr_client = boto3.client(’ecr’, region_name=AWS_REGION)
paginator = ecr_client.get_paginator('describe_repositories')
for page in paginator.paginate():
for repo in page['repositories']:
repo_arn = repo['repositoryArn']
repo_name = repo['repositoryName']
existing_tags = ecr_client.list_tags_for_resource(resourceArn=repo_arn).get('tags', [])
if not existing_tags:
print(f"Adicionando tags ao repositorio '{repo_name}'")
ecr_client.tag_resource(resourceArn=repo_arn, tags=TAGS_TO_APPLY)
else:
print(f"Repositorio '{repo_name}' ja possui tags. Pulando.")
if name == ‘main’:
tag_ecr_repositories()
O script percorre automaticamente seus repositorios ECR e adiciona tags apenas aos repositorios que atualmente nao possuem tags.
Beneficios
- Economiza tempo administrativo valioso.
- Garante consistencia em todo o seu ambiente AWS.
- Reduz o risco de erro humano.
Conclusao
Automatizar o taggeamento de recursos AWS e uma pratica essencial para uma gestao eficaz da nuvem. Usar Python com Boto3 simplifica significativamente essa tarefa, garantindo que seus recursos AWS permanecam organizados e faceis de gerenciar.
Mais de Ercan
Mais dois sites, mesmo autor, terreno diferente.
IA, LLMs, agentes, ML aplicado.
Notas de campo sobre cargas de IA. Análise de custos do Bedrock, padrões de agentes, trade-offs de armazenamento vetorial, modos de falha em produção.
Visitar ercan.ai →O hub. Sobre, consultoria, contato.
Hub pessoal para as duas trilhas de escrita. Quem sou eu, como funciona a consultoria, como me contatar.
Visitar ercanermis.com →