Αυτοματοποίηση AWS ECR Tagging με Python και Boto3

Το σωστό tagging των AWS πόρων είναι κρίσιμο για αποτελεσματική διαχείριση πόρων, κατανομή κόστους και auditing. Αν έχεις πολλά AWS Elastic Container Registry (ECR) repositories, το χειροκίνητο tagging μπορεί να είναι κουραστικό και επιρρεπές σε λάθη. Αυτό το άρθρο παρέχει μια απλή και αποτελεσματική λύση: αυτοματοποίηση του tagging των ECR repositories χρησιμοποιώντας Python και το AWS SDK for Python (Boto3).
Γιατί να Αυτοματοποιήσεις το Tagging;
Η αυτοματοποίηση του tagging εξοικονομεί χρόνο, διασφαλίζει συνέπεια και αποτρέπει δαπανηρά λάθη. Τα tags βοηθούν στην παρακολούθηση πόρων που σχετίζονται με συγκεκριμένα projects, environments ή cost centers.
Προαπαιτούμενα
- Python 3 εγκατεστημένη
- AWS CLI εγκατεστημένο και ρυθμισμένο
- Βιβλιοθήκη Boto3 εγκατεστημένη (
pip install boto3) - IAM permissions:
ecr:DescribeRepositoriesecr:ListTagsForResourceecr:TagResource
Tagging AWS ECR Repositories με Python
Ορίστε ένα απλό Python script που χρησιμοποιεί Boto3 για να προσθέσει προκαθορισμένα tags σε όλα τα ECR repositories σου που δεν έχουν καθόλου tags.
Python Script
import boto3
AWS_REGION = ’eu-central-1’ # Replace with your region
Define your 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"Adding tags to repository '{repo_name}'")
ecr_client.tag_resource(resourceArn=repo_arn, tags=TAGS_TO_APPLY)
else:
print(f"Repository '{repo_name}' already has tags. Skipping.")
if name == ‘main’:
tag_ecr_repositories()
Το script θα σαρώσει αυτόματα τα ECR repositories σου και θα προσθέσει tags μόνο σε εκείνα που δεν έχουν καθόλου tags.
Οφέλη
- Εξοικονομεί πολύτιμο διαχειριστικό χρόνο.
- Διασφαλίζει συνέπεια σε όλο το AWS περιβάλλον σου.
- Μειώνει τον κίνδυνο ανθρώπινου λάθους.
Συμπέρασμα
Η αυτοματοποίηση του tagging των AWS πόρων είναι μια βασική πρακτική για αποτελεσματική cloud διαχείριση. Η χρήση Python με Boto3 απλοποιεί σημαντικά αυτή την εργασία, διασφαλίζοντας ότι οι AWS πόροι σου παραμένουν οργανωμένοι και εύκολα διαχειρίσιμοι.
Περισσότερα από τον Ercan
Δύο ακόμη ιστότοποι, ίδιος συγγραφέας, διαφορετικό έδαφος.
AI, LLMs, agents, εφαρμοσμένη ML.
Σημειώσεις πεδίου για AI workloads. Ανάλυση κόστους Bedrock, agent patterns, trade-offs αποθήκευσης διανυσμάτων, failure modes σε παραγωγή.
Επισκεφθείτε ercan.ai →Ο κόμβος. Σχετικά, συμβουλευτική, επικοινωνία.
Προσωπικός κόμβος και για τις δύο διαδρομές γραφής. Ποιος είμαι, πώς λειτουργεί η συμβουλευτική, πώς να επικοινωνήσετε.
Επισκεφθείτε ercanermis.com →