Cloud Run에 배포

Artifact Registry에서 호스팅하는 이미지를 Cloud Run(완전 관리형)에 배포할 수 있습니다.

배포 시 필요한 권한

Cloud Run(완전 관리형)에 배포하려면 소유자 또는 편집자 역할이나 Cloud Run 관리자 및 서비스 계정 사용자 역할 또는 이 특정 권한 목록에 대해 자세히 알아보세요.

새 서비스 배포

태그 또는 다이제스트로 컨테이너 이미지를 지정할 수 있습니다.

서비스에 처음 배포하면 첫 번째 버전이 생성됩니다. 버전은 변경할 수 없습니다. 컨테이너 이미지 태그로 배포를 수행할 때는 이것이 다이제스트로 확인되고, 버전에는 항상 이 특정 다이제스트가 제공됩니다.

Cloud Console 또는 gcloud 명령줄을 사용하여 컨테이너를 배포할 수 있습니다.

Console

컨테이너 이미지를 배포하려면 다음 안내를 따르세요.

  1. Cloud Run으로 이동

  2. 서비스 만들기를 클릭하여 서비스 만들기 페이지를 표시합니다.

  3. 배포 플랫폼 아래에서 다음 안내를 따르세요.

    1. Cloud Run(완전 관리형)을 배포 플랫폼으로 선택합니다.

    2. 서비스를 배치할 리전을 선택합니다.

    3. 서비스 이름을 입력합니다. 서비스 이름은 리전 및 프로젝트 또는 클러스터별로 고유해야 합니다. 서비스 이름은 나중에 변경될 수 있으며 Cloud Run(완전 관리형)을 사용할 때 공개적으로 표시됩니다.

  4. 인증 아래에서 다음 안내를 따르세요.

    • 공개 API 또는 웹 사이트를 사용하는 경우 인증되지 않은 호출 허용을 선택합니다. 이를 선택하면 IAM 호출자 역할이 특수 식별자 allUser에 할당됩니다. 서비스를 만든 후 나중에 IAM을 사용하여 이 설정을 수정할 수 있습니다.
    • 보안 서비스를 인증으로 보호하려면 인증 필요를 선택합니다.
  5. 서비스 만들기 양식의 두 번째 페이지로 이동하려면 다음을 클릭합니다.

  6. 컨테이너 이미지 URL 텍스트 상자에 이미지 URL을 제공합니다(예: us-central1-docker.pkg.dev/my-project/my-repo/my-image:latest).

  7. 필요할 경우 고급 설정 표시를 클릭하고 설정할 다음 탭을 클릭합니다.

  8. 만들기를 클릭하여 Cloud Run에 이미지를 배포하고 배포가 완료될 때까지 기다립니다.

  9. 표시된 서비스의 링크를 클릭하여 배포된 서비스의 엔드포인트를 엽니다.

명령줄

컨테이너 이미지를 배포하려면 다음 안내를 따르세요.

  1. 다음 명령어를 실행합니다.

    gcloud run deploy SERVICE --image REPO-LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE \
    [--platform managed --region RUN-REGION]
    

    각 항목의 의미는 다음과 같습니다.

    • REPO-LOCATION은 저장소 위치입니다. 예를 들면 us-central1입니다.
    • SERVICE은 배포할 서비스의 이름입니다. 서비스가 존재하지 않으면 배포 중 이 명령어로 서비스가 생성됩니다. 이 매개변수를 완전히 생략할 수 있지만 생략하면 서비스 이름을 입력하라는 메시지가 표시됩니다.
    • PROJECT-ID는 Google Cloud 프로젝트 ID입니다.
    • REPOSITORY은 이미지가 저장된 저장소의 이름입니다.
    • IMAGE는 이미지 이름입니다(예: us-central1-docker.pkg.dev/my-project/my-repo/my-image:latest).
    • RUN-REGION은 배포의 Cloud Run 위치입니다. 기본 Cloud Run 위치 집합을 gcloud 속성 run/region로 설정한 경우 --platform managed -region RUN-REGION]를 생략할 수 있습니다.

    공개 API 또는 웹사이트를 만드는 경우 --allow- unauthenticated 플래그를 사용하여 인증되지 않은 서비스 호출을 허용할 수 있습니다. 그러면 Cloud Run 호출자 IAM 역할allUsers에 할당됩니다. 또한 인증되지 않은 호출을 허용하지 않도록 --no-allow-unauthenticated를 지정할 수 있습니다. 이러한 플래그를 생략하면 deploy 명령어가 실행될 때 확인 메시지가 표시됩니다.

  2. 배포가 완료될 때까지 기다립니다. 성공적으로 완료되면 배포된 서비스의 URL이 포함된 성공 메시지가 표시됩니다.