Amazon ECR에서 풀스루 캐시 규칙 생성 - Amazon ECR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon ECR에서 풀스루 캐시 규칙 생성

Amazon ECR 사설 레지스트리에 캐시하려는 이미지가 포함된 각 업스트림 레지스트리에 대해 풀 스루 캐시 규칙을 생성해야 합니다.

인증이 필요한 업스트림 레지스트리의 경우 자격 증명을 Secrets Manager 암호에 저장해야 합니다. 기존의 암호를 사용하거나 새 암호를 생성할 수 있습니다. Amazon ECR 콘솔 또는 Secrets Manager 콘솔에서 Secrets Manager 시크릿을 생성할 수 있습니다. Amazon ECR 콘솔 대신 Secrets Manager 콘솔을 사용하여 Secrets Manager 시크릿을 생성하려면 을 참조하십시오업스트림 리포지토리 자격 증명을 비밀로 AWS Secrets Manager 저장.

사전 조건 

  • 풀스루 캐시 규칙을 생성할 수 있는 적절한 IAM 권한이 있는지 확인하십시오. 자세한 내용은 업스트림 레지스트리를 Amazon ECR 프라이빗 레지스트리와 동기화하는 데 필요한 IAM 권한을 참조하세요.

  • 인증이 필요한 업스트림 레지스트리의 경우: 기존 암호를 사용하려면 Secrets Manager 암호가 다음 요구 사항을 충족하는지 확인하십시오.

    • 시크릿 이름은 로 시작합니다. ecr-pullthroughcache/ ecr-pullthroughcache/접두사가 있는 Secrets Manager AWS Management Console 암호만 표시됩니다.

    • 암호가 있는 계정 및 지역은 풀스루 캐시 규칙이 속한 계정 및 지역과 일치해야 합니다.

풀스루 캐시 규칙을 생성하는 방법(AWS Management Console)

다음 단계는 Amazon ECR 콘솔을 사용하여 풀스루 캐시 규칙 및 Secrets Manager 보안 암호를 생성하는 방법을 보여줍니다. Secrets Manager 콘솔을 사용하여 시크릿을 만들려면 을 참조하십시오업스트림 리포지토리 자격 증명을 비밀로 AWS Secrets Manager 저장.

  1. Amazon ECR 콘솔(https://console.aws.amazon.com/ecr/)을 엽니다.

  2. 탐색 모음에서 프라이빗 레지스트리 설정을 구성할 리전을 선택합니다.

  3. 탐색 창에서 프라이빗 레지스트리, 풀스루 캐시를 선택합니다.

  4. 풀스루 캐시 구성(Pull through cache configuration) 페이지에서 규칙 추가(Add rule)를 선택합니다.

  5. 1단계: 소스 지정 페이지에서 레지스트리에 대해 업스트림 레지스트리 목록에서 Amazon ECR 퍼블릭, Kubernetes 또는 Quay를 선택한 후 다음을 선택합니다.

  6. 2단계: 대상 지정 페이지에서 Amazon ECR 리포지토리 접두사에 대해 소스 퍼블릭 레지스트리에서 가져온 이미지를 캐싱할 때 사용할 리포지토리 네임스페이스 접두사를 지정하고 다음을 선택합니다. 네임스페이스는 기본적으로 작성되지만, 사용자 지정 네임스페이스를 지정할 수도 있습니다.

  7. 3단계: 검토 및 생성 페이지에서 풀스루 캐시 규칙 구성을 검토한 다음 생성을 선택합니다.

  8. 생성하려는 각 풀스루 캐시에 대해 이전 단계를 반복합니다. 풀스루 캐시 규칙은 각 리전에 대해 별도로 생성됩니다.

  1. Amazon ECR 콘솔(https://console.aws.amazon.com/ecr/)을 엽니다.

  2. 탐색 모음에서 프라이빗 레지스트리 설정을 구성할 리전을 선택합니다.

  3. 탐색 창에서 프라이빗 레지스트리, 풀스루 캐시를 선택합니다.

  4. 풀스루 캐시 구성(Pull through cache configuration) 페이지에서 규칙 추가(Add rule)를 선택합니다.

  5. 1단계: 소스 지정 페이지에서 레지스트리에 대해 Docker Hub, 다음을 선택합니다.

  6. 2단계: 인증 구성 페이지에서 업스트림 보안 인증 정보에 대해 Docker Hub의 인증 관련 보안 인증 정보를 AWS Secrets Manager 보안 암호로 저장해야 합니다. 기존 보안 암호를 지정하거나 Amazon ECR 콘솔을 사용하여 새 보안 암호를 생성할 수 있습니다.

    1. 기존 암호를 사용하려면 기존 암호 사용을 선택합니다. AWS 보안 암호 이름의 경우 드롭다운을 사용하여 기존 보안 암호를 선택한 후 다음을 선택합니다.

      참고

      ecr-pullthroughcache/접두사를 사용하는 이름을 가진 Secrets Manager AWS Management Console 암호만 표시합니다. 또한 보안 암호는 풀스루 캐시 규칙이 생성된 동일한 계정 및 리전에 있어야 합니다.

    2. 새 보안 암호를 만들려면 AWS 보안 암호 생성을 선택하고 다음 작업을 수행한 후 다음을 선택합니다.

      1. 보안 암호 이름에서 보안 암호를 설명하는 이름을 지정합니다. 보안 암호 이름은 1~512자의 유니코드 문자를 포함해야 합니다.

      2. Docker Hub 사용자 이름에서 Docker Hub 사용자 이름을 지정합니다.

      3. Docker Hub 액세스 토큰에서 Docker Hub 액세스 토큰을 지정합니다. Docker Hub 액세스 토큰 생성에 대한 자세한 내용은 Docker 설명서의 Create and manage access tokens를 참조하세요.

  7. 3단계: 대상 지정 페이지에서 Amazon ECR 리포지토리 접두사에 대해 소스 퍼블릭 레지스트리에서 가져온 이미지를 캐싱할 때 사용할 리포지토리 네임스페이스를 지정하고 다음을 선택합니다.

    네임스페이스는 기본적으로 작성되지만, 사용자 지정 네임스페이스를 지정할 수도 있습니다.

  8. 4단계: 검토 및 생성 페이지에서 풀스루 캐시 규칙 구성을 검토한 다음 생성을 선택합니다.

  9. 생성하려는 각 풀스루 캐시에 대해 이전 단계를 반복합니다. 풀스루 캐시 규칙은 각 리전에 대해 별도로 생성됩니다.

  1. Amazon ECR 콘솔(https://console.aws.amazon.com/ecr/)을 엽니다.

  2. 탐색 모음에서 프라이빗 레지스트리 설정을 구성할 리전을 선택합니다.

  3. 탐색 창에서 프라이빗 레지스트리, 풀스루 캐시를 선택합니다.

  4. 풀스루 캐시 구성(Pull through cache configuration) 페이지에서 규칙 추가(Add rule)를 선택합니다.

  5. 1단계: 소스 페이지 지정에서 레지스트리에 대해 GitHub 컨테이너 레지스트리, 다음을 선택합니다.

  6. 2단계: 인증 구성 페이지에서 업스트림 자격 증명의 경우 GitHub 컨테이너 레지스트리에 대한 인증 자격 증명을 AWS Secrets Manager 비밀로 저장해야 합니다. 기존 보안 암호를 지정하거나 Amazon ECR 콘솔을 사용하여 새 보안 암호를 생성할 수 있습니다.

    1. 기존 암호를 사용하려면 기존 암호 사용을 선택합니다. AWS 보안 암호 이름의 경우 드롭다운을 사용하여 기존 보안 암호를 선택한 후 다음을 선택합니다.

      참고

      ecr-pullthroughcache/접두사를 사용하는 이름을 가진 Secrets Manager AWS Management Console 암호만 표시합니다. 또한 보안 암호는 풀스루 캐시 규칙이 생성된 동일한 계정 및 리전에 있어야 합니다.

    2. 새 보안 암호를 만들려면 AWS 보안 암호 생성을 선택하고 다음 작업을 수행한 후 다음을 선택합니다.

      1. 보안 암호 이름에서 보안 암호를 설명하는 이름을 지정합니다. 보안 암호 이름은 1~512자의 유니코드 문자를 포함해야 합니다.

      2. GitHub 컨테이너 레지스트리 사용자 이름에는 GitHub 컨테이너 레지스트리 사용자 이름을 지정하십시오.

      3. GitHub 컨테이너 레지스트리 액세스 토큰의 경우 GitHub 컨테이너 레지스트리 액세스 토큰을 지정하십시오. GitHub 액세스 토큰 생성에 대한 자세한 내용은 GitHub 설명서의 개인 액세스 토큰 관리를 참조하십시오.

  7. 3단계: 대상 지정 페이지에서 Amazon ECR 리포지토리 접두사에 대해 소스 퍼블릭 레지스트리에서 가져온 이미지를 캐싱할 때 사용할 리포지토리 네임스페이스를 지정하고 다음을 선택합니다.

    네임스페이스는 기본적으로 작성되지만, 사용자 지정 네임스페이스를 지정할 수도 있습니다.

  8. 4단계: 검토 및 생성 페이지에서 풀스루 캐시 규칙 구성을 검토한 다음 생성을 선택합니다.

  9. 생성하려는 각 풀스루 캐시에 대해 이전 단계를 반복합니다. 풀스루 캐시 규칙은 각 리전에 대해 별도로 생성됩니다.

  1. Amazon ECR 콘솔(https://console.aws.amazon.com/ecr/)을 엽니다.

  2. 탐색 모음에서 프라이빗 레지스트리 설정을 구성할 리전을 선택합니다.

  3. 탐색 창에서 프라이빗 레지스트리, 풀스루 캐시를 선택합니다.

  4. 풀스루 캐시 구성(Pull through cache configuration) 페이지에서 규칙 추가(Add rule)를 선택합니다.

  5. 1단계: 소스 지정 페이지에서 다음 작업을 수행합니다.

    1. 레지스트리에서 Microsoft Azure 컨테이너 레지스트리를 선택합니다.

    2. 소스 레지스트리 URL에서 Microsoft Azure 컨테이너 레지스트리의 이름을 지정하고 다음을 선택합니다.

      중요

      .azurecr.io 접미사는 자동으로 채워지므로 접두사만 지정하면 됩니다.

  6. 2단계: 인증 구성 페이지의 업스트림 보안 인증 정보에서 Microsoft Azure 컨테이너 레지스트리의 인증 관련 보안 인증 정보를 AWS Secrets Manager 보안 암호로 저장해야 합니다. 기존 보안 암호를 지정하거나 Amazon ECR 콘솔을 사용하여 새 보안 암호를 생성할 수 있습니다.

    1. 기존 암호를 사용하려면 기존 암호 사용을 선택합니다. AWS 보안 암호 이름의 경우 드롭다운을 사용하여 기존 보안 암호를 선택한 후 다음을 선택합니다.

      참고

      ecr-pullthroughcache/접두사를 사용하는 이름을 가진 Secrets Manager AWS Management Console 암호만 표시합니다. 또한 보안 암호는 풀스루 캐시 규칙이 생성된 동일한 계정 및 리전에 있어야 합니다.

    2. 새 보안 암호를 만들려면 AWS 보안 암호 생성을 선택하고 다음 작업을 수행한 후 다음을 선택합니다.

      1. 보안 암호 이름에서 보안 암호를 설명하는 이름을 지정합니다. 보안 암호 이름은 1~512자의 유니코드 문자를 포함해야 합니다.

      2. Microsoft Azure 컨테이너 레지스트리 사용자 이름에서 Microsoft Azure 컨테이너 레지스트리 사용자 이름을 지정합니다.

      3. Microsoft Azure 컨테이너 레지스트리 액세스 토큰에서 Microsoft Azure 컨테이너 레지스트리 액세스 토큰을 지정합니다. Microsoft Azure 컨테이너 레지스트리 액세스 토큰을 만드는 방법에 대한 자세한 내용은 Microsoft Azure 설명서의 Create token - portal을 참조하세요.

  7. 3단계: 대상 지정 페이지에서 Amazon ECR 리포지토리 접두사에 대해 소스 퍼블릭 레지스트리에서 가져온 이미지를 캐싱할 때 사용할 리포지토리 네임스페이스를 지정하고 다음을 선택합니다.

    네임스페이스는 기본적으로 작성되지만, 사용자 지정 네임스페이스를 지정할 수도 있습니다.

  8. 4단계: 검토 및 생성 페이지에서 풀스루 캐시 규칙 구성을 검토한 다음 생성을 선택합니다.

  9. 생성하려는 각 풀스루 캐시에 대해 이전 단계를 반복합니다. 풀스루 캐시 규칙은 각 리전에 대해 별도로 생성됩니다.

  1. Amazon ECR 콘솔(https://console.aws.amazon.com/ecr/)을 엽니다.

  2. 탐색 모음에서 프라이빗 레지스트리 설정을 구성할 리전을 선택합니다.

  3. 탐색 창에서 프라이빗 레지스트리, 풀스루 캐시를 선택합니다.

  4. 풀스루 캐시 구성(Pull through cache configuration) 페이지에서 규칙 추가(Add rule)를 선택합니다.

  5. 1단계: 소스 페이지 지정에서 레지스트리에 대해 GitLab 컨테이너 레지스트리, 다음을 선택합니다.

  6. 2단계: 인증 구성 페이지에서 업스트림 자격 증명의 경우 GitLab 컨테이너 레지스트리에 대한 인증 자격 증명을 AWS Secrets Manager 비밀로 저장해야 합니다. 기존 보안 암호를 지정하거나 Amazon ECR 콘솔을 사용하여 새 보안 암호를 생성할 수 있습니다.

    1. 기존 암호를 사용하려면 기존 암호 사용을 선택합니다. AWS 보안 암호 이름의 경우 드롭다운을 사용하여 기존 보안 암호를 선택한 후 다음을 선택합니다. Secrets Manager 콘솔을 사용하여 Secrets Manager 보안 암호를 생성하는 방법에 대한 자세한 내용은 업스트림 리포지토리 자격 증명을 비밀로 AWS Secrets Manager 저장을 참조하세요.

      참고

      ecr-pullthroughcache/접두사를 사용하는 이름을 가진 Secrets Manager AWS Management Console 암호만 표시합니다. 또한 보안 암호는 풀스루 캐시 규칙이 생성된 동일한 계정 및 리전에 있어야 합니다.

    2. 새 보안 암호를 만들려면 AWS 보안 암호 생성을 선택하고 다음 작업을 수행한 후 다음을 선택합니다.

      1. 보안 암호 이름에서 보안 암호를 설명하는 이름을 지정합니다. 보안 암호 이름은 1~512자의 유니코드 문자를 포함해야 합니다.

      2. GitLab 컨테이너 레지스트리 사용자 이름에는 GitLab 컨테이너 레지스트리 사용자 이름을 지정하십시오.

      3. GitLab 컨테이너 레지스트리 액세스 토큰의 경우 GitLab 컨테이너 레지스트리 액세스 토큰을 지정하십시오. GitLab 컨테이너 레지스트리 액세스 토큰 생성에 대한 자세한 내용은 GitLab 설명서의 개인용 액세스 토큰, 그룹 액세스 토큰 또는 프로젝트 액세스 토큰을 참조하십시오.

  7. 3단계: 대상 지정 페이지에서 Amazon ECR 리포지토리 접두사에 대해 소스 퍼블릭 레지스트리에서 가져온 이미지를 캐싱할 때 사용할 리포지토리 네임스페이스를 지정하고 다음을 선택합니다.

    네임스페이스는 기본적으로 작성되지만, 사용자 지정 네임스페이스를 지정할 수도 있습니다.

  8. 4단계: 검토 및 생성 페이지에서 풀스루 캐시 규칙 구성을 검토한 다음 생성을 선택합니다.

  9. 생성하려는 각 풀스루 캐시에 대해 이전 단계를 반복합니다. 풀스루 캐시 규칙은 각 리전에 대해 별도로 생성됩니다.

풀스루 캐시 규칙을 생성하는 방법(AWS CLI)

Amazon ECR 프라이빗 레지스트리에 대한 풀스루 캐시 규칙을 생성하려면 create-pull-through-cache-rule AWS CLI 명령을 사용합니다. 인증이 필요한 업스트림 레지스트리의 경우 보안 인증 정보를 Secrets Manager 보안 암호로 저장해야 합니다. Secrets Manager 콘솔을 사용하여 시크릿을 만들려면 을 참조하십시오업스트림 리포지토리 자격 증명을 비밀로 AWS Secrets Manager 저장.

지원되는 각 업스트림 레지스트리에 대해 다음 예제가 제공됩니다.

다음 예제에서는 Amazon ECR 퍼블릭 레지스트리에 대한 풀스루 캐시 규칙을 생성합니다. 리포지토리 접두사를 ecr-public으로 지정합니다. 이렇게 하면 풀스루 캐시 규칙을 통해 생성한 각 리포지토리가 ecr-public/upstream-repository-name의 명명 체계를 사용하게 됩니다.

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix ecr-public \ --upstream-registry-url public.ecr.aws \ --region us-east-2

다음 예제에서는 Kubernetes 퍼블릭 레지스트리에 대한 풀스루 캐시 규칙을 생성합니다. 리포지토리 접두사를 kubernetes으로 지정합니다. 이렇게 하면 풀스루 캐시 규칙을 통해 생성한 각 리포지토리가 kubernetes/upstream-repository-name의 명명 체계를 사용하게 됩니다.

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix kubernetes \ --upstream-registry-url registry.k8s.io \ --region us-east-2

다음 예제에서는 Quay 퍼블릭 레지스트리에 대한 풀스루 캐시 규칙을 생성합니다. 리포지토리 접두사를 quay로 지정합니다. 이렇게 하면 풀스루 캐시 규칙을 통해 생성한 각 리포지토리가 quay/upstream-repository-name의 명명 체계를 사용하게 됩니다.

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix quay \ --upstream-registry-url quay.io \ --region us-east-2

다음 예제에서는 Docker Hub 레지스트리에 대한 풀스루 캐시 규칙을 생성합니다. 리포지토리 접두사를 docker-hub으로 지정합니다. 이렇게 하면 풀스루 캐시 규칙을 통해 생성한 각 리포지토리가 docker-hub/upstream-repository-name의 명명 체계를 사용하게 됩니다. Docker Hub 보안 인증 정보가 포함된 보안 암호의 전체 Amazon 리소스 이름(ARN)을 지정해야 합니다.

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix docker-hub \ --upstream-registry-url registry-1.docker.io \ --credential-arn arn:aws:secretsmanager:us-east-2:111122223333:secret:ecr-pullthroughcache/example1234 \ --region us-east-2

다음 예시에서는 GitHub 컨테이너 레지스트리에 대한 풀 스루 캐시 규칙을 생성합니다. 리포지토리 접두사를 docker-hub으로 지정합니다. 이렇게 하면 풀스루 캐시 규칙을 통해 생성한 각 리포지토리가 github/upstream-repository-name의 명명 체계를 사용하게 됩니다. GitHub 컨테이너 레지스트리 자격 증명이 포함된 암호의 전체 Amazon 리소스 이름 (ARN) 을 지정해야 합니다.

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix github \ --upstream-registry-url ghcr.io \ --credential-arn arn:aws:secretsmanager:us-east-2:111122223333:secret:ecr-pullthroughcache/example1234 \ --region us-east-2

다음 예에서는 Microsoft Azure 컨테이너 레지스트리에 대한 풀스루 캐시 규칙을 만듭니다. 리포지토리 접두사를 azure으로 지정합니다. 이렇게 하면 풀스루 캐시 규칙을 통해 생성한 각 리포지토리가 azure/upstream-repository-name의 명명 체계를 사용하게 됩니다. Microsoft Azure 컨테이너 레지스트리 보안 인증 정보가 포함된 보안 암호의 전체 Amazon 리소스 이름(ARN)을 지정해야 합니다.

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix azure \ --upstream-registry-url myregistry.azurecr.io \ --credential-arn arn:aws:secretsmanager:us-east-2:111122223333:secret:ecr-pullthroughcache/example1234 \ --region us-east-2

다음 예시에서는 GitLab 컨테이너 레지스트리에 대한 풀 스루 캐시 규칙을 생성합니다. 리포지토리 접두사를 gitlab으로 지정합니다. 이렇게 하면 풀스루 캐시 규칙을 통해 생성한 각 리포지토리가 gitlab/upstream-repository-name의 명명 체계를 사용하게 됩니다. GitLab 컨테이너 레지스트리 자격 증명이 포함된 암호의 전체 Amazon 리소스 이름 (ARN) 을 지정해야 합니다.

aws ecr create-pull-through-cache-rule \ --ecr-repository-prefix gitlab \ --upstream-registry-url registry.gitlab.com \ --credential-arn arn:aws:secretsmanager:us-east-2:111122223333:secret:ecr-pullthroughcache/example1234 \ --region us-east-2

다음 단계

풀스루 캐시 규칙을 생성한 후 다음 단계는 다음과 같습니다.