0Pricing
Cloud & IT Cert Prep · Lektion

ECR: Container-Images speichern und abrufen

Pushen Sie Docker-Images zu Amazon ECR, wenden Sie Lifecycle-Richtlinien an, um alte Images zu entfernen, und rufen Sie Images sicher in ECS-Tasks ab.

ECR: Container-Images speichern und abrufen ist eine kostenlose Cloud & IT Cert Prep-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cloud & IT Cert Prep-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.

Was ist Amazon ECR?

Amazon Elastic Container Registry (ECR) ist eine vollständig verwaltete, Docker-kompatible Container-Image-Registry. Sie speichert, verwaltet und stellt Container-Images sicher innerhalb von AWS bereit. ECR macht den Betrieb einer eigenen Registry-Infrastruktur überflüssig und lässt sich nativ in ECS, EKS, Lambda (Container-Images) und CodeBuild integrieren. In ECR gespeicherte Images werden zur Sicherstellung hoher Verfügbarkeit repliziert und können automatisch auf Sicherheitslücken geprüft werden.

Private und öffentliche ECR-Repositorys

ECR unterstützt zwei Repository-Typen: Private Repositorys in Amazon ECR erfordern eine AWS-Authentifizierung zum Abrufen von Images und eignen sich ideal für proprietäre Anwendungs-Images. Der Zugriff wird über IAM-Richtlinien und Ressourcenrichtlinien des Repositorys gesteuert. Öffentliche Repositorys in der ECR Public Gallery (public.ecr.aws) ermöglichen nicht authentifizierte Abrufe von überall im Internet und eignen sich ideal für Open-Source-Basis-Images, öffentliche Tools und von AWS bereitgestellte Images (Lambda-Basis-Images, für ECS optimierte AMI-Images). Öffentliche Repositorys bieten ein kostenloses Abrufkontingent mit Ratenbegrenzungen für nicht authentifizierte Anfragen.

# Create a private ECR repository
aws ecr create-repository \
  --repository-name 'myapp/backend' \
  --image-scanning-configuration scanOnPush=true \
  --image-tag-mutability IMMUTABLE

Docker bei ECR authentifizieren

Zum Pushen oder Abrufen privater ECR-Images muss sich Docker mit AWS-Anmeldeinformationen authentifizieren. Verwenden Sie aws ecr get-login-password, um ein temporäres Authentifizierungstoken abzurufen, und leiten Sie es an docker login weiter. Das Token ist 12 Stunden gültig. Aktualisieren Sie das Token in CI/CD-Pipelines vor jedem Push. ECS-Task-Agents, Lambda und EKS-Worker-Nodes authentifizieren sich über ihre IAM-Rolle automatisch bei ECR – für Laufzeit-Abrufe in AWS-Umgebungen ist keine manuelle Anmeldung erforderlich.

# Authenticate Docker CLI to ECR
aws ecr get-login-password --region us-east-1 | \
  docker login \
    --username AWS \
    --password-stdin \
    123456789012.dkr.ecr.us-east-1.amazonaws.com

Images in ECR pushen

Der standardmäßige Ablauf zum Pushen eines Images in ECR: (1) Das Docker-Image lokal erstellen; (2) das Image mit der URI des ECR-Repositorys taggen (Format: account.dkr.ecr.region.amazonaws.com/repo-name:tag); (3) das getaggte Image pushen. ECR speichert jede Image-Schicht separat und dedupliziert gemeinsame Schichten über mehrere Images hinweg, wodurch die Speicherkosten sinken. Durch die Verwendung von unveränderlichen Tags wird das Überschreiben eines Tags verhindert, sodass bereitgestellte Image-Versionen stabil und revisionssicher bleiben.

# Build, tag, and push
docker build -t myapp/backend .
docker tag myapp/backend \
  123456789012.dkr.ecr.us-east-1.amazonaws.com/myapp/backend:v1.2.3
docker push \
  123456789012.dkr.ecr.us-east-1.amazonaws.com/myapp/backend:v1.2.3

Veränderlichkeit von Image-Tags

IMMUTABLE-Tags verhindern, dass ein Tag mit einem anderen Image überschrieben wird. Wenn die Tag-Veränderlichkeit auf IMMUTABLE gesetzt ist, schlägt das Pushen eines neuen Images mit einem bereits vorhandenen Tag fehl – Sie müssen ein neues Tag verwenden. Dies ist eine bewährte Vorgehensweise für die Produktion: Sie stellt sicher, dass :v1.2.3 immer genau auf denselben Image-Digest verweist und ermöglicht zuverlässige Rollbacks und Prüfungen. Verwenden Sie MUTABLE-Tags nur für Entwicklungszweige oder das Komfort-Tag :latest in Nicht-Produktionsumgebungen.

Image-Scanning auf Sicherheitslücken

Aktivieren Sie scan on push, um Images beim Pushen automatisch auf bekannte CVEs zu prüfen. ECR verwendet die Integration mit Amazon Inspector (Enhanced Scanning) oder das integrierte Basic Scanning auf Basis des Open-Source-Scanners Clair. Enhanced Scanning ermöglicht eine kontinuierliche Prüfung (nicht nur beim Pushen) und deckt Betriebssystem- sowie sprachspezifische Pakete (Node.js, Python, Java) ab. Prüfen Sie die Scan-Ergebnisse in der ECR-Konsole oder über EventBridge-Benachrichtigungen an Ihr Sicherheitsteam.

# Enable enhanced scanning for a registry
aws ecr put-registry-scanning-configuration \
  --scan-type ENHANCED \
  --rules '[{"repositoryFilters": [{"filter": "*", "filterType": "WILDCARD"}], "scanFrequency": "CONTINUOUS_SCAN"}]'

Lifecycle Policies zur Verwaltung der Image-Kosten

ECR berechnet Speichergebühren pro GB und Monat. Ohne Verwaltung sammeln sich alte Images unbegrenzt an und erhöhen die Kosten. Lifecycle Policies lassen Images automatisch anhand von Regeln ablaufen und löschen sie: Sie können beispielsweise nur die letzten 10 getaggten Releases behalten oder nicht getaggte Images löschen, die älter als 7 Tage sind. Lifecycle Policies werden täglich ausgeführt. Dies ist besonders wichtig in CI/CD-Pipelines, die bei jedem Commit neue Images pushen und dadurch Hunderte von Images pro Woche ansammeln können.

aws ecr put-lifecycle-policy \
  --repository-name 'myapp/backend' \
  --lifecycle-policy-text '{
    "rules": [
      {
        "rulePriority": 1,
        "description": "Keep last 10 tagged images",
        "selection": {"tagStatus": "tagged", "tagPrefixList": ["v"], "countType": "imageCountMoreThan", "countNumber": 10},
        "action": {"type": "expire"}
      },
      {
        "rulePriority": 2,
        "description": "Delete untagged images after 7 days",
        "selection": {"tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 7},
        "action": {"type": "expire"}
      }
    ]
  }'

Image-Zugriff kontoübergreifend ermöglichen

Damit Sie Images aus einem ECR-Repository in Konto A in ECS/EKS/Lambda in Konto B abrufen können, konfigurieren Sie im ECR-Repository in Konto A eine Repository-Richtlinie (ressourcenbasierte Richtlinie). Diese gewährt dem IAM-Prinzipal aus Konto B die Berechtigung, ecr:GetDownloadUrlForLayer, ecr:BatchGetImage und ecr:BatchCheckLayerAvailability aufzurufen. Dadurch müssen Images nicht zwischen Konten kopiert werden, und eine zentrale Imageverwaltung mit verteilter Nutzung wird ermöglicht.

ECR-Replikation für Bereitstellungen in mehreren Regionen

Die ECR-Replikation kopiert Images automatisch aus Ihrer primären Registry in Registrys anderer AWS-Regionen (und optional in andere Konten). Wenn ECS-Tasks in einer anderen Region ein Image abrufen, beziehen sie es aus der lokalen regionalen Registry. Dadurch sinken Datenübertragungskosten und die Latenz beim Abrufen von Images. Konfigurieren Sie Replikationsregeln auf Registry-Ebene und legen Sie dabei fest, welche Repositorys in welche Zielregionen und Konten repliziert werden. Die Replikation erfolgt asynchron und nahezu in Echtzeit.

aws ecr put-replication-configuration \
  --replication-configuration '{
    "rules": [{
      "destinations": [
        {"region": "eu-west-1", "registryId": "123456789012"},
        {"region": "ap-southeast-1", "registryId": "123456789012"}
      ],
      "repositoryFilters": [{"filter": "prod/*", "filterType": "PREFIX_MATCH"}]
    }]
  }'

ECR-Verschlüsselung

ECR verschlüsselt ruhende Images mithilfe der serverseitigen Verschlüsselung. Standardmäßig wird ein von AWS verwalteter Schlüssel (AWS_MANAGED_KEY) verwendet. Für zusätzliche Kontrolle und Überprüfbarkeit konfigurieren Sie einen kundenseitig verwalteten KMS-Schlüssel (CMK). Mit einem CMK kontrollieren Sie die Schlüsselrotation, können den Zugriff durch Deaktivieren des Schlüssels widerrufen und sämtliche Entschlüsselungsvorgänge in CloudTrail prüfen. Aktivieren Sie die KMS-Verschlüsselung, wenn gesetzliche oder regulatorische Anforderungen (PCI-DSS, HIPAA, FedRAMP) kundengesteuerte Verschlüsselungsschlüssel verlangen.

ECR mit ECS in CI/CD-Pipelines verwenden

Eine vollständige CI/CD-Pipeline für ECS mit ECR: (1) Ein Entwickler pusht Code zu Git; (2) CodeBuild erstellt das Docker-Image und pusht es mit einem Commit-SHA-Tag in ECR; (3) CodePipeline aktualisiert die ECS-Task-Definition mit der neuen Image-URI; (4) ECS führt ein Rolling Update des Services durch und ruft das neue Image aus ECR ab. ECS-Tasks verwenden die Task Execution Role, um sich automatisch bei ECR zu authentifizieren – für Laufzeit-Abrufe müssen in der Pipeline keine Anmeldeinformationen verwaltet werden.

Kurze Überprüfung

Testen Sie Ihr Verständnis der AWS-Solutions-Architect-Konzepte (SAA-C03) aus dieser Lektion.

Zusammenfassung der Lektion

In dieser Lektion haben Sie gelernt: Private ECR-Repositorys speichern Container-Images mit IAM-gesteuertem Zugriff, unveränderlichen Tags für Produktionsstabilität und automatischer Sicherheitslückenprüfung mit Inspector. Lifecycle Policies lassen alte und nicht getaggte Images automatisch ablaufen und senken so die Speicherkosten in aktiven CI/CD-Umgebungen. Die ECR-Replikation kopiert Images für Bereitstellungen in mehreren Regionen in andere Regionen und Konten und reduziert dabei die Abruflatenz. Als Nächstes sehen wir uns die automatische ECS-Service-Skalierung und die Integration von Load Balancing an.

Häufig gestellte Fragen

Ist die Lektion „ECR: Container-Images speichern und abrufen“ kostenlos?

Ja — der vollständige Text von „ECR: Container-Images speichern und abrufen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cloud & IT Cert Prep-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „ECR: Container-Images speichern und abrufen“?

Pushen Sie Docker-Images zu Amazon ECR, wenden Sie Lifecycle-Richtlinien an, um alte Images zu entfernen, und rufen Sie Images sicher in ECS-Tasks ab. Du übst Cloud & IT Cert Prep mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cloud & IT Cert Prep zu starten?

Keine Vorkenntnisse erforderlich. Cloud & IT Cert Prep auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „ECR: Container-Images speichern und abrufen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cloud & IT Cert Prep-Lektion Code schreiben und ausführen?

Ja. Jede Cloud & IT Cert Prep-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. ECS-Cluster, Task-Definitionen und Services
  2. EC2-Starttyp im Vergleich zu Fargate
  3. ECR: Container-Images speichern und abrufen
  4. Automatische ECS-Service-Skalierung und Load Balancing
← Zurück zu Cloud & IT Cert Prep