Amazon Elastic Container Registry 시작하기

무료 계정 생성

AWS 프리 티어를 사용하는 고객은 Amazon Elastic Container Registry를 무료로 시작할 수 있습니다. Amazon ECR은 신규 고객에게 1년 동안 매월 500MB의 스토리지를 제공합니다.

AWS 프리 티어 세부 정보 보기 »


Q: Amazon Elastic Container Registry(ECR)란 무엇입니까?
Amazon Elastic Container Registry(ECR)는 개발자가 Docker 컨테이너 이미지를 손쉽게 저장, 관리 및 배포할 수 있게 해주는 완전관리형 Docker 컨테이너 레지스트리입니다. Amazon ECR은 Amazon Elastic Container Service(ECS)와 통합되므로 개발에서 프로덕션까지의 워크플로를 간소화할 수 있습니다. Amazon ECR을 사용하면 자체 컨테이너 레지스트리를 운영하거나 기본 인프라 확장에 대해 걱정할 필요가 없습니다. Amazon ECR은 이미지를 가용성과 확장성이 뛰어난 아키텍처상에 호스팅하여 애플리케이션을 위해 컨테이너를 안정적으로 배포할 수 있습니다. 또한, AWS Identity and Access Management(IAM)와 통합되어 각 리포지토리에 대한 리소스 수준의 제어를 제공합니다.

Q: Amazon ECR을 사용해야 하는 이유는 무엇입니까?
Amazon ECR을 사용하면 컨테이너 레지스트리를 지원하는 데 필요한 인프라를 운영 및 확장할 필요가 없습니다. Amazon ECR은 Amazon S3를 스토리지로 사용하여 컨테이너 이미지에 대한 뛰어난 가용성과 액세스를 제공하므로 애플리케이션을 위해 새로운 컨테이너를 안정적으로 배포할 수 있습니다. Amazon ECR은 컨테이너 이미지를 HTTPS를 통해 전송하고, 저장 이미지를 자동으로 암호화합니다. 정책을 구성하여 각 리포지토리에 대한 권한을 관리하고 IAM 사용자, 역할 또는 다른 AWS 계정에 대한 액세스를 제한할 수 있습니다. Amazon ECR은 Amazon ECS 및 Docker CLI와 통합되므로, 개발 및 프로덕션 워크플로를 간소화할 수 있습니다. 개발 머신에서 Dcoker CLI를 사용해 컨테이너 이미지를 Amazon ECR로 손쉽게 푸시하고, Amazon ECS에서 프로덕션 배포를 위해 해당 이미지를 직접 가져올 수 있습니다.

Q: Amazon ECR의 요금은 어떻게 됩니까?
Amazon ECR에는 선수금이나 약정이 없습니다. 리포지토리에 저장한 데이터 및 인터넷으로 전송된 데이터 양에 대해서만 요금을 지불합니다. 자세한 내용은 요금 페이지를 참조하십시오.

Q: Amazon ECR은 글로벌 서비스입니까?
Amazon ECR은 리전별 서비스로서 이미지 배포 방법에 유연성을 제공하도록 설계되었습니다. 최적의 성능을 위해 Docker 클러스터를 실행하는 리전과 같은 리전으로 이미지를 푸시하고 가져올 수 있는 기능을 제공합니다. 또한, 데스크톱 및 온프레미스 환경과 같이 Docker가 실행되는 곳 어디에서나 Amazon ECR에 액세스할 수 있습니다. 리전 간에 또는 인터넷으로 이미지를 가져오는 경우, 지연 시간이 길어지고 데이터 전송 요금이 추가됩니다.

Q: Amazon ECR에서 퍼블릭 컨테이너 이미지를 호스팅할 수 있습니까?
현재 Amazon ECR에서는 프라이빗 이미지만 지원합니다. 하지만 IAM 사용자, 역할 또는 다른 AWS 계정에 대한 액세스를 허용하도록 IAM 리소스 기반 권한을 사용해 각 리포지토리에 대한 정책을 구성할 수 있습니다.

Q: Amazon ECR에서 사용할 수 있는 규정 준수 기능에는 어떤 것이 있습니까?
Amazon ECR에서는 AWS CloudTrail을 사용하여 누가 이미지를 가져왔는지 이미지 간의 태그가 언제 이동되었는지 등과 같은 모든 API 작업 기록을 제공할 수 있습니다. 또한, 관리자는 어느 EC2 인스턴스가 어떤 이미지를 가져왔는지 확인할 수 있습니다.

Q: Amazon ECR은 어떻게 시작합니까?
Amazon ECR을 시작하는 가장 좋은 방법은 Docker CLI를 사용해 첫 번째 이미지를 푸시하고 가져오는 것입니다. 자세한 내용은 Getting Started 페이지를 참조하십시오.

Q: VPC 내에서 Amazon ECR에 액세스할 수 있습니까?
VPC 내에서 Amazon ECR을 사용하려면 인스턴스가 인터넷과 통신할 수 있어야 합니다. Amazon VPC NAT 게이트웨이를 통해 인터넷과 통신할 수 있습니다.

Q: 리포지토리와 이미지를 관리하는 가장 좋은 방법은 무엇입니까?
Amazon ECR에서는 리포지토리를 생성, 모니터링 및 삭제하고 리포지토리 권한을 설정할 수 있도록 명령줄 인터페이스와 API를 제공합니다. Amazon ECR 관리 콘솔에서도 위와 같은 작업을 수행할 수 있으며, Amazon ECS 콘솔의 'Repositories' 섹션을 통해 Amazon ECR 관리 콘솔에 액세스할 수 있습니다. 또한, Amazon ECR은 Docker CLI와 통합되므로 개발 머신에서 이미지를 푸시하고, 가져오고, 태그 지정할 수 있습니다.

Q: Amazon ECR에서는 리전 전체에서 이미지를 복제합니까?
아니요. Amazon ECR은 이미지를 저장하는 장소와 배포하는 방법에 대해 유연성을 제공하도록 설계되었습니다. 이미지를 구축하고, 선택한 리전의 Amazon ECR에 해당 이미지를 푸시한 다음, Docker 클러스터에 이미지를 배포하는 배포 파이프라인을 생성할 수 있습니다.

Q: 로컬 및 온프레미스 환경에서 Amazon ECR을 사용할 수 있습니까?
예. 데스크톱 및 온프레미스 환경과 같이 Docker가 실행되는 곳 어디에서나 Amazon ECR에 액세스할 수 있습니다.

Q: Amazon ECR에서는 Amazon Linux 컨테이너 이미지를 제공합니까?
예. Amazon ECR에서는 Amazon Linux 컨테이너 이미지를 제공합니다. 세부적인 단계는 포럼을 참조하십시오. 고객은 이 컨테이너 이미지를 사용하여 Linux 기반 Docker 환경에서 워크로드를 실행할 수 있습니다. 컨테이너 이미지에는 최소한의 패키지 세트가 포함되어 있으며 전체 Amazon Linux AMI 세트를 설치할 수 있습니다. EC2의 Amazon Linux AMI와 마찬가지로 Amazon Linux 컨테니어 이미지는 보안 업데이트, 롤링 릴리스 및 패키지 업데이트의 형태로 Amazon에서 진행되는 업데이트를 가져옵니다.

Q: Amazon ECR은 Amazon ECS와 연동됩니까?
예. Amazon ECR은 Aamazon ECS와 통합되어 Amazon ECS에서 실행되는 애플리케이션에 대한 컨테이너 이미지를 손쉽게 저장, 실행 및 관리할 수 있습니다. 작업 정의에 Amazon ECR 리포지토리를 지정하기만 하면 Amazon ECS에서 애플리케이션에 적합한 이미지를 가져옵니다.

Q: Amazon ECR은 AWS Elastic Beanstalk와 연동됩니까?
예. 현재 AWS Elastic Beanstalk는 단일 및 다중 컨테이너 Docker 환경 모두를 위한 Amazon ECR을 지원하므로 AWS Elastic Beanstalk를 사용하여 Amazon ECR에 저장된 컨테이너 이미지를 손쉽게 배포할 수 있습니다. Dockerrun.aws.json 구성에서 Amazon ECR 리포지토리를 지정하고 AmazonEC2ContainerRegistryReadOnly 정책을 컨테이너 인스턴스 역할에 연결하기만 하면 됩니다.

Q: Amazon ECR에서 지원하는 Docker 엔진 버전은 어떻게 됩니까?
현재 Amazon ECR에서는 Docker 엔진 1.7.0 이상을 지원합니다.

Q: Amazon ECR에서 지원하는 Docker 레지스트리 API 버전은 어떻게 됩니까?
Amazon ECR에서는 Docker 레지스트리 V2 API 사양을 지원합니다.

Q: Amazon ECR는 Dockerfile에서 이미지를 자동으로 구축합니까?
아니요. 하지만 Amazon ECR는 여러 인기 있는 CI/CD 솔루션과 통합되어 이러한 기능을 제공할 수 있습니다. 자세한 내용은 Amazon ECR 파트너 페이지를 참조하십시오.

Q: Amazon ECR은 연동 액세스를 지원합니까?
예. Amazon ECR은 AWS Identity and Access Management와 통합되어 AWS Management Console 또는 AWS API에 대한 위임된 액세스를 위한 자격 증명 연동을 지원합니다.

Q: Amazon ECR에서 지원하는 Docker 이미지 매니페스트 사양은 어떻게 됩니까?
Amazon ECR에서는 Docker 이미지 매니페스트 V2, 스키마 2 형식을 지원합니다. 스키마 1 이미지와의 역방향 호환성을 유지하기 위해 Amazon ECR에서는 스키마 1 형식으로 업로드되는 이미지도 계속 허용할 것입니다. 또한, Amazon ECR에서는 이전 버전의 Docker 이미지(1.9 이하)를 가져올 때 스키마 2에서 스키마 1 이미지로 버전을 낮춰서 변환합니다.

Q: Amazon ECR에서는 Open Container Initiative(OCI) 형식을 지원합니까?
예. Amazon ECR은 Open Container Initiative(OCI) 이미지 사양과 호환되므로 OCI 이미지를 끌어오고 밀어넣을 수 있습니다. 또한, 끌어온 Docker 이미지 매니페스트 V2, 스키마 2 이미지와 OCI 이미지를 서로 변환할 수 있습니다.

Q: Amazon ECR에서는 컨테이너 이미지 보안을 어떻게 지원합니까?
Amazon ECR에서는 S3 서버 측 암호화를 사용하여 저장 이미지를 자동으로 암호화하고, HTTPS를 통해 컨테이너 이미지를 전송합니다. EC2 인스턴스에서 직접 자격 증명을 관리할 필요 없이 AWS Identity and Access Management(IAM) 사용자 및 역할을 사용하여 이미지에 대한 권한을 관리하고 액세스를 제어하는 정책을 구성할 수 있습니다.

Q: AWS Identity and Access Management를 사용하여 어떻게 권한을 제어할 수 있습니까?
IAM 리소스 기반 정책을 사용하여 누가 및 무엇(예: EC2 인스턴스)이 컨테이너 이미지에 액세스할 수 있고, 언제, 어떻게, 어디에서 액세스할 수 있는지 제어하고 모니터링할 수 있습니다. 시작하려면 관리 콘솔에서 리포지토리에 대한 리소스 기반 정책을 생성하십시오. 또는 샘플 정책을 사용하여 Amazon ECR CLI를 통해 리포지토리에 정책을 연결할 수도 있습니다.

Q: AWS 계정 전체에서 이미지를 공유할 수 있습니까?
예. 교차 계정 이미지 공유를 위한 정책을 생성하고 설정하는 방법은 여기 예제를 참조하십시오.