이 강력한 Bash 스크립트로 AWS ECR 관리를 간소화하기

AWS ECR(Elastic Container Registry)에서 컨테이너 리포지토리를 관리하는 것은 특히 인프라가 성장함에 따라 빠르게 부담스러운 작업이 될 수 있다. 이 글에서는 ECR 리포지토리에 Lifecycle Policy 적용을 자동화하도록 설계된 편리한 Bash 스크립트를 심층적으로 살펴본다.
이 스크립트가 하는 일
이 Bash 스크립트의 주요 목적은 지정된 리전의 각 AWS ECR 리포지토리에 최신 3개의 이미지만 유지하는 Lifecycle Policy를 적용하는 프로세스를 자동화하는 것이다:
- 오류 처리: 어떤 명령이 0이 아닌 상태를 반환하면 즉시 종료.
- 컬러 코드 출력: ANSI 컬러 코드 사용.
- Dry-Run 모드:
--dry-run옵션으로 실제 정책을 적용하지 않고 시뮬레이션. - AWS CLI 통합: AWS CLI를 사용하여 리포지토리 이름을 조회한 후 각 리포지토리를 순회.
Lifecycle Policy 정의
lifecycle_policy='{
"rules": [
{
"rulePriority": 1,
"description": "Keep last 3 images",
"selection": {
"tagStatus": "any",
"countType": "imageCountMoreThan",
"countNumber": 3
},
"action": { "type": "expire" }
}
]
}'결론
일상적인 작업을 자동화하는 것은 효율적인 DevOps 및 시스템 관리를 위한 핵심 전략이다. 이 Bash 스크립트는 간단한 자동화가 어떻게 중요한 운영상의 이점을 가져올 수 있는지 보여주는 훌륭한 예시다.
Ercan의 다른 글
같은 저자, 다른 영역의 사이트 두 개.