튜토리얼: 인증된 액세스를 위한 AWS ECR Pull Through Cache 규칙 구성
-
https://console.aws.amazon.com/ecr/에서 Amazon ECR 콘솔을 엽니다.
-
내비게이션 바에서 원하는 지역을 선택하여 개인 레지스트리 설정을 구성합니다.
-
내비게이션 창에서 개인 레지스트리, Pull through cache를 선택합니다.
-
Pull through cache 구성 페이지에서 규칙 추가를 선택합니다.
Step 1: 소스 페이지 지정에서 Registry로 GitLab Container Registry를 선택한 다음, 다음을 선택합니다.
Step 2: 인증 페이지 구성에서 Upstream credentials에 GitLab Container Registry의 인증 자격 증명을 AWS Secrets Manager 시크릿에 저장해야 합니다. 기존 시크릿을 지정하거나 Amazon ECR 콘솔을 사용하여 새 시크릿을 생성할 수 있습니다.
기존 시크릿을 사용하려면 기존 AWS 시크릿을 사용을 선택합니다. 시크릿 이름에 기존 시크릿을 선택한 다음 다음을 선택합니다. Secrets Manager 콘솔을 사용하여 Secrets Manager 시크릿을 만드는 방법에 대한 자세한 내용은 Amazon ECR 레지스트리 자격 증명을 AWS Secrets Manager 시크릿에 저장하기를 참조하세요.
참고: AWS Management Console은 ecr-pullthroughcache/ 접두사를 사용하여 이름을 지정한 Secrets Manager 시크릿만 표시합니다. 또한 시크릿은 Pull through cache 규칙이 생성된 동일한 계정 및 지역에 있어야 합니다.
새 시크릿을 생성하려면 AWS 시크릿을 만들기를 선택한 다음 다음을 수행한 다음 다음을 선택하세요.
시크릿 이름에 시크릿에 대한 설명적인 이름을 지정합니다. 시크릿 이름은 1-512개의 유니코드 문자를 포함해야 합니다. GitLab Container Registry 사용자 이름에 GitLab Container Registry 사용자 이름을 지정합니다. GitLab Container Registry 액세스 토큰에 GitLab Container Registry 액세스 토큰을 지정합니다. 최소 권한 원칙을 준수하려면 관리자 역할 및 읽기 권한만 있는 그룹 엑세스 토큰을 생성하세요.
Step 3: 목적지 페이지 지정에서 Amazon ECR 레지스트리 접두사에 설정에서 가져온 이미지를 캐싱할 때 사용할 리포지토리 네임스페이스를 지정한 다음 다음을 선택합니다.
기본적으로 네임스페이스가 채워지지만 사용자 지정 네임스페이스를 지정할 수도 있습니다.
Step 4: 검토 및 생성 페이지에서 Pull through cache 규칙 구성을 검토한 다음 생성을 선택합니다.
생성하려는 각 pull through cache에 대해 이전 단계를 반복합니다. Pull through cache 규칙은 각 지역에 대해 별도로 생성됩니다.
ECR Pull Through Cache 규칙이 성공적으로 생성되었는지를 확인하려면 AWS CLI를 통해 다음 명령을 실행하여 규칙을 유효화할 수 있습니다.
aws ecr validate-pull-through-cache-rule \ --ecr-repository-prefix ecr-public \ --region us-east-2
ECR Pull Through Cache 규칙이 GitLab.com 상류 레지스트리에 대한 Pull-through 액세스를 제공하는지 확인하려면
docker pull
명령을 실행하여 유효성을 검사할 수 있습니다.docker pull aws_account_id.dkr.ecr.region.amazonaws.com/{목적지-네임스페이스 예: gitlab-ef1b}/{이미지가 호스팅된 Gitlab.com 프로젝트/그룹 경로}/이미지_이름:태그
예시
docker pull
명령:docker pull aws_account_id.dkr.ecr.region.amazonaws.com/gitlab-ef1b/guided-explorations/ci-components/working-code-examples/kaniko-component-multiarch-build:latest