App Engine フレキシブル環境へのデプロイ

App Engine フレキシブル環境を使用すると、既存のランタイム(Java 8 など)をカスタマイズできます。また、カスタム Docker イメージまたは Dockerfile を提供することによって、独自のランタイムを構成できます。

Cloud Build を使用すると、コンテナのビルド、Artifact Registry への push、App Engine へのデプロイを自動化できます。

必要な権限

デフォルトでは、App Engine のデフォルトのサービス アカウントには、同じプロジェクトのリポジトリを pull および push するための権限があります。

App Engine が別のプロジェクトにある場合、App Engine サービス アカウントに対して Artifact Registry リポジトリにアクセスするための権限を付与する必要があります。

App Engine へのデプロイ

gcloud コマンドライン ツールを使用して、Artifact Registry がホストするイメージを App Engine にデプロイできます。

  1. アプリの App Engine 構成ファイルを作成します。
  2. Docker イメージをビルドし、そのイメージをリポジトリに push します。Cloud Build を使用すると、コンテナをビルドしてリポジトリに push できます。
  3. 次のコマンドを実行して、イメージを App Engine にデプロイします。

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

    ここで

    • LOCATION は、リポジトリのリージョンまたはマルチリージョン ロケーションです。
    • PROJECT はリポジトリを含むプロジェクトの ID です。プロジェクト ID にコロン(:)が含まれている場合は、ドメインをスコープとするプロジェクトをご覧ください。
    • REPOSITORY は、イメージが保存されるリポジトリの名前です。
    • IMAGE はリポジトリ内のイメージの名前です。
    • TAG は、pull するイメージ バージョンのタグです。

    例:

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