リビジョンを管理する

サービスにデプロイするか、サービスの構成を変更すると、新しいリビジョンが作成されます。このリビジョンは変更できません。

リビジョンには次の考慮事項が適用されます。

  • 新しいリビジョンが、すべてのトラフィックを受信するか、まったく受信しないか、またはいくつかを受信するかを指定できます。また、新しいリビジョンを段階的にロールアウトするだけでなく、トラフィックを複数のリビジョン間で分割することや、リビジョンからロールバックすることもできます。詳細については、ロールバック、段階的なロールアウト、トラフィックの移行をご覧ください。
  • 必要に応じて、リビジョンタグを使用して、トラフィックを処理しないリビジョンをテストできます。
  • 手動でリビジョンを削除する必要はありませんが、必要であれば削除することもできます。
  • 提供されていないリビジョンはリソースを消費せず、料金も発生しません。
  • サービスごとに最大 1,000 個のリビジョンがあります。この上限を超えると、古いリビジョンは自動的に削除されます。
  • リビジョン サフィックスは自動的に割り当てられます。gcloud CLI の -revision-suffix パラメータを使用すると、独自のバージョン サフィックスを使用できます。

必要なロール

Cloud Run のサービスとリビジョンを管理するために必要な権限を取得するには、Cloud Run サービスに対する Cloud Run デベロッパーroles/run.developer)IAM ロールを付与するよう管理者に依頼してください。

Cloud Run に関連付けられている IAM ロールと権限のリストについては、Cloud Run IAM ロールCloud Run IAM 権限をご覧ください。Cloud Run サービスが Google Cloud APIs(Cloud クライアント ライブラリなど)と連携している場合は、サービス ID の構成ガイドをご覧ください。ロールの付与の詳細については、デプロイ権限アクセスの管理をご覧ください。

サービスのリビジョンのリストを表示する

コンソール

プロジェクト内のリビジョンを一覧表示するには:

  1. Cloud Run に移動します

  2. サービスリストでサービスを見つけてクリックします。

  3. [リビジョン] タブをクリックして、そのサービスの現在のリビジョンのリストを表示します。

    リビジョンのリスト

gcloud

特定のサービスのリビジョンを一覧取得するには:

  1. プロジェクトで利用可能なサービスのリストからサービス名を探します。

    gcloud run services list
  2. 見つかったサービスのすべてのリビジョンを取得するには、次のコマンドを使用します。

    gcloud run revisions list --service SERVICE --region REGION

    次のように置き換えます。

    • SERVICE: 実際のサービスの名前。
    • REGION: サービスの Google Cloud リージョン。

Cloud Code

Cloud Code でリビジョンを一覧取得するには、IntelliJVisual Studio Code に関する Cloud Run Explorer ガイドをご覧ください。

クライアント ライブラリ

コードからリビジョンのリストを表示するには:

REST API

リビジョンのリストを表示するには、GET HTTP リクエストを Cloud Run Admin API の revisions エンドポイントに送信します。

curl の使用例を次に示します。

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X GET \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME/revisions

次のように置き換えます。

  • ACCESS_TOKEN は、リビジョンを表示する IAM 権限を持つアカウントの有効なアクセス トークンに置き換えます。たとえば、gcloud にログインしている場合は、gcloud auth print-access-token を使用してアクセス トークンを取得できます。Cloud Run コンテナ インスタンスから、コンテナ インスタンス メタデータ サーバーを使用してアクセス トークンを取得できます。
  • SERVICE-NAME は、サービスの名前に置き換えます。
  • REGION: サービスの Google Cloud リージョン。
  • PROJECT-ID は、Google Cloud プロジェクト ID に置き換えます。

リビジョンの詳細を表示する

コンソール

プロジェクトのリビジョンの詳細を表示するには:

  1. Cloud Run に移動します

  2. サービスリストでサービスを選択します。

  3. [リビジョン] タブをクリックして、そのサービスの現在のリビジョンのリストを表示します。

  4. 必要なサービスのリビジョンを選択します。

  5. 右端の [詳細] パネルで、デプロイされたコンテナ イメージの URL、割り当てられたメモリ量、環境変数などのリビジョン固有の情報と、可能であればビルドとソース リポジトリの情報を確認します。

    イメージ

gcloud

プロジェクトのリビジョンの詳細を表示するには:

  1. プロジェクトで利用可能なサービスのリストからサービス名を探します。

    gcloud run services list

  2. 見つかったサービスのすべてのリビジョンを取得するには、次のコマンドを使用します。

    gcloud run revisions list --service SERVICE --region REGION

    次のように置き換えます。

    • SERVICE: 実際のサービスの名前。
    • REGION: サービスの Google Cloud リージョン。
  3. 特定のリビジョンに関する詳細を表示するには、次のコマンドを使用します。

    gcloud run revisions describe REVISION --region REGION
    次のように置き換えます。

    • REVISION: 詳細を確認するリビジョンの名前。
    • REGION: サービスの Google Cloud リージョン。

    --format フラグを使用して出力をフォーマットできます。たとえば、YAML としてフォーマットします。

    gcloud run revisions describe REVISION --region REGION --format yaml

Cloud Code

Cloud Code でリビジョンの詳細を表示するには、IntelliJVisual Studio Code に関する Cloud Run Explorer ガイドをご覧ください。

クライアント ライブラリ

コードからリビジョンの詳細を表示するには:

REST API

リビジョンの詳細を表示するには、GET HTTP リクエストを Cloud Run Admin API の revisions エンドポイントに送信します。

curl の使用例を次に示します。

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X GET \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME/revisions/REVISION-NAME

次のように置き換えます。

  • ACCESS_TOKEN は、サービスの詳細を表示する IAM 権限を持つアカウントの有効なアクセス トークンに置き換えます。たとえば、gcloud にログインしている場合は、gcloud auth print-access-token を使用してアクセス トークンを取得できます。Cloud Run コンテナ インスタンスから、コンテナ インスタンス メタデータ サーバーを使用してアクセス トークンを取得できます。
  • SERVICE-NAME は、サービスの名前に置き換えます。
  • REVISION-NAME は、リビジョンの名前に置き換えます。
  • REGION: サービスの Google Cloud リージョン。
  • PROJECT-ID は、Google Cloud プロジェクト ID に置き換えます。

最新でないリビジョンのステータスが RETIRED になっている場合、そのリビジョンに必要なインフラストラクチャが Cloud Run ですでに廃止されています。

[詳細] パネルのビルドとソース リポジトリの情報の概要

Artifact Analysis API が有効で、コンテナが Cloud Build でビルドされている場合、ビルド情報は [詳細] パネルに表示されます。

また、Cloud Build トリガーを使用してコンテナをビルドした場合は、[詳細] パネルにソース リポジトリの情報も合わせて表示されます。

リビジョンを削除する

リビジョンを削除する一般的なユースケースは、特定のリビジョンが誤って使用されないようにする場合です。

次のリビジョンは削除できません。

  • トラフィックを受信できるリビジョン
  • サービスの唯一のリビジョン
  • サービスの最新リビジョン

リビジョンを削除しても、このリビジョンで使用されているコンテナ イメージは Container Registry または Artifact Registry から自動的に削除されません。コンテナ イメージをレジストリから削除するには、Container Registry または Artifact Registry の削除手順を参照してください。

リビジョンを削除すると元に戻すことはできません。

コンソールまたは、コマンドラインのいずれかを使用できます。

Console

リビジョンを削除するには:

  1. Cloud Run に移動します

  2. サービスリストでサービスを見つけてクリックします。

  3. [リビジョン] タブをクリックして、そのサービスの現在のリビジョンのリストを表示します。

  4. 削除するサービス リビジョンを見つけます。

  5. リビジョンの左側にある縦に並んだ 3 つの点のアイコンをクリックし、[削除] メニューを表示します。

    リビジョン - 削除

  6. [削除] をクリックしてリビジョンを削除します。

gcloud

リビジョンを削除するには、次のコマンドを使用します。

gcloud run revisions delete REVISION --region REGION

次のように置き換えます。

  • REVISION: 削除するリビジョンの名前。
  • REGION: サービスの Google Cloud リージョン。

クライアント ライブラリ

コードからリビジョンを削除するには:

REST API

リビジョンを削除するには、Cloud Run Admin API の revisions エンドポイントDELETE HTTP リクエストを送信します。

curl の使用例を次に示します。

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X DELETE \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME/revisions/REVISION-NAME

次のように置き換えます。

  • ACCESS_TOKEN は、サービスを削除する IAM 権限を持つアカウントの有効なアクセス トークンに置き換えます。たとえば、gcloud にログインしている場合は、gcloud auth print-access-token を使用してアクセス トークンを取得できます。Cloud Run コンテナ インスタンスから、コンテナ インスタンス メタデータ サーバーを使用してアクセス トークンを取得できます。
  • SERVICE-NAME は、サービスの名前に置き換えます。
  • REVISION-NAME は、リビジョンの名前に置き換えます。
  • REGION: サービスの Google Cloud リージョン。
  • PROJECT-ID は、Google Cloud プロジェクト ID に置き換えます。

次のステップ

リビジョンをデプロイすると、次の操作が可能になります。