Amazon Web Services 한국 블로그

Amazon ECR 수명 주기 정책을 통한 컨테이너 이미지 자동 삭제 기능 출시

오늘부터 Amazon EC2 Container Registry(Amazon ECR)의 일부인 수명 주기 정책을 사용하여 오래되거나 사용하지 않는 이미지를 자동으로 제거함으로써 컨테이너 이미지 리포지토리를 깔끔하게 정리할 수 있습니다.

Amazon ECR은 종합 관리형 도커 컨테이너 레지스트리로 서비스 규모 조정을 통해 수백 개의 이미지의 일괄 풀링을 처리하는 데 따른 일반적인 문제를 염려할 필요 없이 도커 컨테이너 이미지를 용이하게 저장하고 관리하고 배포할 수 있습니다. 규모가 커지면 Amazon ECR을 사용하는 개발팀이 여러 컨테이너 이미지 버전으로 리포지토리가 가득차는 현상을 자주 접하게 됩니다. 그럴 경우 코드 변경을 찾기 힘들어지고 불필요한 스토리지 비용이 발생하여 문제가 됩니다. 이전에는 리포지토리를 정리하려면 오래된 이미지를 직접 삭제하거나 스크립트를 작성하고 실행하는 데 많은 시간이 소요되었습니다.

이제는 수명 주기 정책을 통해 규칙 집합을 정의하여 오래된 컨테이너 이미지를 자동으로 제거할 수 있습니다. 또한 규칙 미리 보기를 통해 규칙을 실행할 때 영향을 받는 컨테이너 이미지가 어떤 것인지 정확히 파악할 수 있습니다. 결과적으로 리포지토리를 더 잘 구성하여 문제의 소지가 있는 코드 수정을 보다 용이하게 찾고 스토리지 비용을 절감할 수 있습니다.

그럼 수명 주기 정책의 작동 방식을 알아보겠습니다.

 

기본 규칙

컨테이너에 코드를 배포하는 것에 따른 가장 큰 이점 중 하나는 이전 버전을 신속하고 용이하게 되돌릴 수 있다는 것입니다. 무언가가 잘못되었을 때 이전 컨테이너 버전으로 쉽게 되돌릴 수 있고 잘못된 배포 전처럼 애플리케이션 실행되기 때문에 위험 부담을 덜 안고 배포할 수 있습니다. 대부분은 아마도 몇 개 버전씩이나 롤백하는 경우는 없을 것입니다. 상황이 비슷하다면, 수명 주기 규칙 하나만으로 최근 30개 이미지를 보관하는 데 충분합니다.

최근 30개 이미지

ECR 레지스트리에서 [Dry-Run Lifecycle Rules, Add]를 선택합니다.

  • [Image Status]에서 [Untagged]를 선택합니다.
  • [Match criteria]의 [Count Type]에서 [Image Count More Than]을 입력합니다.
  • [Count Number]에서 30을 입력합니다.
  • [Rule action]에서 [expire]를 입력합니다.

Save를 선택합니다. 어떤 이미지가 정리되는지 확인하려면, [Save and dry-run rules]를 선택합니다.

물론 규정 준수 이유 때문에 특정 이미지의 경우 횟수 기준이 아니라 기간 기준으로 보관하는 것을 선호하는 경우도 있습니다. 그와 같은 상황에서는 90일이 지난 이미지를 정리하는 것을 선택할 수 있습니다.

Last 90 Days(지난 7일)

방금 생성한 규칙을 선택하고 [Edit]을 선택합니다. 태그 없는 이미지의 경우 90일 간만 보관하도록 파라미터를 변경합니다.

  • [Match criteria]의 [Count Type]에서 [Since Image Pushed]를 입력합니다.
  • [Count Number]에서 90을 입력합니다.
  • [Count Unit]에서 [days]를 입력합니다.

태그

90일은 임의로 제시한 기간으로, 특정한 종류의 이미지에 대해서는 더 긴 기간을 요하는 정책을 시행할 수도 있을 것입니다. 그와 같은 상황에서도 계속하여 정리를 원하는 경우, 태그가 앞에 붙는 이미지를 삭제하는 것을 검토할 수 있습니다.

아래는 태그 없는 이미지, 개발, 스테이징 및 프로덕션 이미지를 정리하기 위한 규칙의 목록입니다.

  • 90일이 지난 태그가 없는 이미지 삭제
  • 90일이 지난 개발 태그가 붙은 이미지 삭제
  • 180일이 지난 스테이징 태그가 붙은 이미지 삭제
  • 1년이 지난 프로덕션 태그가 붙은 이미지 삭제

확인할 수 있듯이 새 Amazon ECR 수명 주기 정책은 강력하며, 필요한 이미지는 간단하게 보관하고 다시 사용할 일이 없는 이미지는 쉽게 삭제할 수 있게 해 줍니다. 이 기능은 Amazon ECR을 이용할 수 있는 모든 리전에서 추가 비용 없이 지금 바로 이용할 수 있습니다. 자세한 내용은 Amazon AWS 기술 설명서의 Amazon ECR 수명 주기 정책을 참조하십시오.

Brent;

이 글은 AWS Compute Blog의 Clean up Your Container Images with Amazon ECR Lifecycle Policies 글의 한국어 번역입니다.