Search

ECR

대분류
DevOps/Tool
소분류
AWS
유형
Docker 이미지 저장소 서비스
속성
컨테이너 서비스
최종 편집 일시
2024/10/30 15:38
생성 일시
2024/08/14 06:12
14 more properties

ECR

AWS에서 제공하는 Docker Hub와 비슷한 개념
Amazon Elastic Container Registry의 약자로 안전하고 확장 가능하고 신뢰할 수 있는 AWS 관리형 컨테이너 이미지 레지스트리 서비스.
Docker Hub와 유사
추가 장점
S3로 Docker Image를 관리하므로 고가용성을 보장
AWS IAM 인증을 통해 이미지 push/pull에 대한 권한 관리가 가능

AWS ECR의 구성요소

Registry (레지스트리)

Amazon ECR 프라이빗 레지스트리는 각 AWS 계정마다 제공되며 레지스트리에 하나 이상의 리포지토리를 생성하고 이 리포지토리에 이미지를 저장함
Amazon ECR은 기본적으로 계정별로 레지스트리를 제공하며, 각 레지스트리에는 다양한 이미지 리포지토리를 포함할 수 있다.
레지스트리는 컨테이너 이미지를 저장하고 관리하는 최상위 단위다.
이를 통해 여러 애플리케이션의 이미지를 계층적으로 관리할 수 있다.

Repository

Repository policy

Repository또는 Repository내 Docker이미지에 대한 Access 제어권 관리
리포지토리는 레지스트리 내에서 개별 애플리케이션의 이미지를 저장하는 장소다.
일반적으로 애플리케이션 단위로 구분하여 리포지토리를 생성한다.
각 리포지토리는 이미지의 버전과 태그별로 관리되며, 동일한 애플리케이션의 서로 다른 버전 이미지를 저장할 수 있다.

Image

Repository에 컨테이너 이미지를 푸시하고 가져올 수 있다.
개발 시스템에서 로컬로 이러한 이미지를 사용하거나, Amazon ECS 태스크 정의 및 Amazon EKS 포드 사양에서 이를 사용 가능
컨테이너 실행에 필요한 애플리케이션, 라이브러리, 환경 설정 등을 포함하는 실행 파일
Docker와 같은 컨테이너 도구로 생성된다.
이미지에는 특정 태그를 지정하여 버전 관리를 할 수 있다.
예를 들어, "latest"나 "v1.0" 같은 태그를 붙여 특정 버전의 이미지를 구분할 수 있다.

사용자 권한 토큰

Client는 Amazon ECR Resistry에 AWS 사용자로서 인증을 해야 Imange를 push/pull 가능

주요 기능

이미지 스캔(Image Scanning)
ECR은 이미지의 보안 취약점을 검사하는 기능을 제공한다.
이는 이미지가 배포되기 전 보안 점검을 통해 안전성을 확보할 수 있게 해준다.
이미지 스캔은 Amazon Inspector와 통합되어 있으며, 자동 또는 수동으로 취약점을 검사할 수 있다.
이미지 태그 및 버전 관리
ECR은 이미지를 태그별로 관리하여 애플리케이션의 다양한 버전을 관리할 수 있다.
예를 들어, "latest" 태그는 최신 이미지를 가리키고, "stable" 태그는 안정화된 버전을 가리키는 등 태그를 사용하여 환경에 맞게 버전을 지정할 수 있다.
이를 통해 동일한 리포지토리에서 여러 버전의 이미지를 효율적으로 관리할 수 있다.
권한 및 액세스 관리
ECR은 AWS IAM과 연동되어, 사용자 또는 역할에 따라 레지스트리와 리포지토리에 대한 접근 권한을 설정할 수 있다.
이를 통해 이미지의 읽기, 쓰기 권한을 세분화할 수 있다.
프라이빗 레지스트리 외에도 퍼블릭 리포지토리를 생성하여, 외부에서 이미지 접근을 허용할 수도 있다.
라이프사이클 정책(Lifecycle Policy)
라이프사이클 정책을 통해 오래된 이미지나 필요 없는 이미지를 자동으로 삭제할 수 있어 저장 공간을 효율적으로 관리할 수 있다.
예를 들어, 특정 조건에 맞는 오래된 이미지를 자동으로 제거하여 비용을 절감할 수 있다.
다른 AWS 서비스와의 통합
Amazon ECR은 Amazon ECS, EKS와 같은 컨테이너 오케스트레이션 서비스와 통합되어 있어, 이미지 배포와 관리가 간편하다.
AWS CLI 및 SDK와 통합되어 DevOps 파이프라인에서 자동화된 이미지 배포를 지원한다.

레포지토리 생성