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. Basierend auf den Ablaufkriterien in der Lebenszyklusrichtlinie laufen Bilder je nach Alter oder Anzahl innerhalb von 24 Stunden ab. 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 Lebenszyklusrichtlinien-Evaluator wendet dann die Regeln auf der Grundlage der Regelpriorität an und zeigt an, welche Images im Repository als ablaufend gekennzeichnet sind.

  5. Überprüfen Sie die Ergebnisse des Tests und vergewissern Sie sich, dass die Images, die als abgelaufen markiert sind, auch die gewünschten sind.

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

  7. Sobald die Lebenszyklusrichtlinie erstellt ist, sollten Sie davon ausgehen, dass Images innerhalb von 24 Stunden, nachdem sie die Ablaufkriterien erfüllt haben, ablaufen.

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.

  • 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 Image läuft mit genau einer oder null Regeln ab.

  • Ein Image, das mit den Markierungsanforderungen einer Regel übereinstimmt, kann nicht durch eine Regel mit niedrigerer Priorität ablaufen.

  • Regeln können keine Images markieren, die mit Regeln höherer Priorität gekennzeichnet sind, aber sie können sie identifizieren, als wären sie nicht abgelaufen.

  • Die Regelmenge muss eine eindeutige Menge an Tag-Präfixen enthalten.

  • Es ist nur eine Regel zulässig, die nicht markierte Images auswählt.

  • Wenn ein Image von einer Manifestliste referenziert wird, kann es nicht abgelaufen sein, ohne dass die Manifestliste zuvor gelöscht wurde.

  • Das Ablaufen wird immer nach pushed_at_time sortiert, und ältere Images laufen immer vor neueren ab.

  • 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.

  • 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 der Filter prod* angewendet wird, werden Repositorys gefunden, deren Name mit prod beginnt, zum Beispiel prod, prod1 oder production-team1. Wenn hingegen der Filter *prod* angewendet wird, werden auch Repositorys gefunden, deren Name prod enthält, zum Beispiel repo-production oder 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 der tagPrefixList stimmt ein Image erfolgreich überein, wenn alle Tags im tagPrefixList-Wert mit den Tags des Images übereinstimmen.

  • Der countUnit-Parameter wird nur verwendet, wenn countType sinceImagePushed ist.

  • Mit countType = imageCountMoreThan werden Images vom neuesten zum ältesten sortiert, basierend auf pushed_at_time, und anschließend laufen alle Images ab, die größer als der vorgegebene Zähler sind.

  • Mit countType = sinceImagePushed laufen alle Images ab, deren pushed_at_time älter als die angegebene Anzahl an Tagen basierend auf countNumber ist.