프라이빗 레지스트리AWS Secrets ManagerCodeBuild 샘플 - AWS CodeBuild

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

프라이빗 레지스트리AWS Secrets ManagerCodeBuild 샘플

이 샘플에서는 AWS CodeBuild 실행 시간 환경으로서 프라이빗 레지스트리에 저장되는 도커 이미지를 사용하는 방법을 보여줍니다. 프라이빗 레지스트리의 자격 증명은 AWS Secrets Manager에 저장됩니다. 프라이빗 레지스트리는 CodeBuild에서 작동합니다. 이 샘플은 Docker Hub를 사용합니다.

프라이빗 레지스트리 샘플 요구 사항

AWS CodeBuild와 함께 프라이빗 레지스트리를 사용하려면 다음 사항을 갖추어야 합니다.

  • Docker Hub 자격 증명을 저장하는 비밀 정보: 자격 증명은 프라이빗 리포지토리 액세스에 사용합니다.

  • 프라이빗 리포지토리 또는 계정

  • Secrets Manager 비밀에 대한 액세스 권한을 부여하는 CodeBuild 서비스 역할의 IAM 정책입니다.

다음 단계를 따라 리소스를 만든 다음 프라이빗 레지스트리에 저장된 도커 이미지를 사용하여 CodeBuild 빌드 프로젝트를 생성합니다.

프라이빗 레지스트리로 CodeBuild 프로젝트 생성

  1. 프리 프라이빗 리포지토리 생성 방법에 대한 자세한 내용은 Docker Hub의 리포지토리를 참조하십시오. 또한 터미널에서 다음 명령을 실행하여 이미지를 가져오고, 이미지의 ID를 확보하고, 새 리포지토리로 푸시할 수 있습니다.

    docker pull amazonlinux docker images amazonlinux --format {{.ID}} docker tag image-id your-username/repository-name:tag docker login docker push your-username/repository-name
  2. 단원의 단계를 따르십시오.기본 보안 암호 생성AWS Secrets Manager사용 설명서. 3단계인 비밀 유형 선택에서 다음을 수행합니다.

    1. 다른 유형의 비밀을 선택합니다.

    2. 비밀 키/값에서 Docker Hub 사용자 이름과 Docker Hub 암호에 대해 키-값 페어를 하나씩 생성합니다.

    3. 비밀 이름에 대해 dockerhub 등의 이름을 입력합니다. 이 비밀이 Docker Hub의 비밀 정보임을 기억할 수 있도록 선택 사항으로 설명을 입력할 수 있습니다.

    4. 키는 Docker Hub 자격 증명에 해당하므로 자동 교체 비활성화가 선택된 채로 둡니다.

    5. [Store secret]을 선택합니다.

    6. 설정을 검토하는 경우 나중에 이 샘플에서 사용하도록 ARN을 기록해 둡니다.

    자세한 내용은 AWS Secrets Manager란 무엇입니까?를 참조하십시오.

  3. 를 생성할 때AWS CodeBuild콘솔의 프로젝트에서 CodeBuild가 필요한 권한을 연결합니다. DefaultEncryptionKey 외의 AWS KMS 키를 사용할 경우, 해당 키를 서비스 역할에 추가해야 합니다. 자세한 내용은 단원을 참조하십시오.역할 수정(콘솔)IAM 사용 설명서.

    서비스 역할이 Secrets Manager와 함께 작동하려면 최소한secretsmanager:GetSecretValue권한.

  4. 콘솔을 사용하여 환경이 프라이빗 레지스트리에 저장되는 프로젝트를 생성하려면 프로젝트를 생성하면서 다음을 수행합니다. 자세한 정보는 빌드 프로젝트 만들기(콘솔) 섹션을 참조하세요.

    참고

    프라이빗 레지스트리가 VPC 있을 경우 퍼블릭 인터넷 액세스 권한이 있어야 합니다. CodeBuild는 VPC 프라이빗 IP 주소에서 이미지를 가져올 수 없습니다.

    1. 환경에서 사용자 지정 이미지를 선택합니다.

    2. 환경 유형에서 Linux 또는 Windows를 선택합니다.

    3. 사용자 지정 이미지 유형에서 다른 위치를 선택합니다.

    4. In기타 위치에서 이미지 위치와 Secrets Manager 자격 증명 이름 또는 ARN을 입력합니다.

      참고

      현재 리전에 자격 증명이 없을 경우 ARN을 사용해야 합니다. 다른 리전에 있는 자격 증명의 이름은 사용할 수 없습니다.