App Engine에 배포

App Engine에 배포하기 위해 애플리케이션의 컨테이너 이미지 및 종속 항목을 Artifact Registry에 저장합니다.

  • Node.js 및 Python 애플리케이션의 Artifact Registry에서 종속 항목을 선언합니다.
  • 애플리케이션을 App Engine 표준 환경에 직접 배포하거나 Cloud Build를 사용하여 App Engine 가변형 환경에 컨테이너화하고 배포합니다.
  • Artifact Registry Docker 저장소에 컨테이너 이미지를 저장하고 App Engine 가변형 환경에 배포합니다.

필수 권한

App Engine 가변형 환경
App Engine 가변형 환경과 Artifact Registry가 동일한 프로젝트에 있는 경우 App Engine 기본 서비스 계정에 저장소에서 컨테이너를 가져올 수 있는 권한이 있습니다.
Cloud Build를 사용하여 애플리케이션을 컨테이너화하고 Artifact Registry에 저장하는 경우 Artifact Registry 작성자 역할을 Cloud Build 서비스 계정에 부여합니다.
App Engine 표준 환경:
App Engine 표준 환경은 Cloud Build 서비스 계정을 사용하여 Artifact Registry에 저장된 종속 항목 통합을 포함한 애플리케이션을 빌드하고 배포합니다.
  • App Engine 및 Artifact Registry가 동일한 Google Cloud 프로젝트에 있는 경우 서비스 계정은 저장소에서 다운로드하는 데 필요한 권한을 가집니다.
  • App Engine과 Artifact Registry가 서로 다른 프로젝트에 있는 경우 서비스 계정에 저장소 액세스 권한을 부여해야 합니다.
  • 종속 항목 다운로드에 대한 읽기 전용 액세스 권한을 제공하려면 Cloud Build 서비스 계정에 Artifact Registry 리더 역할을 부여합니다.
  • Cloud Build를 사용하여 저장소에 아티팩트를 업로드하는 경우 Artifact Registry 작성자 역할을 Cloud Build 서비스 계정에 부여합니다.

App Engine 가변형 환경에 배포

Google Cloud CLI를 사용하여 Artifact Registry에서 호스팅하는 이미지를 App Engine에 배포할 수 있습니다.

  1. 앱의 App Engine 구성 파일을 만듭니다.
  2. Docker 이미지를 빌드하고 저장소에 내보냅니다. Cloud Build를 사용하여 컨테이너를 저장소에 빌드하고 푸시할 수 있습니다.
  3. 다음 명령어를 실행하여 이미지를 App Engine에 배포합니다.

    gcloud app deploy --image-url=LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE:TAG
    

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

    • LOCATION은 저장소의 리전 또는 멀티 리전 위치입니다.
    • PROJECT: 저장소가 포함된 프로젝트의 ID입니다. 프로젝트 ID에 콜론(:)이 포함되어 있으면 도메인 범위 프로젝트를 참조하세요.
    • REPOSITORY는 이미지가 저장된 저장소의 이름입니다.
    • IMAGE는 저장소의 이미지 이름입니다.
    • TAG는 가져올 이미지 버전의 태그입니다.

    예를 들면 다음과 같습니다.

    gcloud app deploy --image-url=us-central1-docker.pkg.dev/my-project/my-repo/my-image:1.0
    

종속 항목에 대한 액세스 구성

표준 환경 애플리케이션의 경우 npmPython 구성 안내에 대한 App Engine 표준 환경 문서를 참조하세요.

Cloud Build로 실행하는 빌드에 종속 항목을 포함하려면 Cloud Build와 통합을 참조하세요.