Automatisieren Sie die Bereinigung von Bildern mithilfe von Lebenszyklusrichtlinien in Amazon ECR - Amazon ECR

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Automatisieren Sie die Bereinigung von Bildern mithilfe von Lebenszyklusrichtlinien in Amazon ECR

Amazon ECR-Lebenszyklusrichtlinien bieten mehr Kontrolle über das Lebenszyklusmanagement von Images in einem privaten Repository. Eine Lebenszyklusrichtlinie enthält eine oder mehrere Regeln, und jede Regel definiert eine Aktion für Amazon ECR. Auf der Grundlage der Ablaufkriterien in der Lebenszyklusrichtlinie können Bilder innerhalb von 24 Stunden archiviert werden oder sie können entsprechend den in der Lebenszyklusrichtlinie angegebenen Kriterien archiviert werden. Wenn Amazon ECR eine Aktion auf der Grundlage einer Lebenszyklusrichtlinie ausführt, wird diese Aktion als Ereignis in AWS CloudTrail erfasst. Weitere Informationen finden Sie unter Protokollierung von Amazon ECR-Aktionen mit AWS CloudTrail.

Wie Lebenszyklusrichtlinien funktionieren

Eine Lebenszyklusrichtlinie besteht aus einer oder mehreren Regeln, die festlegen, welche Images in einem Repository ablaufen sollen. Wenn Sie den Einsatz von Lebenszyklusrichtlinien in Erwägung ziehen, ist es wichtig, die Vorschau der Lebenszyklusrichtlinie zu verwenden, um zu bestätigen, welche Images die Lebenszyklusrichtlinie ablaufen lässt, bevor sie auf ein Repository angewendet wird. Sobald eine Lebenszyklusrichtlinie auf ein Repository angewendet wird, sollten Sie davon ausgehen, dass Images innerhalb von 24 Stunden, nachdem sie die Ablaufkriterien erfüllt haben, ablaufen. Wenn Amazon ECR eine Aktion basierend auf einer Lebenszyklusrichtlinie durchführt, wird dies als Ereignis in AWS CloudTrail angegeben. Weitere Informationen finden Sie unter Protokollierung von Amazon ECR-Aktionen mit AWS CloudTrail.

Das folgende Diagramm zeigt den Workflow der Lebenszyklusrichtlinie.

Diagramm, das den Prozess der Auswertung und Anwendung einer Lebenszyklusrichtlinie zeigt.
  1. Erstellen Sie eine oder mehrere Testregeln.

  2. Speichern Sie die Testregeln und führen Sie die Vorschau aus.

  3. Der Lifecycle Policy Evaluator geht alle Regeln durch und markiert die Images, auf die sich jede Regel auswirkt.

  4. Der Lifecycle-Policy-Evaluator wendet dann die Regeln auf der Grundlage der Regelpriorität an und zeigt an, welche Bilder im Repository als abgelaufen oder archiviert gelten. Eine niedrigere Regelprioritätsnummer bedeutet eine höhere Priorität. Beispielsweise hat eine Regel mit Priorität 1 Vorrang vor einer Regel mit Priorität 2.

  5. Überprüfen Sie die Testergebnisse und stellen Sie sicher, dass die Bilder, die als abgelaufen oder archiviert markiert sind, Ihren Vorstellungen entsprechen.

  6. Wenden Sie die Testregeln als Lebenszyklusrichtlinie für das Repository an.

  7. Sobald die Lebenszyklusrichtlinie erstellt wurde, sollten Sie damit rechnen, dass Bilder innerhalb von 24 Stunden, nachdem sie die Ablaufkriterien erfüllen, abgelaufen sind oder archiviert werden.

Regeln für die Bewertung der Lebenszyklusrichtlinie

Der Lifecycle-Policy-Evaluator ist für das Parsen des Klartext-JSON der Lifecycle-Policy, die Bewertung aller Regeln und die anschließende Anwendung dieser Regeln basierend auf der Regelpriorität auf die Images im Repository zuständig. Im Folgenden wird die Logik des Lifecycle-Policy-Evaluators ausführlicher erläutert. Beispiele finden Sie unter Beispiele für Lebenszyklusrichtlinien in Amazon ECR.

  • Wenn Referenzartefakte in einem Repository vorhanden sind, laufen die Amazon ECR-Lebenszyklusrichtlinien automatisch ab oder archivieren diese Artefakte innerhalb von 24 Stunden nach dem Löschen oder Archivieren des betreffenden Bilds.

  • Alle Regeln werden gleichzeitig ausgewertet, unabhängig von der Priorität der Regeln. Nachdem alle Regeln ausgewertet wurden, werden sie entsprechend der Regelpriorität angewendet.

  • Ein Bild ist abgelaufen oder wird nach genau einer oder gar keiner Regel archiviert.

  • Ein Bild, das den Tagging-Anforderungen einer Regel entspricht, kann nicht aufgrund einer Regel mit niedrigerer Priorität abgelaufen oder archiviert werden.

  • Regeln können Bilder, die durch Regeln mit höherer Priorität gekennzeichnet sind, niemals markieren, sie können sie aber dennoch so identifizieren, als ob sie nicht abgelaufen oder archiviert wären.

  • Der Satz aller Regeln, die eine bestimmte Speicherklasse auswählen, muss einen eindeutigen Satz von Präfixen enthalten.

  • Nur eine Regel, die eine bestimmte Speicherklasse auswählt, darf Bilder ohne Tags auswählen.

  • Wenn in einer Manifestliste auf ein Bild verwiesen wird, kann es nicht abgelaufen oder archiviert werden, ohne dass die Manifestliste zuerst gelöscht oder archiviert wurde.

  • Das Ablaufdatum wird immer nach pushed_at_time oder geordnet transitioned_at_time und ältere Images laufen immer vor neueren ab. Wenn ein Bild archiviert und dann zu einem beliebigen Zeitpunkt in der Vergangenheit wiederhergestellt wurde, last_activated_at wird das Bild anstelle von verwendetpushed_at_time.

  • Eine Lebenszyklusrichtlinienregel kann entweder tagPatternList odertagPrefixList angeben, aber nicht beide. Eine Lebenszyklusrichtlinie kann jedoch mehrere Regeln enthalten, wobei unterschiedliche Regeln sowohl Muster- als auch Präfixlisten verwenden können. Ein Bild ist erfolgreich zugeordnet, wenn alle Tags im tagPrefixList Wert tagPatternList oder mit einem der Bild-Tags abgeglichen wurden.

  • Die Parameter tagPrefixList oder tagPatternList dürfen nur verwendet werden, wenn der tagStatus auf tagged lautet.

  • Bei Verwendung von tagPatternList stimmt ein Image erfolgreich überein, wenn es dem Platzhalterfilter entspricht. Wenn beispielsweise ein Filter von angewendet prod* wird, würde er Bild-Tags entsprechen, deren Name prod beispielsweise mit prodprod1, oder beginnt. production-team1 Wenn ein Filter von angewendet *prod* wird, würde er auch Bild-Tags entsprechen, deren Name beispielsweise oder enthältprod. repo-production prod-team

    Wichtig

    Es gibt eine Obergrenze von vier Platzhaltern (*) pro Zeichenfolge. Zum Beispiel ist ["*test*1*2*3", "test*1*2*3*"] gültig, ["test*1*2*3*4*5*6"] aber ungültig.

  • Bei Verwendung dieser Option wird ein Bild erfolgreich zugeordnettagPrefixList, wenn alle Platzhalterfilter im tagPrefixList Wert mit einem der Tags des Bilds abgeglichen wurden.

  • Der countUnit Parameter wird nur verwendet, wenn er sinceImagePushedsinceImagePulled, oder countType sinceImageTransitioned ist.

  • Mit countType = imageCountMoreThan werden Bilder auf der Grundlage von den jüngsten zu den ältesten sortiert, pushed_at_time und dann sind alle Bilder, die die angegebene Anzahl überschreiten, abgelaufen oder archiviert.

  • Mit sind alle BildercountType = sinceImagePushed, pushed_at_time die älter als die angegebene Anzahl von Tagen countNumber sind, abgelaufen oder archiviert.

  • Mit werden alle Bilder last_recorded_pulltime archiviertcountType = sinceImagePulled, die älter als die angegebene Anzahl von Tagen countNumber sind. Wenn ein Bild nie abgerufen wurde, pushed_at_time wird das Bild anstelle von verwendetlast_recorded_pulltime. Wenn ein Bild zu einem beliebigen Zeitpunkt in der Vergangenheit archiviert und dann wiederhergestellt wurde, aber seit der Wiederherstellung des Images nie abgerufen wurde, last_activated_at wird das Bild anstelle von verwendetlast_recorded_pulltime.

  • Mit sind alle archivierten Bilder countType = sinceImageTransitionedlast_archived_at, die älter als die angegebene Anzahl von Tagen countNumber sind, abgelaufen.

  • Das Ablaufdatum wird immer nach älteren Bildern geordnet pushed_at_time und läuft immer vor neueren ab.