Google Service Management とは

Google Service Management は Google Cloud Platform のインフラストラクチャ サービスであり、Google 独自の Cloud Platform サービスとその APIGoogle Cloud Endpoints を使用して作成されたサービスなど、他の API やサービスを管理します。

サービス ユーザーは、Service Management を使用してサービスを検出し、Google プロジェクトに対してそのサービスを有効または無効にできます。ユーザーは、Service Management を Google Cloud Console から使用することができます。これは最もシンプルな方法で、Google Cloud SDK(gcloud)で gcloud を使用します。また、Service Management API を使用してプログラムで使用することもできます。サービスの有効化と無効化に関する詳細はサービスの有効化と無効化を参照してください。

Service Management はサービス プロデューサー向けの機能も提供します。これには、Google Cloud Platform でのサービスの発行が含まれ、サービス ユーザーはこれらのサービスを検索して使用し、サービス ライフサイクルを管理したり、ログシステムやモニタリング システムと統合したりすることができます。現在、この機能は Google Cloud Endpoints を使用してサービスを作成している Google Cloud Platform ユーザー向けに提供されており、サービスの設定と管理に関する詳細の多くを処理するために利用できます。Endpoints のユーザーは、一部のタスクをデプロイまたは管理するために gcloud コマンドライン インターフェースを使用することが必要になるものの、通常は Service Management のプロデューサー API を直接呼び出す必要はありません。

マネージド サービス

REST の URL: https://servicemanagement.googleapis.com/v1/services/{service-name}
REST スキーマはこちらで定義されています。

マネージド サービスとは、Service Management によって管理されるネットワーク サービスです。マネージド サービスにはそれぞれ example.googleapis.com などの一意の名前が付いています。この名前は RFC 1035 に準拠した有効な完全修飾 DNS 名である必要があります。

マネージド サービスは通常、REST API やその他の関数をモバイルアプリやクラウド サービスなどのサービス ユーザーに提供します。

サービス プロデューサーは services.createservices.deleteservices.undelete などのメソッドを使用してマネージド サービスを操作できます。

サービス プロデューサー

サービス プロデューサーはマネージド サービスを公開、維持する役割を果たす Google デベロッパー プロジェクトです。個々のマネージド サービスを所有するのは 1 つのサービス プロデューサーのみです。

サービス ユーザー

サービス ユーザーはマネージド サービスを有効にした Google デベロッパー プロジェクトで、マネージド サービスの API を呼び出すことができます。1 つのマネージド サービスを多くのサービス ユーザーが利用できます。

サービス設定

REST の URL: https://servicemanagement.googleapis.com/v1/services/{service-name}/configs/{config_id}
REST スキーマはこちらで定義されています。

各マネージド サービスは、名前、タイトル、RPC API の定義、REST API の定義、ドキュメント、認証など、幅広い機能を対象に含むサービス設定によって記述されます。

マネージド サービスの設定を変更するには、サービス プロデューサーが最新のサービス設定を Service Management に公開する必要があります。Service Management は公開済みのサービス設定の履歴を保管しているので、サービスの設定が時間の経過とともにどのように進展したかを簡単にさかのぼって調べることができます。サービス設定を公開するには services.configs.create メソッドまたは services.configs.submit メソッドを使用します。

あるいは、services.configs.submit を使用して OpenAPI 仕様(以前は Swagger 仕様と呼ばれていたもの)を公開する方法もあります。この仕様は対応するサービス設定に自動的に変換されます。

サービスのロールアウト

REST の URL: https://servicemanagement.googleapis.com/v1/services/{service-name}/rollouts/{rollout-id}
REST スキーマはこちらで定義されています。

Rollout は、Google Service Management がサービス設定をバックエンド システムにデプロイする方法と、設定がランタイムに有効になる方法を定義します。サービス プロデューサーは、複数のサービス設定バージョンをまとめてデプロイすることと、それらの使用方法を示す戦略を指定できます。

マネージド サービスの設定の更新には危険が伴います。設定にエラーがあるとサービスが停止する可能性があるからです。リスクを軽減するために、Service Management ではサービス設定の変更を段階的にロールアウトすることができます。このため、エラーが起きてもサービス プロデューサーには潜在的な問題を突き止めてサービス設定の変更をロールバックする時間があるので、誤った設定による顧客への影響を最小限にすることができます。たとえば、トラフィックの 5% で設定 1 を使用し、残りの 95% で設定 2 を使用するように指定できます。

Service Management はロールアウトの履歴を保管しているので、サービス プロデューサーは以前の設定バージョンに戻すことができます。設定をロールバックするには、以前送信したロールアウト レコードのクローンを作成する新しい Rollout を開始します。