マイクロサービスの定義

このドキュメントでは、カスタム サービスと GKE ベースと Cloud Run ベースのリソース用のサービスを作成する方法について説明します。

Cloud Monitoring では、サービスを SLO とアラート ポリシーに関連付けることができます。Monitoring サービスを作成する可能性のあるリソースもサービスという場合もありますが(GKE サービスCloud Run サービスなど)、意味は異なります。

Monitoring は、GKE ベースと Cloud Run ベースのサービスをモニタリング候補として認識できます。サービスを作成するには、Monitoring サービスとして使用する候補を指定します。Monitoring により、必要なインフラストラクチャが作成されます。

任意のカスタム サービスを定義することもできます。

サービスを特定または作成する

候補のサービスを特定する場合、またはカスタム サービスを作成する場合は、[サービスを定義] ペインに移動します。

  1. Google Cloud コンソールのナビゲーション パネルで、[Monitoring] を選択してから、 [SLO] を選択します。

    [SLO] に移動

  2. [サービスの概要] ページで、次のいずれかを行います。

    • [ サービスを定義] をクリックします。

    • [現在のステータス] ペインで、[サービスを定義] リンクをクリックします。

      [サービスを定義] を使用して、カスタム サービスまたはユーザー指定のサービスを作成します。

[サービスを定義] ペインで、次の操作を行うことができます。

  • 候補のサービスのリストから GKE ベースまたは Cloud Run ベースのサービスを作成します。
  • カスタム サービスを定義します。

以降のセクションでは、これらのオプションについて説明します。

GKE ベースと Cloud Run ベースのサービスを作成する

Cloud Monitoring では、次のタイプのサービスを特定できます。

  • GKE 名前空間
  • GKE サービス
  • GKE ワークロード
  • Cloud Run サービス

こうした潜在的なサービスが多数存在する可能性があるため、Monitoring ではそれらが SLO を持つサービスとして扱われることは想定していません。Monitoring がサービスとして扱う可能性のあるサービスを指定するには、Google Cloud コンソールまたは API を使用します。

Google Cloud コンソールで GKE と Cloud Run サービスを作成する

Google Cloud コンソールを使用して GKE または Cloud Run ベースの Monitoring サービスを識別する手順は次のとおりです。

  1. [サービスの概要] ページで、[サービスを定義] をクリックします。

  2. [サービスの候補] を選択します。

    潜在的なサービスが [サービスの候補] タブに表示されます。

    リストに多数の候補が表示されている場合があります。次のようにリストをフィルタリングできます。

    1. [表をフィルタリング] をクリックします。フィルタ オプションのリストが表示されます。

    2. フィルタリストのいずれかのオプションを選択します。選択したオプションがフィルタバーに表示されます。

    3. フィルタバーのオプションの隣をクリックして入力を開始します。一致する値がリストに掲載されます。リストから値を選択します。

  3. 潜在的なサービスのリストから候補となるサービスをクリックします。

    エントリをクリックすると、以下のフィールドが自動的に入力されます。

    • 表示名は、リスト内のエントリの名前に設定されます。この値は変更可能です。

    • 新しいサービスの構成用の JSON コードブロックが候補から生成されます。この値は変更しないでください。

  4. [送信] をクリックします。サービスが作成されると、[成功] 通知が表示されます。

API を使用して GKE と Cloud Run サービスを作成する

GKE と Cloud Run ベースのサービスは、Cloud Monitoring API の一部である SLO API を使用して定義することもできます。

プログラムでサービスを作成するには、次のいずれかの構成オブジェクトを services.create メソッドに送信します。

GKE 名前空間

GkeNamespace 構造体を使用します。次に例を示します。

{
  "displayName": "test-kube-namespace",
  "gkeNamespace": {
    "location": "us-central1-c",
    "clusterName": "cluster-1",
    "namespaceName": "test-kube-namespace"
  }
}

GKE サービス

GkeService 構造体を使用します。次に例を示します。

{
  "displayName": "test-kube-service",
  "gkeService": {
    "location": "us-central1-c",
    "clusterName": "cluster-1",
    "namespaceName": "kube-system",
    "serviceName": "test-kube-service"
  }
}

GKE ワークロード

GkeWorkload 構造体を使用します。次に例を示します。

{
  "displayName": "frontend-a",
  "gkeWorkload": {
    "location": "us-central1-b",
    "clusterName": "cluster-2",
    "namespaceName": "default",
    "topLevelControllerType": "Deployment",
    "topLevelControllerName": "frontend-a"
  }
}

Cloud Run

CloudRun 構造体を使用します。次に例を示します。

{
  "displayName": "test-cloudrun-service",
  "cloudRun": {
    "serviceName": "test-cloudrun-service",
    "location": "us-central1"
  }
}

プログラムでサービスを管理する方法については、API の操作をご覧ください。

カスタム サービスを作成する

ニーズに合ったサービスがない場合は、カスタム サービスを作成します。カスタム サービスを使用すると、ご使用の環境に有用な方法で SLO をグループ化することも、既存のマイクロサービスに対応しないビジネス指標に SLO を作成することもできます。

Google Cloud コンソールを使用してカスタム サービスを作成する

Google Cloud コンソールでカスタム サービスを定義する手順は次のとおりです。

  1. [サービスの概要] ページで [サービスを定義] をクリックすると、[サービスを定義] ペインが表示されます。

  2. [カスタム サービス] を選択します。

    [カスタム サービス] タブを使用して、任意のサービスを定義します。

  3. カスタム サービスの表示名を入力します。

  4. [送信] をクリックします。サービスが作成されると、[成功] 通知が表示されます。

API を使用してカスタム サービスを作成する

SLO API を使用してカスタム サービスを定義するには、次のような Custom 構成オブジェクトを services.create メソッドに送信します。

{
  "displayName": "hello-world-service",
  "custom": {}
}

プログラムでサービスを管理する方法については、API の操作をご覧ください。

次のステップ

新しいサービスを特定または作成したら、次の操作を行います。

  • 新しいサービスの SLO を作成します。このサービスを利用するには、新しいサービスに少なくとも 1 つの SLO を定義する必要があります。詳細については、SLO の作成をご覧ください。
  • 新しいサービスのダッシュボードに移動します。新しいサービスの場合、ダッシュボードは空になりますが、ダッシュボードから SLO を定義できます。詳細については、マイクロサービス ダッシュボードの使用をご覧ください。