Исключение из политики жизненного цикла ECR

В нашем ECR мы ежедневно выдвигаем много изображений с тегом 16_XXXX. Некоторые из загруженных изображений не являются стабильной версией приложения. Когда есть стабильная версия, мы помечаем изображение тегом 16.XXXX.

Мы настроили политику жизненного цикла для очистки изображений с тегом 16_XXXX в imageCountMoreThan (500). Поскольку существуют изображения с двумя тегами (т.е. стабильная версия) (например, 16_0715 и 16.0715), будут ли они также очищены?

Мы не хотим удалять все стабильные версии изображений. Есть ли способ повторно пометить изображение и удалить старый тег, чтобы исключить его из политики жизненного цикла ECR?

Спасибо!

1 ответ

Если у вас есть только одно правило, оно действительно удалит ваши стабильные изображения.

Однако вы можете сделать это с помощью 2 правил в политике. Правило с приоритетом 10 сохранит ваши стабильные изображения (16.XXXX) в безопасности, а правило с приоритетом 20 будет "видеть" количество тегов с вашими нестабильными версиями (16_XXXX), но не сможет удалить стабильное изображение, потому что оно в более высоком приоритете. Вот пример:

{ "rules": [ { "rulePriority": 10, "description": "Keep Stable Images", "selection": { "tagStatus": "tagged", "tagPrefixList": ["16."], "countType": "imageCountMoreThan", "countNumber": 9999 }, "action": { "type": "expire" } }, { "rulePriority": 20, "description": "Delete Old Unstable Images", "selection": { "tagStatus": "tagged", "tagPrefixList": ["16_"], "countType": "imageCountMoreThan", "countNumber": 500 }, "action": { "type": "expire" } } ] }

Источник: я написал логику оценки правил для политик жизненного цикла:) Вы также можете проверить документы, в нижней части этой страницы описаны некоторые факты о системе, которой могут воспользоваться пользователи: https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html

An image that matches the tagging requirements of a rule cannot be expired by a rule with a lower priority.

Другие вопросы по тегам