Optimiere dein AWS ECR-Management mit diesem leistungsstarken Bash-Skript

Die Verwaltung von Container-Repositories in AWS ECR (Elastic Container Registry) kann schnell zu einer entmutigenden Aufgabe werden, besonders wenn deine Infrastruktur wachst. In diesem Artikel werfen wir einen detaillierten Blick auf ein praktisches Bash-Skript, das entwickelt wurde, um die Anwendung von Lifecycle Policies auf deine ECR-Repositories zu automatisieren. Dieses Skript vereinfacht nicht nur die Repository-Verwaltung, sondern stellt auch sicher, dass nur die neuesten Images aufbewahrt werden, was dir hilft, Speicherkosten zu sparen und deine Registry sauber zu halten.
Was macht dieses Skript?
Der Hauptzweck dieses Bash-Skripts besteht darin, den Prozess der Anwendung einer Lifecycle Policy zu automatisieren, die nur die letzten drei Images in jedem AWS ECR-Repository in einer angegebenen Region behalt. Hier ist ein kurzer Uberblick uber seine Funktionalitat:
- Fehlerbehandlung: Das Skript ist so konfiguriert, dass es sofort beendet wird, wenn ein Befehl einen Nicht-Null-Status zuruckgibt, was das Risiko unbeabsichtigten Verhaltens minimiert.
- Farbcodierte Ausgabe: Es verwendet ANSI-Farbcodes zur Hervorhebung von Meldungen (wie Warnungen in Rot), was die Ausgabe leichter lesbar macht.
- Dry-Run-Modus: Fur einen sicheren, zerstorungsfreien Test enthalt das Skript eine
--dry-run-Option, die Aktionen simuliert, ohne die Policy tatsachlich anzuwenden. - AWS CLI-Integration: Es ruft Repository-Namen mit der AWS CLI ab und iteriert dann uber jedes Repository, um eine bestehende Lifecycle Policy zu prufen, bevor eine neue angewendet wird.
Das Skript im Detail
1. Einrichten der Umgebung
#!/bin/bash
set -e
RED='\033[0;31m'
NC='\033[0m' # No Color
2. Parsen von Kommandozeilenargumenten
DRY_RUN=false
while [[ "$#" -gt 0 ]]; do
case $1 in
--dry-run) DRY_RUN=true ;;
*) echo "Unknown parameter passed: $1"; exit 1 ;;
esac
shift
done3. Definieren der Lifecycle Policy
lifecycle_policy='{
"rules": [
{
"rulePriority": 1,
"description": "Keep last 3 images",
"selection": {
"tagStatus": "any",
"countType": "imageCountMoreThan",
"countNumber": 3
},
"action": {
"type": "expire"
}
}
]
}'Vorteile der Verwendung dieses Skripts
Automatisierung und Effizienz
Die manuelle Anwendung von Lifecycle Policies auf mehrere Repositories kann muhsam und fehleranfallig sein. Dieses Skript automatisiert den Prozess und stellt die konsistente Anwendung von Richtlinien sicher.
Kostenmanagement
Indem nur die neuesten Images aufbewahrt werden, hilft das Skript bei der Verwaltung der Speicherkosten. Alte, ungenutzte Images werden automatisch entfernt.
Sicheres Testen mit Dry-Run-Modus
Bevor du dauerhafte Anderungen vornimmst, kannst du das Skript im Dry-Run-Modus ausfuhren. Diese Funktion bietet eine klare Vorschau darauf, welche Aktionen ausgefuhrt werden.
Fazit
Die Automatisierung von Routineaufgaben ist eine Schlusselstrategie fur effizientes DevOps und Systemadministration. Dieses Bash-Skript zur Anwendung von Lifecycle Policies auf AWS ECR-Repositories ist ein ausgezeichnetes Beispiel dafur, wie einfache Automatisierung signifikante betriebliche Vorteile bringen kann.
Weiteres von Ercan
Zwei weitere Seiten, gleicher Autor, anderes Terrain.
KI, LLMs, Agents, angewandte ML.
Praxisnotizen zu KI-Workloads. Bedrock-Kostenanalyse, Agent-Patterns, Vektorspeicher-Tradeoffs, Failure-Modes in Produktion.
Besuchen ercan.ai →Die Drehscheibe. Über mich, Beratung, Kontakt.
Persönliche Drehscheibe für beide Schreibspuren. Wer ich bin, wie die Beratung funktioniert, wie Sie mich erreichen.
Besuchen ercanermis.com →