풀 스루 캐시, create on push, 복제 작업 중 생성되는 레포지토리를 제어하는 템플릿

풀 스루 캐시, create on push, 복제 작업 중 생성되는 레포지토리를 제어하는 템플릿 (Templates to control repositories created during a pull through cache, create on push, or replication action)

Amazon ECR 레포지토리 생성 템플릿을 사용해 Amazon ECR이 대신 생성하는 레포지토리의 설정을 정의할 수 있어요. 템플릿의 설정은 레포지토리 생성 중에만 적용되며 기존 레포지토리나 다른 방법으로 만든 레포지토리에는 영향을 주지 않아요.

출처: 문서

본문

Amazon ECR 레포지토리 생성 템플릿을 사용해 Amazon ECR이 대신 생성하는 레포지토리의 설정을 정의해요. 레포지토리 생성 템플릿의 설정은 레포지토리 생성 중에만 적용되며 기존 레포지토리나 다른 방법으로 만든 레포지토리에는 영향을 주지 않아요. 현재 레포지토리 생성 템플릿은 다음 기능에 대한 레포지토리 생성 중에 설정을 적용하는 데 사용할 수 있어요.

  • 풀 스루 캐시 (Pull through cache)
  • Create on push
  • 복제 (Replication)

레포지토리 생성 템플릿의 작동 방식 (How repository creation templates work)

Amazon ECR이 사용자를 대신해 새 프라이빗 레포지토리를 만들어야 하는 경우가 있어요. 예를 들어 다음과 같아요.

  • 풀 스루 캐시 규칙을 처음 사용해 업스트림 레포지토리의 콘텐츠를 검색해 Amazon ECR 프라이빗 레지스트리에 저장할 때
  • 아직 존재하지 않는 레포지토리에 이미지를 푸시할 때
  • Amazon ECR이 레포지토리를 다른 리전이나 계정으로 복제하길 원할 때

풀 스루 캐시 규칙이나 복제된 레포지토리와 일치하는 레포지토리 생성 템플릿이 없으면 Amazon ECR은 새 레포지토리에 기본 설정을 사용해요. 이러한 기본 설정에는 태그 불변성 끄기, AES-256 암호화 사용, 레포지토리나 수명 주기 정책을 적용하지 않기 등이 포함돼요.

이미지 푸시의 대상 레포지토리와 일치하는 레포지토리 생성 템플릿이 없으면 Amazon ECR은 기본 설정으로 레포지토리를 만들지 않아요.

레포지토리 생성 템플릿을 사용하면 Amazon ECR이 풀 스루 캐시, create on push, 복제 작업을 통해 생성하는 새 레포지토리에 적용할 설정을 정의할 수 있어요. 새 레포지토리에 대한 태그 불변성, 암호화 구성, 레포지토리 권한, 수명 주기 정책, 리소스 태그를 정의할 수 있어요.

레포지토리 생성 템플릿의 각 파라미터 (Parameters in a repository creation template)

Prefix (접두사)

Prefix는 템플릿과 연결할 레포지토리 네임스페이스 접두사예요. 이 접두사를 사용해 생성된 모든 레포지토리에는 이 템플릿에 정의된 설정이 적용돼요. 예를 들어 prod 접두사는 prod/ 로 시작하는 모든 레포지토리에 적용돼요. 마찬가지로 prod/team 접두사는 prod/team/ 로 시작하는 모든 레포지토리에 적용돼요. 두 개의 템플릿이 있는 레지스트리에서 한 템플릿이 "prod" 접두사를, 다른 템플릿이 "prod/team" 접두사를 가진 경우, "prod/team" 접두사를 가진 템플릿이 "prod/team/"으로 시작하는 모든 레포지토리에 적용돼요.

연결된 생성 템플릿이 없는 레지스트리의 모든 레포지토리에 템플릿을 적용하려면 접두사로 ROOT를 사용할 수 있어요.

중요: 접두사 끝에는 항상 / 이 암시적으로 적용돼요. ecr-public 을 접두사로 지정하면 Amazon ECR은 이를 ecr-public/ 로 취급해요. 풀 스루 캐시 규칙을 사용할 때 규칙 생성 중에 지정한 레포지토리 접두사를 레포지토리 생성 템플릿 접두사로도 지정해야 해요.

Description (설명)

템플릿 설명은 선택 사항이며 레포지토리 생성 템플릿의 목적을 설명하는 데 사용돼요.

Applied For (적용 대상)

적용 대상 설정은 이 템플릿으로 어떤 Amazon ECR 생성 레포지토리를 만들지 결정해요. 유효한 값은 PULL_THROUGH_CACHE, CREATE_ON_PUSH, REPLICATION 이에요. 예를 들어 풀 스루 캐시 규칙을 처음 사용해 업스트림 레포지토리의 콘텐츠를 검색해 Amazon ECR 프라이빗 레지스트리에 저장할 때, 풀 스루 캐시 규칙과 일치하는 레포지토리 생성 템플릿이 없으면 Amazon ECR은 새 레포지토리에 기본 설정을 사용해요.

Repository creation role (레포지토리 생성 역할)

레포지토리 생성 역할은 Amazon ECR이 레포지토리 생성 템플릿을 통해 레포지토리를 만들고 구성할 때 수임할 IAM 역할 ARN이에요. 템플릿에서 리포지토리 태그 및/또는 KMS를 사용할 때 이 역할을 제공해야 하며, 그렇지 않으면 레포지토리 생성이 실패해요.

Image tag mutability (이미지 태그 변경 가능성)

템플릿을 사용해 생성된 레포지토리에 사용할 태그 변경 가능성 설정이에요. 이 파라미터를 생략하면 기본 설정인 MUTABLE 이 사용되며, 이는 이미지 태그를 덮어쓸 수 있게 해요. 이는 풀 스루 캐시 작업으로 생성된 레포지토리에 사용하는 템플릿에 권장되는 설정이에요. 동일한 태그가 있을 때 Amazon ECR이 캐시된 이미지를 업데이트할 수 있게 보장해요. IMMUTABLE 을 지정하면 레포지토리 내의 모든 이미지 태그가 불변하게 되어 덮어쓸 수 없게 돼요.

Encryption configuration (암호화 구성)

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

템플릿을 사용해 생성된 레포지토리에 사용할 암호화 구성이에요. KMS 암호화 유형을 사용하면 레포지토리 콘텐츠가 AWS KMS에 저장된 AWS Key Management Service 키로 서버 측 암호화되어 암호화돼요. AWS KMS로 데이터를 암호화할 때 Amazon ECR용 기본 AWS 관리형 AWS KMS 키를 사용하거나, 이미 만든 AWS KMS 키를 직접 지정할 수 있어요. 또한 AWS KMS로 단일 계층 또는 이중 계층 암호화를 선택할 수 있어요. 자세한 내용은 "Encryption at rest"을 참고하세요. KMS 암호화 유형을 교차 리전 복제와 함께 사용한다면 추가 권한이 필요할 수 있어요. 자세한 내용은 "Creating a KMS key policy for replication"을 참고하세요. AES256 암호화 유형을 사용하면 Amazon ECR은 Amazon S3 관리형 암호화 키로 서버 측 암호화를 사용하며, 이는 AES-256 암호화 알고리즘으로 레포지토리의 이미지를 암호화해요. 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 "Protecting data using server-side encryption with Amazon S3-managed encryption keys (SSE-S3)"을 참고하세요.

Repository permissions (레포지토리 권한)

템플릿을 사용해 생성된 레포지토리에 적용할 레포지토리 정책이에요. 레포지토리 정책은 리소스 기반 권한을 사용해 레포지토리에 대한 접근을 제어해요. 리소스 기반 권한을 사용하면 어떤 IAM 사용자나 역할이 레포지토리에 접근할 수 있고 어떤 액션을 수행할 수 있는지 지정할 수 있어요. 기본적으로 레포지토리를 만든 AWS 계정만 레포지토리에 접근할 수 있어요. 정책 문서를 적용해 레포지토리에 추가 권한을 부여하거나 거부할 수 있어요. 자세한 내용은 "Private repository policies in Amazon ECR"을 참고하세요.

Repository lifecycle policy (레포지토리 수명 주기 정책)

템플릿을 사용해 생성된 레포지토리에 사용할 수명 주기 정책이에요. 수명 주기 정책은 프라이빗 레포지토리의 이미지 수명 주기 관리에 대한 더 많은 제어를 제공해요. 수명 주기 정책은 하나 이상의 규칙을 포함하며, 각 규칙은 Amazon ECR에 대한 액션을 정의해요. 이는 나이나 개수에 따라 이미지를 만료시켜 컨테이너 이미지 정리를 자동화하는 방법을 제공해요. 자세한 내용은 "Automate the cleanup of images by using lifecycle policies in Amazon ECR"을 참고하세요.

Resource tags (리소스 태그)

리소스 태그는 레포지토리를 분류하고 구성하는 데 도움이 되도록 레포지토리에 적용하는 메타데이터예요. 각 태그는 사용자가 정의하는 키와 선택적 값으로 구성돼요. 교차 리전 복제와 함께 레포지토리 생성 템플릿을 사용하는 경우 이 권한을 대상 레지스트리 정책에 적용해야 해요.

더 알아보기 (Learn more)