[AWS ECR(Elastic Container Registry) 개요]
완전관리형 컨테이너 레지스트리로 모든 관리를 AWS에서 진행하며,
컨테이너 소프트웨어를 Public / Private 으로 공유 및 배포할 수 있습니다.
(Docker Hub or Harbor 같은 서비스로 생각하면 쉽다. )
- Public Repository : 공개적으로 접근이 가능
- Private Repository : 공개적으로 표시되지 않으며, 접근을 위한 IAM 및 Repository Policy 관리
Amazon ECR을 통해 저장되는 이미지는 Amazon S3에 저장되어 높은 가용성과 안정성을 보장받을 수 있습니다.
[AWS ECR 비용]
Private Repository | Public Repository |
[Repository 생성]
[ECR Options]
"Pull Through Cache" : 공개적으로 액세스 가능한 레지스트리의 이미지를 자동으로 동기화하도록 설계
소스 레지스트리 동기화를 지원하여, 퍼블릭 레지스트리에서 가져온 컨테이너 이미지를 최신상태로 유지하고, 고객이 퍼블릭 및 프라이빗 이미지 모두에 대해 ECR 기능을 사용할 수 있도록 합니다.
선택 가능한 업스트심 소스 레지스트리
[ScanOnPush]
Repository에 이미지가 Push된 후, 자동으로 Scan을 할것인지 설정.
스캔을 한다면, 컨테이너 이미지의 소프트웨어 취약성을 식별하는데 도움이 됩니다.
(일반적인 취약성 및 노출(CVE) 등…)
[수명주기정책 규칙]
Repository에 업로르된 컨테이너 이미지에 대한 LifeCycle 정책을 규칙으로 등록할 수 있다.
Ex) 이미지에 태그가 지정되지 않은 이미지는 30일후에 자동 삭제한다.
이미지에 특정 태그(ex. Dev*)가 일치하는 경우 이미지의 개수를 10개만 보관한다.
# Terraform ECR LifeCycle 정책 생성 |
resource "aws_ecr_lifecycle_policy" "itp_policy" { repository = aws_ecr_repository.aws-itp-repo.name policy = <<EOF { "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ] } EOF } |
[수동 Push 명령]
MyRepo에 대한 Push 명령
[FAQ]
Q. 특정 회사 Repository를 Remote Repository로 등록하는 방법은?
불가
'IT Knowledge > Cloud' 카테고리의 다른 글
AWS CLI 설치 및 설정(with Proxy) (0) | 2024.10.06 |
---|---|
AWS Route53 개요 및 사용방법(특징, 기능, 비용) (0) | 2024.05.24 |
댓글