サービスにデプロイするか、サービスの構成を変更すると、新しいリビジョンが作成されます。このリビジョンは変更できません。
リビジョンには次の考慮事項が適用されます。
- 新しいリビジョンが、すべてのトラフィックを受信するか、まったく受信しないか、またはいくつかを受信するかを指定できます。また、新しいリビジョンを段階的にロールアウトするだけでなく、トラフィックを複数のリビジョン間で分割することや、リビジョンからロールバックすることもできます。詳細については、ロールバック、段階的なロールアウト、トラフィックの移行をご覧ください。
- 必要に応じて、リビジョンタグを使用して、トラフィックを処理しないリビジョンをテストできます。
- 手動でリビジョンを削除する必要はありませんが、必要であれば削除することもできます。
- 提供されていないリビジョンはリソースを消費せず、料金も発生しません。
- サービスごとに最大 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 の構成ガイドをご覧ください。ロールの付与の詳細については、デプロイ権限とアクセスの管理をご覧ください。
サービスのリビジョンのリストを表示する
コンソール
プロジェクト内のリビジョンを一覧表示するには:
サービスリストでサービスを見つけてクリックします。
[リビジョン] タブをクリックして、そのサービスの現在のリビジョンのリストを表示します。
gcloud
特定のサービスのリビジョンを一覧表示するには:
プロジェクトで利用可能なサービスのリストからサービス名を探します。
gcloud run services list
見つかったサービスのすべてのリビジョンを取得するには、次のコマンドを使用します。
gcloud run revisions list --service SERVICE --region REGION
次のように置き換えます。
- SERVICE: 実際のサービスの名前。
- REGION: サービスの Google Cloud リージョン。
Cloud Code
Cloud Code でリビジョンを一覧表示するには、IntelliJ と Visual 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 に置き換えます。
リビジョンの詳細を表示する
コンソール
プロジェクトのリビジョンの詳細を表示するには:
サービスリストでサービスを選択します。
[リビジョン] タブをクリックして、そのサービスの現在のリビジョンのリストを表示します。
必要なサービスのリビジョンを選択します。
右端の [詳細] パネルで、デプロイされたコンテナ イメージの URL、割り当てられたメモリ量、環境変数などのリビジョン固有の情報と、可能であればビルドとソース リポジトリの情報を確認します。
gcloud
プロジェクトのリビジョンの詳細を表示するには:
プロジェクトで利用可能なサービスのリストからサービス名を探します。
gcloud run services list
見つかったサービスのすべてのリビジョンを取得するには、次のコマンドを使用します。
gcloud run revisions list --service SERVICE --region REGION
次のように置き換えます。
- SERVICE: 実際のサービスの名前。
- REGION: サービスの Google Cloud リージョン。
特定のリビジョンに関する詳細を表示するには、次のコマンドを使用します。
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 でリビジョンの詳細を表示するには、IntelliJ と Visual 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
リビジョンを削除するには:
サービスリストでサービスを見つけてクリックします。
[リビジョン] タブをクリックして、そのサービスの現在のリビジョンのリストを表示します。
削除するサービス リビジョンを見つけます。
リビジョンの左側にある縦に並んだ 3 つの点のアイコンをクリックし、[削除] メニューを表示します。
[削除] をクリックしてリビジョンを削除します。
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 に置き換えます。
次のステップ
リビジョンをデプロイすると、次の操作が可能になります。