Un tagging correct des ressources AWS est essentiel pour une gestion efficace des ressources, la repartition des couts et l'audit. Si vous avez de nombreux depots AWS Elastic Container Registry (ECR), le tagging manuel peut etre fastidieux et sujet aux erreurs. Cet article propose une solution simple et efficace : automatiser le tagging des depots ECR avec Python et le SDK AWS pour Python (Boto3).

Pourquoi Automatiser le Tagging ?

L'automatisation du tagging fait gagner du temps, assure la coherence et evite les erreurs couteuses. Les tags aident a suivre les ressources liees a des projets, environnements ou centres de couts specifiques.

Prerequis

  • Python 3 installe
  • AWS CLI installe et configure
  • Librairie Boto3 installee (pip install boto3)
  • Permissions IAM :
    • ecr:DescribeRepositories
    • ecr:ListTagsForResource
    • ecr:TagResource

Tagger les Depots AWS ECR avec Python

Voici un script Python simple utilisant Boto3 pour ajouter des tags predefinis a tous vos depots ECR qui n'ont actuellement aucun tag.

Script Python

import boto3

AWS_REGION = ’eu-central-1’ # Remplacez par votre region

Definissez vos 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"Ajout de tags au depot '{repo_name}'")
            ecr_client.tag_resource(resourceArn=repo_arn, tags=TAGS_TO_APPLY)
        else:
            print(f"Le depot '{repo_name}' a deja des tags. Ignore.")

if name == ‘main’: tag_ecr_repositories()

Le script parcourt automatiquement vos depots ECR et ajoute des tags uniquement aux depots qui n'ont actuellement aucun tag.

Benefices

  • Economise un temps administratif precieux.
  • Assure la coherence dans votre environnement AWS.
  • Reduit le risque d'erreur humaine.

Conclusion

Automatiser le tagging des ressources AWS est une pratique essentielle pour une gestion cloud efficace. Utiliser Python avec Boto3 simplifie considerablement cette tache, garantissant que vos ressources AWS restent organisees et facilement gerables.