リージョン 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 にコピーし、サービスの新しいバージョンを再デプロイします。