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

Die ECR Lebenszyklusrichtlinien von Amazon bieten mehr Kontrolle über das Lebenszyklusmanagement von Bildern in einem privaten Repository. Eine Lebenszyklusrichtlinie enthält eine oder mehrere Regeln, und jede Regel definiert eine Aktion für AmazonECR. Basierend auf den Ablaufkriterien in der Lebenszyklusrichtlinie laufen Bilder je nach Alter oder Anzahl innerhalb von 24 Stunden ab. Wenn Amazon eine Aktion auf der Grundlage einer Lebenszyklusrichtlinie ECR durchführt, wird diese Aktion als Ereignis in erfasst AWS CloudTrail. Weitere Informationen finden Sie unter ECRAmazon-Aktionen protokollieren 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 eine Aktion auf der Grundlage einer Lebenszyklusrichtlinie ECR durchführt, wird dies als Ereignis in erfasst AWS CloudTrail. Weitere Informationen finden Sie unter ECRAmazon-Aktionen protokollieren 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 Evaluator für Lebenszyklus-Richtlinien ist dafür verantwortlich, den Klartext JSON der Lebenszyklus-Richtlinie zu analysieren, alle Regeln zu bewerten und diese Regeln dann auf der Grundlage der Regelpriorität auf die Bilder im Repository anzuwenden. Im Folgenden wird die Logik des Lifecycle-Policy-Evaluators ausführlicher erläutert. Beispiele finden Sie unter Beispiele für Lebenszyklusrichtlinien bei 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. 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 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.