튜토리얼: GitLab.com 프로젝트에 대한 인증된 접근을 위한 AWS ECR 풀 쓰루 캐시 규칙 구성
-
https://console.aws.amazon.com/ecr/에서 Amazon ECR 콘솔을 엽니다.
-
탐색 모음에서 개인 레지스트리 설정을 구성할 리전을 선택합니다.
-
탐색 창에서 개인 레지스트리, 풀 쓰루 캐시를 선택합니다.
-
풀 쓰루 캐시 구성 페이지에서 규칙 추가를 선택합니다.
Step 1: 소스 페이지 지정에서 레지스트리를 위해 GitLab Container Registry를 선택하고, 다음을 클릭합니다.
Step 2: 인증 구성 페이지에서 업스트림 자격 증명에 대해 GitLab Container Registry에 대한 인증 자격 증명을 AWS Secrets Manager 비밀에 저장해야 합니다. 기존 비밀을 지정하거나 Amazon ECR 콘솔을 사용하여 새 비밀을 생성할 수 있습니다.
기존 비밀을 사용하려면 기존 AWS 비밀 사용을 선택합니다. 비밀 이름에서 드롭다운을 사용하여 기존 비밀을 선택한 후, 다음을 클릭합니다. Secrets Manager 콘솔을 사용하여 Secrets Manager 비밀을 생성하는 방법에 대한 자세한 내용은 AWS Secrets Manager 비밀에 업스트림 리포지토리 자격 증명 저장하기를 참조하세요.
새 비밀을 생성하려면 AWS 비밀 생성을 선택하고, 다음을 수행한 후, 다음을 클릭합니다.
비밀 이름에 대해 비밀의 설명적인 이름을 지정합니다. 비밀 이름은 1-512 유니코드 문자를 포함해야 합니다.
GitLab Container Registry 사용자 이름에 대해 GitLab Container Registry 사용자 이름을 지정합니다.
GitLab Container Registry 액세스 토큰에 대해 GitLab Container Registry 액세스 토큰을 지정합니다. 최소 권한 원칙을 따르기 위해, 게스트 역할과 read_registry 범위를 가진 그룹 액세스 토큰을 생성하시기 바랍니다.
Step 3: 대상 페이지 지정에서 Amazon ECR 저장소 접두사에 대해 소스 공개 레지스트리에서 가져온 이미지를 캐싱할 때 사용할 저장소 네임스페이스를 지정한 후 다음을 클릭합니다.
기본적으로 네임스페이스가 채워지지만 커스텀 네임스페이스도 지정할 수 있습니다.
Step 4: 검토 및 생성 페이지에서 풀 쓰루 캐시 규칙 구성을 검토하고 생성 버튼을 클릭합니다.
생성하려는 각 풀 쓰루 캐시마다 이전 단계를 반복합니다. 풀 쓰루 캐시 규칙은 각 리전에 대해 별도로 생성됩니다.
ECR 풀 쓰루 캐시 규칙이 성공적으로 생성되었는지 확인하려면, AWS CLI를 사용하여 다음 명령을 실행하여 규칙을 검증할 수 있습니다:
aws ecr validate-pull-through-cache-rule \
--ecr-repository-prefix ecr-public \
--region us-east-2
ECR 풀 쓰루 캐시 규칙이 GitLab.com 업스트림 레지스트리에 대한 풀 쓰루 접근을 제공하는지 확인하려면, docker pull
명령을 실행하여 검증할 수 있습니다:
docker pull aws_account_id.dkr.ecr.region.amazonaws.com/{destination-namespace e.g. gitlab-ef1b}/{path to Gitlab.com project/group where image is hosted}/image_name:tag
예시 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