Für die Stabilität und Sicherheit von Container-Anwendungen spielen Versionierung und Tagging eine übergeordnete Rolle. Mit Immutable Tags umgeht die Amazon Elastic Container Registry entsprechende Deployment-Probleme.
Die Funktionsweise der Amazon Elastic Container Registry.
(Bild: Amazon Web Services)
Die Container-Technologie ist aus der IT-Welt nicht mehr wegzudenken und hat sich als Technologiestandard etabliert. Mit AWS bringen Entwickler ihre Container-Anwendungen schnell in die Produktion. Die richtige Versionierung und das Tagging der Docker-Images ist dabei für die Sicherheit und Stabilität der Deployments unerlässlich.
Werden die Image-Tags überschrieben, beispielsweise durch Code-Änderungen in einer CI/CD-Pipeline, ist unklar, was in die Produktion ausgerollt wurde. Dies wiederum gefährdet die Stabilität und die Sicherheit der Anwendung.
Die Immutable Tags der Amazon Elastic Container Registry (ECR) verhindern derartige Probleme. ECR ist eine vollständig verwaltete Container-Registry, mit der die Entwickler ihre Container-Images speichern, verwalten und nutzen können. Dadurch werden die Best-Practices eines sicheren Rollout-Prozesses automatisiert.
Warum Image-Tags zu Problemen führen
Docker-Images werden in einem Docker-Repository verwaltet und lassen sich taggen. Die Tags werden häufig zur Versionierung (myapp:v3.1.4) eingesetzt. Weitere Anwendungsfälle sind beispielsweise die Zielarchitektur, für die die Images geeignet sind (myapp:3.1.4-amd64) oder auch die Basis-Images (myapp:3.1.4-alpine).
Die Alpine-Images sind mit wenigen Megabytes besonders schlank und die Container können dadurch in einem Cluster schnell skaliert werden. Das bekannteste aller Tags ist sicherlich „latest“: Dieses Tag wird von Docker automatisch verwendet und referenziert immer das zuletzt erstellte Image.
Der Vorteil ist, dass die neueste Version damit problemlos abgerufen wird. Doch da dieses Tag ganz leicht überschrieben werden kann, ist nie klar, welche Version der Anwendung im Image ist.
Das Tag kann mit oder ohne Absicht überschrieben werden, was die Stabilität und Sicherheit der Software gefährden kann. Dieses Problem lässt sich zuverlässig mit einer geeigneten Technologie lösen, in dem die Best-Practice automatisiert wird und die Entwickler die nötigen Leitplanken bekommen.
AWS ECR
In der Amazon Elastic Container Registry können mehrere Repositories konfiguriert werden, beispielsweise ein Repository pro Team oder pro Anwendung. Mit dem „Immutable Tags“-Feature können die Tags der Docker-Images in einem ECR Repository nicht überschrieben werden.
Die Funktion lässt sich sowohl auf neue als auch existierende Repositories anwenden und kann nach Belieben umgestellt werden, zum Beispiel während eines Deployment-Zeitfensters. Hier ein Beispiel, wie ein Repository mit AWS CLI erstellt wird:
aws ecr create-repository --repository-name name --image-tag-mutability IMMUTABLE --region eu-central-1
Folgendermaßen wird ein bestehendes Repository konfiguriert:
aws ecr put-image-tag-mutability --repository-name name --image-tag-mutability IMMUTABLE --region eu-central-1
Haben wir das Repository auf Immutable umgestellt und versuchen danach, ein Image-Tag zu überschreiben, erhalten wir den Fehler „ImageTagAlreadyExistsException“:
The image tag latest already exists in the xxx repository and cannot be overwritten because repository is immutable.
Die Vorteile der Immutable Tags sind erhöhte Sicherheit, Transparenz und Stabilität. Da die Tags nicht überschrieben werden können, kann ein Angreifer ein Docker-Image unter demselben Tag nicht überschreiben. Jede Code-Änderung muss durch ein neues Image-Tag deployed werden.
Gleichzeitig können auch Entwickler nicht unbeabsichtigt Software-Änderungen in die Produktion bringen. Die Praxis ist an sich ist nicht neu, öffentliche Repositories für Software-Pakete wie npm.org, pypi.org und andere besitzen diese Funktion standardmäßig.
Um dieses Feature nutzen zu können, muss der Release-Prozess gegebenenfalls individuell angepasst werden. Jedes Deployment-Artefakt wird mit einem Immutable-Tag eindeutig, beispielsweise durch einen Hash-Wert. Die CI/CD Pipeline muss damit umgehen können und es dürfen keine festen Abhängigkeiten zu den Tags, sowohl für das Deployment als auch für das Rollback, existieren.
Die Immutable-Tags müssen nicht immer verwendet werden. In der Praxis strebt man häufig eine Balance zwischen den beiden Varianten an, mit dem Ziel, hohe Geschwindigkeit und Stabilität der Release-Kette zu erhalten. In einer gewöhnlichen CI/CD-Pipeline mit Entwicklungs-, Test- und Produktionsumgebung werden Immutable-Tags vorerst in Test oder Produktion verwendet, was die Stabilität der Deployments erhöht.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Alexander Melnyk
(Bild: Amazon Web Services)
Um die Geschwindigkeit bei der Entwicklung zu erhalten und Code-Änderungen möglichst oft und schnell zu integrieren, können latest oder andere veränderbare Image-Tags verwendet werden. Mit zwei dedizierten ECR Repositories kann diese Strategie umgesetzt werden, wobei die CI/CD Pipeline das Verschieben und Taggen der Images zwischen den Umgebungen übernimmt.
* Alexander Melnyk ist Senior Specialist Solutions Architect bei AWS.