Automatizzare la Taggatura di AWS ECR con Python e Boto3

Una corretta taggatura delle risorse AWS è fondamentale per una gestione efficiente delle risorse, l'allocazione dei costi e l'auditing. Se hai numerosi repository AWS Elastic Container Registry (ECR), la taggatura manuale può essere noiosa e soggetta a errori. Questo articolo fornisce una soluzione semplice ed efficace: automatizzare la taggatura dei repository ECR utilizzando Python e l'AWS SDK per Python (Boto3).
Perché Automatizzare la Taggatura?
Automatizzare la taggatura fa risparmiare tempo, garantisce coerenza e previene errori costosi. I tag aiutano a tracciare le risorse relative a progetti, ambienti o centri di costo specifici.
Prerequisiti
- Python 3 installato
- AWS CLI installato e configurato
- Libreria Boto3 installata (
pip install boto3) - Permessi IAM:
ecr:DescribeRepositoriesecr:ListTagsForResourceecr:TagResource
Taggare i Repository AWS ECR con Python
Ecco un semplice script Python che utilizza Boto3 per aggiungere tag predefiniti a tutti i tuoi repository ECR che attualmente non hanno tag.
Script Python
import boto3
AWS_REGION = ’eu-central-1’ # Sostituisci con la tua regione
Definisci i tuoi tag
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"Aggiunta tag al repository '{repo_name}'")
ecr_client.tag_resource(resourceArn=repo_arn, tags=TAGS_TO_APPLY)
else:
print(f"Il repository '{repo_name}' ha già dei tag. Saltato.")
if name == ‘main’:
tag_ecr_repositories()
Lo script analizza automaticamente i tuoi repository ECR e aggiunge tag solo a quei repository che attualmente non ne hanno.
Vantaggi
- Risparmia tempo amministrativo prezioso.
- Garantisce coerenza in tutto l'ambiente AWS.
- Riduce il rischio di errore umano.
Conclusione
Automatizzare la taggatura delle risorse AWS è una pratica essenziale per una gestione cloud efficace. Utilizzare Python con Boto3 semplifica notevolmente questo compito, garantendo che le tue risorse AWS rimangano organizzate e facilmente gestibili.
Altro da Ercan
Altri due siti, stesso autore, terreno diverso.
IA, LLMs, agenti, ML applicato.
Note sul campo su workload IA. Analisi dei costi Bedrock, pattern di agenti, trade-off di storage vettoriale, failure mode in produzione.
Visita ercan.ai →L'hub. Chi sono, consulenza, contatti.
Hub personale per entrambe le tracce di scrittura. Chi sono, come funziona la consulenza, come contattarmi.
Visita ercanermis.com →