ECS를 사용하려면 ECR에 이미지를 올려야 합니다.
ECR에는 lifecycle이라고 해서
특정 태그를 지정하거나 안하고
일정 시간이 지나거나 일정 개수 이상일경우
이미지를 삭제 합니다. (일정개수 이상인경우 오래된것부터 삭제)
사용방법은 굉장히 간단합니다.
ECR에 들어가서 repository에 들어가면 만들어 놓은 repository 가 나옵니다
lifecycle을 적용하고 싶은 리포지토리를 선택합니다.
그러면 왼쪽탭에 여러 기능이 나옵니다
그중 lifecycle을 선택합니다.
처음 생성하면 밑에 아무것도 없을것입니다.
오른쪽에 규칙생성을 눌러줍니다.
그러면 우선순위, 설명등 나오는데
위에서 설명한대로 조건을 줄수있는 이미지 상태, 매치범위(시간, 갯수)로 설정을 할수있습니다.
규칙작업은 expire 뿐입니다.(조건을 넘어가면 제거한다는 뜻으로 보입니다.)
만들고나면 한번 이벤트가 바로 발생합니다.
저는 만들었을때 조건에 적용되는 것이 없어 영향받은 이미지가 없었습니다.
테스트 할겸 영향받도록 이미지를 올려보았는데
10분정도 이후에 이벤트 메시지가 표시되고
images에도 몇분정도 지난후에 image가 삭제되는것을 볼수 있었습니다.
aws cli로 설정하는 방법도 있는데
json파일로 만드는것보다 콘솔이 훨씬 간편하고 추가적인 기능도 없어
콘솔로 하는게 훨씬 생성 및 관리가 용이 할 것같습니다.
명령어 자체는 간단하나 설정하는 json파일이 번거롭습니다.
aws ecr put-lifecycle-policy \
--repository-name repository-name \
--lifecycle-policy-text file://policy.json
Reference
https://docs.aws.amazon.com/ko_kr/AmazonECR/latest/userguide/LifecyclePolicies.html
'CLOUD > AWS' 카테고리의 다른 글
[ECS] taskRole VS executionRole 차이 (0) | 2022.05.23 |
---|---|
AWS CodeDeploy BLUE/GREEN 배포 자세히 알아보기 (0) | 2022.05.17 |
jenkins aws s3 pipeline 에러 (0) | 2022.05.04 |
ec2 중지중 오류 해결 (0) | 2022.05.04 |
ec2 유형 변경 (0) | 2022.05.04 |
댓글