リージョン ID
REGION_ID は、アプリの作成時に選択したリージョンに基づいて Google が割り当てる省略形のコードです。一部のリージョン ID は、一般的に使用されている国や州のコードと類似しているように見える場合がありますが、このコードは国または州に対応するものではありません。2020 年 2 月以降に作成されたアプリの場合、REGION_ID.r は App Engine の URL に含まれています。この日付より前に作成されたアプリの場合、URL のリージョン ID は省略可能です。
詳しくは、リージョン ID をご覧ください。
Container Registry は非推奨となり、2025 年 3 月 18 日に提供終了となりました。コンテナ イメージの保存と管理には、Artifact Registry を使用することをおすすめします。デフォルトでは、2025 年 3 月 5 日以降に作成された新しいデプロイでは、アプリケーション イメージの保存に Container Registry ではなく Artifact Registry が使用されます。Artifact Registry は、Container Registry と同じコンテナ管理機能を提供します。また、追加の機能とメリットも備えています。Artifact Registry は、コンテナ イメージとコンテナ以外のアーティファクトの両方をサポートするフルマネージド サービスとして、Container Registry の機能を拡張します。
2024 年 5 月より前に作成されたプロジェクト、または自動移行ツールをまだ実行していないプロジェクトの場合は、このガイドの手順に沿って、App Engine でデプロイフローを自動的に移行できるようにしてください。
App Engine スタンダード環境
スタンダード環境のアプリケーション コンポーネントのほとんどは、自動移行プロセスに従います。ただし、Artifact Registry にスムーズに移行するには、サービス アカウントに次の必要な権限があることを確認してください。
既存の標準デプロイの場合、デプロイするサービス アカウント(App Engine のデフォルト サービス アカウント(
PROJECT_ID@appspot.gserviceaccount.com)またはカスタム サービス アカウント)には、Artifact Registry の明示的な書き込み権限artifactregistry.repositories.uploadArtifactsを付与するロールが必要です。デプロイするサービス アカウントに関連付けられているロールを確認するには、サービス アカウントに対するアクセス権の管理をご覧ください。デプロイに関連付けられたサービス アカウントに次のロールのいずれかが存在する場合、新しいデプロイで Artifact Registry を使用できます。
書き込み権限を持つ事前定義された Artifact Registry ロール(Artifact Registry 書き込み(
roles/artifactregistry.writer)など)。artifactregistry.repositories.uploadArtifacts権限を付与するカスタムロール。カスタムロールのアクセス権は、Google Cloud コンソールから確認できます。また、gcloud iam roles describeコマンドを実行して確認することもできます。
これらのロールが存在しない場合は、デプロイするサービス アカウントに Artifact Registry 書き込みロール(
roles/artifactregistry.writer)を付与します。
必要な権限を付与しないと、スタンダード環境に新しいバージョンをデプロイできません。
自動移行中に、 Google Cloud は新しいリポジトリを作成し、Container Registry から Artifact Registry にイメージをコピーすることがあります。
App Engine フレキシブル環境
フレキシブル環境のアプリケーション コンポーネントのほとんどは、自動移行プロセスに従います。ただし、Artifact Registry にスムーズに移行するには、サービス アカウントに次の必要な権限があることを確認してください。
既存のフレキシブル デプロイを Artifact Registry で想定どおりに機能させるには、デプロイするサービス アカウント(App Engine のデフォルト サービス アカウント(
PROJECT_ID@appspot.gserviceaccount.com)またはカスタム サービス アカウント)に、読み取り用のartifactregistry.repositories.downloadArtifactsや書き込み用のartifactregistry.repositories.uploadArtifactsなど、Artifact Registry の明示的な権限を付与するロールが必要です。デプロイするサービス アカウントに関連付けられているロールを確認するには、サービス アカウントに対するアクセス権の管理をご覧ください。デプロイに関連付けられたサービス アカウントに次のロールのいずれかが存在する場合、新しいデプロイで Artifact Registry を使用できます。
読み取り / 書き込み権限を持つ事前定義された Artifact Registry ロール(Artifact Registry 書き込み(
roles/artifactregistry.writer)など)。artifactregistry.repositories.downloadArtifacts権限とartifactregistry.repositories.uploadArtifacts権限を付与するカスタムロール。カスタムロールのアクセス権は、Google Cloud コンソールから確認できます。また、gcloud iam roles describeコマンドを実行して確認することもできます。
これらのロールが存在しない場合は、デプロイするサービス アカウントに Artifact Registry リポジトリ管理者ロール(
roles/artifactregistry.repoAdmin)を付与します。
必要な権限を付与しないと、フレキシブル環境にアプリケーションをデプロイできません。インスタンスのスケーリングと再起動も失敗します。
自動移行中に、 Google Cloud は新しいリポジトリを作成し、Container Registry から Artifact Registry にイメージをコピーすることがあります。
手動でビルドしたコンテナ イメージを Artifact Registry に移行する
Container Registry のビルド済みコンテナ イメージまたは手動でビルドしたコンテナ イメージを使用してアプリをデプロイした場合、自動移行プロセスは適用されません。たとえば、Docker でコンテナ イメージをビルドし、これらのイメージを Container Registry に push し、gcloud app deploy --image-url コマンドを使用してアプリをデプロイした場合、自動移行プロセスは機能しません。
Container Registry のビルド済みコンテナ イメージまたは手動でビルドしたコンテナ イメージを使用してアプリをデプロイする場合は、次のいずれかの方法を選択して Artifact Registry に移行します。
自動移行ツールを使用して、Container Registry から Artifact Registry でホストされている
gcr.ioリポジトリに移行します。このツールを使用する場合、サービスの新しいバージョンを再デプロイする必要はありません。詳細については、Container Registry から Artifact Registry に自動的に移行するをご覧ください。コンテナ イメージを Container Registry から Artifact Registry に手動で移動し、新しいバージョンのサービスを再デプロイします。詳細については、Artifact Registry の
gcr.ioリポジトリへの手動移行をご覧ください。copy-onlyフラグを使用して、コンテナ イメージを Artifact Registry にコピーし、サービスの新しいバージョンを再デプロイします。