サービスの管理

このページでは、サービスを作成する方法とサービスの情報を表示する方法について説明します。サービスは Cloud Run の主なリソースです。各サービスには一意で永続的な URL があります。この URL は、新しいリビジョンをサービスにデプロイしても変わりません。

サービスの永続ドメインは、サービス名とハッシュで構成されます。

サービスの作成

コンテナ イメージを最初にデプロイするときに、新しいサービスが作成されます。新しいサービスをデプロイする場合は、これよりも操作が多くなります。

プロジェクトにあるサービスの一覧を表示する

プロジェクトで使用可能なサービスの一覧を表示するには、コンソールまたは gcloud コマンドラインを使用します。

コンソール

サービスリストを表示するには:

  1. Cloud Run に移動します

  2. プロジェクトに表示されたサービスのリストを調べます。

    サービスのリスト

コマンドライン

プロジェクトのサービスを一覧表示するには:

gcloud run services list

サービスには URL が関連付けられています。

割り当てられたラベルなど、サービス定義のプロパティを基準にこのリストをフィルタできます。

Cloud Code

Cloud Code でサービスを一覧表示するには、IntelliJVisual Studio Code に関する Cloud Run Explorer ガイドをご覧ください。

サービスをコピーする

コンソールまたは YAML を使用して、既存のサービスのコピーを作成できます。名前やリージョンなど、コピーに含まれる任意の要素を変更できます。

コンソール

サービスをコピーするには:

  1. Cloud Run に移動します

  2. プロジェクトに関して表示されるサービスのリストから、コピーするサービスを選択します。

    サービスのリスト

    1. [コピー] をクリックします。

    2. サービスのコピーのページで、必要に応じて値(リージョンなど)を設定または変更します。同じリージョンを保持する場合は、サービスに新しい名前を付ける必要があります。

    3. [作成] をクリックするとコピーが作成され、新しいサービス名を使ってそれがデプロイされます。

YAML

既存のサービス構成をダウンロードして表示するには、gcloud run services describe --format export コマンドを使用します。読みやすく整えられた結果が YAML 形式で出力されます。次に、下記の手順に沿ってフィールドを変更し、gcloud run services replace コマンドを使用して変更後の YAML ファイルをアップロードします。必ず説明されているとおりにフィールドを変更してください。

  1. 構成を表示してダウンロードするには:

    gcloud run services describe SERVICE --format export > service.yaml
  2. さまざまな構成に関するページで説明されている手順に沿って、サービスに必要な構成の変更を行います。

     apiVersion: serving.knative.dev/v1
     kind: Service
     metadata:
       annotations:
         ...
       name: SERVICE
       ...
     spec:
       template:
         metadata:
           annotations:
           ...
           name: REVISION
    
    • コピーを別のリージョンにデプロイしない場合は、SERVICE を、そのコピーに使用する名前に置き換えます。コピーを別のリージョンにデプロイする場合は、元の名前を使用できます。
    • REVISION を新しいリビジョン名に置き換えるか、削除(存在する場合)します。新しいリビジョン名を指定する場合は、次の条件を満たす必要があります
      • SERVICE- で始まる
      • 小文字、数字、- のみが使用されている
      • 末尾が - ではない
      • 63 文字以内である
  3. 次のコマンドを使用してサービスをコピーします。

    gcloud run services replace service.yaml

    コピーを別のリージョンにデプロイするには、--region フラグを使用します。

サービスに関する詳細を表示する

サービスの詳細を表示するには、次の操作を行います。

コンソール

サービスの詳細を表示するには:

  1. Cloud Run に移動します

  2. 表示されているサービスの一覧で目的のサービスをクリックし、サービスの詳細ビューを開きます。

    リビジョンのリスト

  3. [リビジョン]、[ログ]、[詳細] の各タブを確認します。[リビジョン] タブにはリビジョンのリストが表示されます。[ログ] タブにはサービスログが表示されます。[詳細] タブには、現在の認証または接続の設定が表示されます。

コマンドライン

サービスの詳細を表示するには:

gcloud run services describe SERVICE
SERVICE は、サービスの名前に置き換えます。

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

gcloud run services describe SERVICE --format yaml

--format export を使用すると、自動生成のラベルやステータスを含まない YAML としてエクスポートできます。

gcloud run services describe SERVICE --format export

--format フラグを使用して、サービスの URL を取得することもできます。

gcloud run services describe SERVICE --format='value(status.url)'

Cloud Code

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

サービスのリビジョンの詳細については、リビジョンの管理をご覧ください。

既存のサービスを無効にする

Cloud Run では、トラフィックを処理するサービスを直接停止することはできませんが、サービスを呼び出している ID のサービス呼び出し権限を取り消すことで、同様の結果を得ることができます。たとえば、サービスが public の場合、Cloud Run 呼び出し元ロール(roles/run.invoker)から allUsers を削除します。

既存のサービスを削除する

サービスを削除する場合は、次の点に注意してください。

  • サービスを削除すると、トラフィック処理中であるかどうかにかかわらず、このサービスに関連するすべてのリソースが削除されます。このサービスのリビジョンもすべて削除されます。
  • サービスを削除しても、Container Registry からコンテナ イメージが自動的に削除されることはありません。削除されたリビジョンで使用されているコンテナ イメージを Container Registry から削除するには、イメージの削除をご覧ください。
  • 1 つ以上の Eventarc トリガーを持つサービスを削除しても、これらのトリガーは自動的に削除されません。トリガーを削除するには、トリガーを管理するをご覧ください。
  • 削除が完全に完了するまで、Google Cloud Console とコマンドライン インターフェースにはサービスが表示されています。ただし、サービスの更新はできません。
  • サービスは完全に削除されます。元に戻すことも、復元することもできません。サービスを削除した後、同じリージョンに同じ名前のサービスを新たにデプロイすると、同じエンドポイント URL が使用されます。

コンソール

サービスを削除するには:

  1. Cloud Run に移動します

  2. 削除するサービスをサービスリストで探し、そのチェックボックスをクリックして選択します。

  3. [削除] をクリックします。これにより、サービスのすべてのリビジョンが削除されます。

コマンドライン

サービスを削除するには、次のコマンドを使用します。

gcloud run services delete [SERVICE]

[SERVICE] は、実際のサービス名に置き換えます。