Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Automatisez le nettoyage des images en utilisant les politiques de cycle de vie d'Amazon ECR
Les politiques de cycle de vie Amazon ECR vous permettent de contrôler la gestion du cycle de vie des images d'un référentiel privé. Une politique de cycle de vie contient une ou plusieurs règles, et chaque règle définit une action pour Amazon ECR. Selon les critères d'expiration de la politique de cycle de vie, les images peuvent être archivées ou expirées selon les critères spécifiés dans la politique de cycle de vie dans les 24 heures. Lorsqu'Amazon ECR exécute une action basée sur une politique de cycle de vie, cette action est capturée en tant qu'événement dans AWS CloudTrail. Pour de plus amples informations, veuillez consulter Journalisation des actions Amazon ECR avec AWS CloudTrail.
Fonctionnement des politiques de cycle de vie
Une politique de cycle de vie se compose d'une ou de plusieurs règles qui déterminent quelles sont images d'un référentiel qui doivent expirer. Lorsque vous envisagez d'utiliser des politiques de cycle de vie, il est important d'afficher l'aperçu de la politique de cycle de vie pour confirmer quelles sont les images que la politique de cycle de vie doit faire expirer avant de l'appliquer à un référentiel. Une fois qu'une politique de cycle de vie est appliquée à un référentiel, vous pouvez vous attendre à ce que les images concernées expireront dans les 24 heures après avoir satisfait aux critères d'expiration. Lorsque Amazon ECR exécute une action basée sur une stratégie de cycle de vie, elle est capturée en tant qu'événement dans AWS CloudTrail. Pour de plus amples informations, veuillez consulter Journalisation des actions Amazon ECR avec AWS CloudTrail.
Le diagramme suivant illustre un flux de travail de la politique du cycle de vie.
-
Créez une ou plusieurs règles de test.
-
Enregistrez les règles de test et exécutez l'aperçu.
-
L'évaluateur de la politique de cycle de vie examine toutes les règles et marque les images auxquelles chaque règle doit s'appliquer.
-
L'évaluateur des politiques de cycle de vie applique ensuite les règles, en fonction de la priorité des règles, et affiche les images du référentiel configurées pour être expirées ou archivées. Un numéro de priorité de règle inférieur signifie une priorité plus élevée. Par exemple, une règle de priorité 1 a priorité sur une règle de priorité 2.
-
Passez en revue les résultats du test pour vous assurer que les images marquées comme expirées ou archivées correspondent à vos attentes.
-
Appliquez les règles de test en tant que politique de cycle de vie du référentiel.
-
Une fois la politique de cycle de vie créée, vous devez vous attendre à ce que les images soient expirées ou archivées dans les 24 heures suivant le respect des critères d'expiration.
Règles d'évaluation de la politique de cycle de vie
Cet évaluateur de politique de cycle de vie analyse le code JSON en texte brut de la politique de cycle de vie, évalue toutes les règles, puis applique ces règles aux images en fonction de la priorité des règles dans le référentiel. Ce qui suit explique la logique de l'évaluateur de la politique de cycle de vie plus en détails. Pour obtenir des exemples, consultez Exemples de politiques de cycle de vie dans Amazon ECR.
-
Lorsque des artefacts de référence sont présents dans un référentiel, les politiques de cycle de vie d'Amazon ECR expirent ou archivent automatiquement ces artefacts dans les 24 heures suivant la suppression ou l'archivage de l'image d'objet.
-
Toutes les règles sont évaluées en même temps, quelle que soit la priorité de la règle. Lorsque l'évaluation de toutes les règles est terminée, les règles sont ensuite appliquées en fonction de leur priorité.
-
Une image est expirée ou archivée selon exactement une ou aucune règle.
-
Une image qui répond aux exigences de balisage d'une règle ne peut pas être expirée ou archivée par une règle de priorité inférieure.
-
Les règles ne peuvent jamais marquer les images marquées par des règles de priorité plus élevée, mais elles peuvent tout de même les identifier comme si elles n'avaient pas été expirées ou archivées.
-
L'ensemble de règles sélectionnant une classe de stockage spécifique doit contenir un ensemble unique de préfixes.
-
Une seule règle sélectionnant une classe de stockage spécifique est autorisée pour sélectionner des images non étiquetées.
-
Si une image est référencée par une liste de manifestes, elle ne peut pas être expirée ou archivée sans que la liste de manifestes soit préalablement supprimée ou archivée.
-
L'expiration est toujours ordonnée par
pushed_at_timeoutransitioned_at_timeet fait toujours expirer les anciennes images avant les plus récentes. Si une image a été archivée puis restaurée par le passé, c'est l'image quilast_activated_atest utilisée à la place depushed_at_time. -
Une règle de politique de cycle de vie peut spécifier soit
tagPatternList, soittagPrefixList, mais pas les deux. Cependant, une politique de cycle de vie peut contenir plusieurs règles dans lesquelles différentes règles utilisent à la fois des listes de modèles et de préfixes. Une image est correctement mise en correspondance si toutes les balises de latagPrefixListvaleurtagPatternListou sont mises en correspondance avec l'une des balises de l'image. -
Les paramètres
tagPatternListoutagPrefixListne peuvent être utilisés que sitagStatusesttagged. -
Lors de l’utilisation de
tagPatternList, une image fait l’objet d’une correspondance si elle correspond au filtre de caractère générique. Par exemple, si un filtre deprod*est appliqué, il correspondra aux balises d'image dont le nom commence parprodtel queprodprod1, ou.production-team1De même, si un filtre de*prod*est appliqué, il correspondra aux balises d'image dont le nom contient une valeurprodtelle querepo-productionou.prod-teamImportant
Il existe une limite maximale de quatre caractères génériques (
*) par chaîne. Par exemple,["*test*1*2*3", "test*1*2*3*"]est valide mais["test*1*2*3*4*5*6"]ne l’est pas. -
Lors de l'utilisation
tagPrefixList, une image est correctement mise en correspondance si tous les filtres génériques de latagPrefixListvaleur correspondent à l'une des balises de l'image. -
Le
countUnitparamètre n'est utilisé que s'countTypeil estsinceImagePushedsinceImagePulled, ousinceImageTransitioned. -
Avec
countType = imageCountMoreThan, les images sont triées de la plus récente à la plus ancienne,pushed_at_timepuis toutes les images supérieures au nombre spécifié sont expirées ou archivées. -
Avec
countType = sinceImagePushed, toutes les images dont le nombre de jourspushed_at_timeest supérieur au nombre de jours spécifiécountNumbersont expirées ou archivées. -
Avec
countType = sinceImagePulled, toutes les images dont le nombre de jourslast_recorded_pulltimeest supérieur au nombre de jours spécifiécountNumbersont archivées. Si une image n'a jamais été extraite, c'pushed_at_timeest l'image qui est utilisée à la place delast_recorded_pulltime. Si une image a été archivée puis restaurée par le passé, mais qu'elle n'a jamais été extraite depuis sa restauration, c'last_activated_atest l'image qui est utilisée à la place delast_recorded_pulltime. -
Avec
countType = sinceImageTransitioned, toutes les images archivéeslast_archived_atdatant de plus de jours que le nombre de jours spécifiécountNumbersont expirées. -
L'expiration est toujours ordonnée
pushed_at_timeet fait toujours expirer les anciennes images avant les plus récentes.