이미지를 저장할 Amazon ECR 프라이빗 리포지토리 생성

이미지를 저장할 Amazon ECR 프라이빗 리포지토리 생성

중요

AWS KMS를 사용한 이중 계층 서버 측 암호화(DSSE-KMS)는 AWS GovCloud(US) 리전에서만 사용할 수 있습니다.

Amazon ECR 프라이빗 리포지토리를 만들고, 그 리포지토리를 사용해 컨테이너 이미지를 저장하세요. 다음 단계에 따라 AWS Management Console을 사용해 프라이빗 리포지토리를 생성합니다.

출처: 문서

본문

리포지토리 생성 (AWS Management Console)

  1. https://console.aws.amazon.com/ecr/repositories 에서 Amazon ECR 콘솔을 엽니다.
  2. 탐색 모음에서 리포지토리를 생성할 리전을 선택합니다.
  3. Private repositories를 선택한 다음 Create repository를 선택합니다.
  4. Repository name에 리포지토리의 고유한 이름을 입력합니다. 리포지토리 이름은 단독으로 지정할 수 있습니다(예: nginx-web-app). 또는 네임스페이스를 앞에 붙여 리포지토리를 범주로 그룹화할 수 있습니다(예: project-a/nginx-web-app).

참고

리포지토리 이름은 최대 256자일 수 있습니다. 이름은 문자로 시작해야 하며 소문자, 숫자, 하이픈, 밑줄, 마침표, 슬래시만 포함할 수 있습니다. 이중 슬래시(//)는 지원되지 않습니다.

  1. Image tag immutability에서 리포지토리의 다음 태그 불변성(tag mutability) 설정 중 하나를 선택합니다.
    • Mutable – 이미지 태그가 덮어써지길 원한다면 이 옵션을 선택합니다. Amazon ECR이 캐시된 이미지를 업데이트할 수 있도록 풀 스루 캐시 작업을 사용하는 리포지토리에 권장됩니다. 추가로, 일부 변경 가능한 태그에 대한 태그 업데이트를 비활성화하려면 Mutable tag exclusion 텍스트 상자에 태그 이름을 입력하거나 와일드카드(*)를 사용해 여러 유사 태그를 일치시킵니다.
    • Immutable – 이미지 태그가 덮어써지지 않도록 하려면 이 옵션을 선택합니다. 기존 태그로 이미지를 push할 때 리포지토리의 모든 태그와 제외 항목에 적용됩니다. 기존 태그로 이미지를 push하려고 하면 Amazon ECR은 ImageTagAlreadyExistsException을 반환합니다. 추가로, 일부 불변 태그에 대한 태그 업데이트를 활성화하려면 Immutable tag exclusion 텍스트 상자에 태그 이름을 입력하거나 와일드카드(*)를 사용해 여러 유사 태그를 일치시킵니다.

참고

개별 태그 불변성 설정은 지원되지 않습니다.

  1. Encryption configuration에서 AES-256 또는 AWS KMS 중에서 선택합니다. 자세한 내용은 Encryption at rest를 참조하세요.
    • AWS KMS를 선택했다면 Single-layer encryption과 Dual-layer encryption 중에서 선택합니다. AWS KMS 또는 이중 계층 암호화를 사용하면 추가 비용이 발생합니다. 자세한 내용은 Amazon ECR Service Pricing을 참조하세요.
    • 기본적으로 aws/ecr 별칭을 가진 AWS 관리형 키가 선택됩니다. 이 키는 AWS KMS 암호화를 활성화한 상태로 리포지토리를 처음 만들 때 계정에 생성됩니다. Customer managed key(advanced)를 선택해 자체 AWS KMS 키를 선택할 수 있습니다. AWS KMS 키는 클러스터와 같은 리전에 있어야 합니다. Create an AWS KMS key를 선택하면 AWS KMS 콘솔로 이동해 자체 키를 만들 수 있습니다.
  2. Image scanning settings에서 기본 스캔(basic scanning)에 대한 스캔 설정을 리포지토리 수준에서 지정할 수 있지만, 스캔 구성을 프라이빗 레지스트리 수준에서 지정하는 것이 모범 사례입니다. 프라이빗 레지스트리 수준에서 스캔 설정을 구성하면 고급 스캔 또는 기본 스캔 중에서 선택할 수 있고, 스캔할 리포지토리를 지정하는 필터를 정의할 수도 있습니다.
  3. Create를 선택합니다.

리포지토리 생성 (AWS CLI)

aws ecr create-repository 명령으로 AWS CLI를 사용해 리포지토리를 생성할 수 있습니다.

aws ecr create-repository \
           --repository-name hello-repository \
           --region region

리포지토리 생성 템플릿이 정의되어 있다면 익숙한 Amazon ECR push 명령과 원하는 리포지토리 이름으로 이미지를 push해 리포지토리를 생성할 수 있습니다. Amazon ECR은 리포지토리 생성 템플릿의 사전 정의된 설정을 사용해 사용자를 대신해 리포지토리를 자동으로 생성합니다. 리포지토리 생성 템플릿이 아직 정의되지 않았다면 존재하지 않는 이미지 리포지토리에 대한 요청은 실패합니다.

docker push aws_account_id.dkr.ecr.region.amazonaws.com/prefix/my-new-repository:tag

다음 단계 (Next steps)

이미지를 리포지토리로 push하는 단계를 보려면 리포지토리를 선택하고 View push commands를 선택하세요. 이미지를 리포지토리로 push하는 방법에 대한 자세한 내용은 Pushing an image to an Amazon ECR private repository를 참조하세요.

더 알아보기 (Learn more)

  • Amazon ECR 프라이빗 리포지토리
  • Amazon ECR 프라이빗 레지스트리 설정
  • Amazon ECR 이미지 push