Category: Amazon EC2 Container Registry*


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 글의 한국어 번역입니다.

Amazon EC2 Container Registry(ECR), 서울 리전 출시

지난 주 Amazon ECS 서비스 서울 리전 출시 이후, 오늘 Amazon EC2 Container Registry(ECR) 서비스도 서울 리전에 출시 합니다.

Amazon ECR 서비스는 콘테이너 기반 서비스 개발자가 Docker 콘테이너 이미지를 손쉽게 저장, 관리 및 배포할 수 있게 해주는 완전관리형 Docker 콘테이너 레지스트리입니다. Amazon ECR은 Amazon EC2 Container Service(ECS)와 통합되어 개발에서 프로덕션까지의 워크플로를 간소화할 수 있을 뿐 아니라 자체 컨테이너 레지스트리를 운영하거나 기본 인프라 확장에 대해 걱정할 필요가 없습니다.

또한, 콘테이너 이미지를 가용성과 확장성이 뛰어난 인프라에 호스팅하여 애플리케이션을 위해 콘테이너를 안정적으로 배포할 수 있습니다. 또한, AWS Identity and Access Management(IAM)와 통합되어 각 리포지토리에 대한 리소스 수준의 제어를 제공합니다.

Amazon ECS/ECR  출시에 맞추어 아래와 같이 온라인 세미나를 준비하였습니다. 관심 있는 분들의 많은 참여를 바랍니다.

기술 기초 | Amazon ECS/ECR 활용하여 마이크로서비스 구성하기
연사: 김기완 AWS 솔루션즈 아키텍트
일시: 2017년 11월 1일 (수) 오전 10:00 – 오전 11:30

콘테이너를 활용하여 마이크로서비스를 구성할 때는 효과적으로 콘테이너 및 서비스를 관리할 수 있는 방법이 필요합니다. 본 세션에서는 유연하게 콘테이너 환경을 관리/모니터링 할 수 있는 Amazon EC2 Container Service 및 EC2 Container Registry를 소개합니다. 아울러 Amazon ECS/ECR 환경에서 효과적인 자원 및 로그 관리, 마이크로서비스 관리에 대해서 자세히 살펴봅니다.

지금 등록하기

Amazon ECR에는 리포지토리에 저장한 콘테이너 이미지 데이터와 인터넷으로 전송한 데이터 양에 대한 요금만 지불합니다. 프리티어 고객은 1년간 500MB 데이터 저장 용량에 대해서 무료입니다. 더 상세한 것은 서울 리전에 대한 ECR 요금표를 참고하시기 바랍니다.

더 자세한 사항은 Amazon ECR 서비스 제품 페이지설명서블로그를 참조하십시오.

윤석찬 (Channy);