サービスの管理

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

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

サービスの作成

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

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

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

Console

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

  1. Cloud Run に移動します

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

    サービスのリスト

コマンドライン

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

gcloud run services list

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

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

Cloud Code

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

サービスをコピーする

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

Console

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

  1. Cloud Run に移動します

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

    サービスのリスト

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

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

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

YAML

既存のサービス構成をダウンロードして表示するには、gcloud run services describe --format export コマンドを使用します。読みやすく整えられた結果が YAML 形式で出力されます。次に、下記の手順に沿ってフィールドを変更し、gcloud beta 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-NAME
    
    • コピーを別のリージョンにデプロイしない場合は、SERVICE を、そのコピーに使用する名前に置き換えます。コピーを別のリージョンにデプロイする場合は、元の名前を使用できます。
    • REVISION-NAME の値はサービス名(SERVICE)で始まる必要があります。たとえば、新しいサービス名が mynewfoo の場合、リビジョン名は mynewfoo-whatever という形式になる必要があります。あるいは、値全体を削除すると、新しいリビジョン名が自動的に作成されます。
  3. 次のコマンドを使用してサービスをコピーします。

    gcloud beta run services replace service.yaml

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

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

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

Console

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

  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 からコンテナ イメージを削除する方法については、イメージの削除をご覧ください。

サービスは削除が完了するまで Google Cloud Console とコマンドライン インターフェースに表示され続けますが、サービスの更新はできません。

サービスは完全に削除されます。元に戻すことも、復元することもできません。サービスを削除した後、同じリージョンに同じ名前のサービスを新たにデプロイすると、同じエンドポイント URL が使用されます。

Console

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

  1. Cloud Run に移動します

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

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

コマンドライン

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

gcloud run services delete [SERVICE]

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