Elastic Container Registry는 완전관리형 컨테이너 레지스트리이다.
간단히 표현하면 컨테이너에 올릴 도커 이미지의 저장소다.
완전관리형 컨테이너 레지스트리 – Amazon Elastic Container Registry - Amazon Web Services
앞서 작업한 NestJS 어플리케이션을 Github Actions를 통해 Docker Image로 만들어 ECR에 올릴 것이다.
ECR 페이지로 가서 [리포지토리 생성] 을 눌러주자.
[표시 여부 설정] 은 [프라이빗] 으로 한다.
저장소 이름은 develop-nestjs-guide-api
로 했다.
VPC 에서 생성한 dev-vpc
를 사용할 것이기 때문이다.
[암호화 설정] 은 하는 것이 좋을 것 같은데… 잘 몰라서 일단 패스했다.
(프라이빗이니 당장은 털릴 걱정은 덜어도 되지 않을까?)
배포를 열심히 하다보면 ECR에 이미지가 잔뜩 쌓이게 된다.
배포 이미지가 작지 않기 때문에 순식간에 용량이 차고 그게 다 비용으로 이어진다.
(비싼 건 아니지만… 그래도 아깝지 않은가!)
이미지의 수명 주기 정책을 설정해서 조건에 따라 이미지를 자동으로 지워줄 수 있다.
[규칙 생성] 을 누르자.
[규칙 우선 순위] 는 여러 개의 규칙이 있을 때 무엇을 먼저 고려할지 정하는 것이다.
ECR 수명 주기 규칙을 복잡하게 구성할 일은 거의 없으니 적당히 5
정도로 해두자.
수명 주기 규칙은 아래의 두 가지 경우로 설정이 가능하다.
나는 이미지가 10개 이상이 되면 지우도록 설정했다.
이렇게 설정하면 수명 주기 규칙이 알아서 오래된 녀석부터 지워준다.
규칙이 어떻게 적용될지 궁금하다면 Lifecycle Policy 페이지에서 [테스트 규칙 편집] 을 눌러보자.
어떤 이미지가 규칙에 영향을 받을지 테스트 할 수 있는 기능이 있다.