기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon ECR의 수명 주기 정책을 사용하여 이미지 정리 자동화
Amazon ECR 수명 주기 정책은 프라이빗 리포지토리의 이미지에 대한 수명 주기 관리를 보다 효과적으로 제어할 수 있도록 합니다. 수명 주기 정책은 1개 이상의 규칙을 포함하며 각 규칙은 Amazon ECR에 대한 작업을 정의합니다. 수명 주기 정책의 만료 기준에 따라 24시간 이내에 수명 주기 정책에 지정된 기준에 따라 이미지를 보관하거나 만료할 수 있습니다. Amazon ECR이 수명 주기 정책에 따라 작업을 수행할 때 이 작업은 AWS CloudTrail의 이벤트로 캡처됩니다. 자세한 내용은 를 사용하여 Amazon ECR 작업 로깅 AWS CloudTrail 단원을 참조하십시오.
수명 주기 정책의 작동 방식
수명 주기 정책은 리포지토리에서 만료되어야 하는 이미지를 결정하는 하나 이상의 규칙으로 구성됩니다. 수명 주기 정책의 사용을 고려할 때는 수명 주기 정책 미리 보기를 사용하여 수명 주기 정책을 리포지토리에 적용하기 전에 정책이 만료시키는 이미지를 확인하는 것이 중요합니다. 리포지토리에 수명 주기 정책을 적용하면, 해당 이미지는 만료 기준에 부합한 뒤 24시간 이내에 만료될 것으로 예상해야 합니다. Amazon ECR이 수명 주기 정책에 따라 작업을 수행할 때 이 작업은 AWS CloudTrail의 이벤트로 캡처됩니다. 자세한 내용은 를 사용하여 Amazon ECR 작업 로깅 AWS CloudTrail 단원을 참조하십시오.
다음 다이어그램은 수명 주기 정책 워크플로를 보여줍니다.
-
하나 이상의 테스트 규칙을 생성합니다.
-
테스트 규칙을 저장하고 미리 보기를 실행합니다.
-
수명 주기 정책 평가자는 모든 규칙을 살펴보고 각 규칙이 영향을 주는 이미지를 표시합니다.
-
그런 다음 수명 주기 정책 평가자는 규칙 우선 순위에 따라 규칙을 적용하고 리포지토리에서 만료되거나 보관되도록 설정된 이미지를 표시합니다. 낮은 규칙 우선 순위 번호는 높은 우선 순위를 의미합니다. 예를 들어 우선순위가 1인 규칙은 우선순위가 2인 규칙보다 우선합니다.
-
테스트 결과를 검토하여 만료되거나 아카이브된 것으로 표시된 이미지가 의도한 이미지인지 확인합니다.
-
리포지토리에 대한 수명 주기 정책으로 테스트 규칙을 적용합니다.
-
수명 주기 정책이 생성되면 이미지가 만료 기준을 충족한 후 24시간 이내에 만료되거나 보관될 것으로 예상해야 합니다.
수명 주기 정책 평가 규칙
수명 주기 정책 평가자는 수명 주기 정책의 평문 JSON의 구문을 분석하여 모든 규칙을 평가한 다음 규칙 우선 순위에 따라 이러한 규칙을 리포지토리 내의 이미지에 적용할 책임이 있습니다. 다음은 수명 주기 정책 평가자의 논리에 대해 자세히 설명합니다. 예시는 Amazon ECR의 수명 주기 정책 예제 섹션을 참조하세요.
-
참조 아티팩트가 리포지토리에 있는 경우 Amazon ECR 수명 주기 정책은 주제 이미지를 삭제하거나 보관한 후 24시간 이내에 해당 아티팩트를 자동으로 만료하거나 보관합니다.
-
규칙 우선 순위에 관계없이 모든 규칙이 동시에 평가됩니다. 모든 규칙이 평가되면 규칙 우선 순위에 따라 규칙이 적용됩니다.
-
이미지가 정확히 하나 또는 0개의 규칙에 의해 만료되거나 보관됩니다.
-
규칙의 태그 지정 요구 사항과 일치하는 이미지는 우선 순위가 낮은 규칙에 의해 만료되거나 보관될 수 없습니다.
-
규칙은 우선 순위가 더 높은 규칙으로 표시된 이미지를 표시할 수 없지만 만료되거나 아카이브되지 않은 것처럼 식별할 수 있습니다.
-
특정 스토리지 클래스를 선택하는 모든 규칙 세트에는 고유한 접두사 세트가 포함되어야 합니다.
-
특정 스토리지 클래스를 선택하는 규칙 하나만 태그가 지정되지 않은 이미지를 선택할 수 있습니다.
-
매니페스트 목록에서 이미지를 참조하는 경우 매니페스트 목록을 먼저 삭제하거나 보관하지 않으면 이미지를 만료하거나 보관할 수 없습니다.
-
만료는 항상
pushed_at_time또는 로 정렬transitioned_at_time되며 항상 이전 이미지가 새 이미지보다 먼저 만료됩니다. 이미지가 아카이브되었다가 과거에 복원된 경우 대신 이미지의last_activated_at가 사용됩니다pushed_at_time. -
수명 주기 정책 규칙은
tagPatternList또는tagPrefixList중 하나를 지정할 수 있지만 둘 다 지정할 수는 없습니다. 하지만 수명 주기 정책에는 여러 규칙이 포함될 수 있으며 다양한 규칙에서 패턴과 접두사 목록을 모두 사용합니다.tagPatternList또는tagPrefixList값에 있는 모든 태그가 이미지의 태그와 일치하면 이미지가 성공적으로 일치합니다. -
tagStatus이(가)tagged인 경우tagPatternList또는tagPrefixList매개변수만 사용할 수 있습니다. -
tagPatternList을(를) 사용할 때 이미지가 와일드카드 필터와 일치하면 이미지가 성공적으로 일치하는 것입니다. 예를 들어,prod*필터를 적용하면 이름이prod,prod1또는production-team1과 같이prod로 시작하는 이미지 태그와 일치하게 됩니다. 마찬가지로*prod*필터를 적용하면 이름이repo-production또는prod-team과 같이prod를 포함하는 이미지 태그와 일치하게 됩니다.중요
문자열당 와일드카드(
*) 는 최대 4개로 제한됩니다. 예를 들어,["*test*1*2*3", "test*1*2*3*"]은(는) 유효하지만["test*1*2*3*4*5*6"]은(는) 유효하지 않습니다. -
tagPrefixList사용 시tagPrefixList값에 있는 모든 와일드카드 필터가 이미지의 태그와 일치하는 경우 이미지가 성공적으로 일치합니다. -
countUnit파라미터는가sinceImagePushed,sinceImagePulled또는countType인 경우에만 사용됩니다sinceImageTransitioned. -
를 사용하면
countType = imageCountMoreThan를 기준으로 이미지가 가장 최근 이미지부터 가장 오래된 이미지까지 정렬된pushed_at_time다음 지정된 수보다 큰 모든 이미지가 만료되거나 보관됩니다. -
를 사용하면
pushed_at_time가에 따라 지정된 일수보다 오래된countType = sinceImagePushed모든 이미지가 만료되거나 보관countNumber됩니다. -
를 사용하면
last_recorded_pulltime가에 따라 지정된 일수보다 오래된countType = sinceImagePulled모든 이미지가 보관countNumber됩니다. 이미지를 가져오지 않은 경우 대신 이미지의pushed_at_time가 사용됩니다last_recorded_pulltime. 이미지가 아카이브된 후 과거 어느 시점에서든 복원되었지만 이미지가 복원된 이후 풀링되지 않은 경우 대신 이미지의last_activated_at가 사용됩니다last_recorded_pulltime. -
를 사용하면
last_archived_at가에 따라 지정된 일수보다 오래된countType = sinceImageTransitioned모든 아카이브된 이미지가countNumber만료됩니다. -
만료는 항상에서 정렬
pushed_at_time되며 항상 이전 이미지가 새 이미지보다 먼저 만료됩니다.