Automatizza la pulizia delle immagini utilizzando le politiche del ciclo di vita in Amazon ECR - Amazon ECR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Automatizza la pulizia delle immagini utilizzando le politiche del ciclo di vita in Amazon ECR

Le policy del ciclo di vita di Amazon ECR offrono un maggiore controllo sulla gestione del ciclo di vita delle immagini in un repository privato. Una policy sul ciclo di vita contiene una o più regole e ogni regola definisce un'azione per Amazon ECR. In base ai criteri di scadenza della politica del ciclo di vita, le immagini possono essere archiviate o scadute in base ai criteri specificati nella politica del ciclo di vita entro 24 ore. Quando Amazon ECR esegue un'azione basata su una politica del ciclo di vita, tale azione viene acquisita come evento in. AWS CloudTrail Per ulteriori informazioni, consulta Registrazione delle azioni Amazon ECR con AWS CloudTrail.

Funzionamento delle policy del ciclo di vita

Una policy del ciclo di vita è costituita da una o più regole che determinano quali immagini in un repository devono scadere. Quando si considera l'utilizzo delle policy del ciclo di vita, è importante utilizzare la relativa anteprima per confermare quali immagini la policy del ciclo di vita fa scadere prima di applicarla a un repository. Una volta applicata una policy del ciclo di vita a un repository, le immagini interessate dovrebbero scadere entro 24 ore dal raggiungimento dei criteri di scadenza. Quando Amazon ECR esegue un'azione basata su una policy del ciclo di vita, questa viene acquisita come evento in AWS CloudTrail. Per ulteriori informazioni, consulta Registrazione delle azioni Amazon ECR con AWS CloudTrail.

Il seguente diagramma mostra un flusso di lavoro di policy del il ciclo di vita.

Diagramma che mostra il processo per la valutazione e l'applicazione di una policy del ciclo di vita.
  1. Creare una o più regole di test.

  2. Salvare le regole di test ed eseguire l'anteprima.

  3. Il valutatore delle policy del ciclo di vita passa in rassegna tutte le regole e contrassegna le immagini interessate da ogni regola.

  4. Lo strumento di valutazione delle politiche del ciclo di vita applica quindi le regole, in base alla priorità delle regole, e mostra quali immagini nel repository sono impostate per essere scadute o archiviate. Un numero di priorità della regola più basso significa una priorità più alta. Ad esempio, una regola con priorità 1 ha la precedenza su una regola con priorità 2.

  5. Controlla i risultati del test, assicurandoti che le immagini contrassegnate come scadute o archiviate corrispondano a quelle desiderate.

  6. Applicare le regole di test come policy del ciclo di vita per il repository.

  7. Una volta creata la politica del ciclo di vita, dovresti aspettarti che le immagini scadano o vengano archiviate entro 24 ore dal soddisfacimento dei criteri di scadenza.

Regole per la valutazione delle policy del ciclo di vita

Il valutatore della policy del ciclo di vita è responsabile dell'analisi del JSON di testo normale della policy del ciclo di vita, della valutazione di tutte le regole e quindi dell'applicazione di tali regole in base alla priorità della regola alle immagini nel repository. Di seguito viene illustrata la logica del valutatore delle policy del ciclo di vita in modo più dettagliato. Per alcuni esempi, consulta Esempi di politiche del ciclo di vita in Amazon ECR.

  • Quando in un repository sono presenti elementi di riferimento, le policy del ciclo di vita di Amazon ECR scadono o archiviano automaticamente tali artefatti entro 24 ore dall'eliminazione o dall'archiviazione dell'immagine oggetto.

  • Tutte le regole vengono valutate contemporaneamente, a prescindere dalla priorità della regola. Dopo che tutte le regole sono state valutate, vengono applicate in base alla priorità della regola.

  • Un'immagine è scaduta o archiviata esattamente in base a una o zero regole.

  • Un'immagine che soddisfa i requisiti di tagging di una regola non può essere scaduta o archiviata in base a una regola con una priorità inferiore.

  • Le regole non possono mai contrassegnare le immagini contrassegnate da regole di priorità più elevata, ma possono comunque identificarle come se non fossero scadute o archiviate.

  • L'insieme di tutte le regole che selezionano una classe di archiviazione specifica deve contenere un set unico di prefissi.

  • È consentita una sola regola: la selezione di una classe di archiviazione specifica è consentita per selezionare immagini senza tag.

  • Se un'immagine è referenziata da un elenco di manifesti, non può essere scaduta o archiviata senza che l'elenco dei manifesti venga prima eliminato o archiviato.

  • La scadenza è sempre ordinata per pushed_at_time o fa scadere sempre transitioned_at_time le immagini più vecchie prima di quelle nuove. Se un'immagine è stata archiviata e poi ripristinata in qualsiasi momento nel passato, last_activated_at viene utilizzata l'immagine al posto di. pushed_at_time

  • Una regola della policy del ciclo di vita può specificare tagPatternList o tagPrefixList, ma non entrambi. Tuttavia, una policy del ciclo di vita può contenere più regole in cui regole diverse utilizzano sia elenchi di modelli che di prefissi. Un'immagine viene abbinata correttamente se tutti i tag del tagPrefixList valore tagPatternList or corrispondono a uno qualsiasi dei tag dell'immagine.

  • I parametri tagPatternList o tagPrefixList possono essere utilizzati solo se tagStatus è tagged.

  • Quando si utilizza tagPatternList, un'immagine viene abbinata correttamente se corrisponde al filtro jolly. Ad esempio, se prod* viene applicato un filtro di, corrisponderebbe ai tag di immagine il cui nome inizia conprod, o. prod prod1 production-team1 Allo stesso modo, se *prod* viene applicato un filtro di, corrisponderebbe ai tag di immagine il cui nome contiene prod o. repo-production prod-team

    Importante

    Esiste un limite massimo di quattro caratteri jolly (*) per stringa. Ad esempio, ["*test*1*2*3", "test*1*2*3*"] è valido ma ["test*1*2*3*4*5*6"] non è valido.

  • Quando viene utilizzatatagPrefixList, un'immagine viene abbinata correttamente se tutti i filtri jolly del tagPrefixList valore corrispondono a uno qualsiasi dei tag dell'immagine.

  • Il countUnit parametro viene utilizzato solo se countType èsinceImagePushed, sinceImagePulled o. sinceImageTransitioned

  • ConcountType = imageCountMoreThan, le immagini vengono ordinate dalla più recente alla più vecchia in base a pushed_at_time e quindi tutte le immagini superiori al numero specificato vengono scadute o archiviate.

  • ConcountType = sinceImagePushed, tutte le immagini più vecchie del pushed_at_time numero di giorni specificato in base al numero di giorni specificato countNumber sono scadute o archiviate.

  • ConcountType = sinceImagePulled, countNumber vengono archiviate tutte last_recorded_pulltime le immagini più vecchie del numero di giorni specificato in base a. Se un'immagine non è mai stata estratta, pushed_at_time viene utilizzata l'immagine al posto di. last_recorded_pulltime Se un'immagine è stata archiviata e poi ripristinata in qualsiasi momento in passato, ma non è mai stata estratta da quando l'immagine è stata ripristinata, last_activated_at viene utilizzata l'immagine al posto di. last_recorded_pulltime

  • ConcountType = sinceImageTransitioned, tutte le immagini archiviate più vecchie del numero di giorni specificato in base countNumber a sono scadute. last_archived_at

  • La scadenza è sempre ordinata per pushed_at_time e fa scadere sempre le immagini più vecchie prima di quelle nuove.