Cloud Endpoints について

Endpoints は、分散 API 管理システムです。このシステムは、API Console、ホスティング、ロギング、モニタリングなど、API を作成、共有、維持、保護するための機能を提供します。ここでは、Cloud Endpoints for gRPC の概要を説明します。Endpoints でサポートされている他のタイプの API フレームワークについては、すべての Endpoints ドキュメントをご覧ください。

Endpoints は、分散型 Extensible Service Proxy(ESP)または Extensible Service Proxy V2(ESPv2)で使用できます。各プロキシでは、以下で説明するプラットフォームがサポートされます。

  • App Engine フレキシブル(ESP のみ)
  • Google Kubernetes Engine(ESP または ESPv2)
  • Compute Engine(ESP または ESPv2)
  • Kubernetes(ESP または ESPv2)
  • App Engine スタンダード環境(ESPv2 のみ)
  • Cloud Functions(ESPv2 のみ)
  • Cloud Run(ESPv2 のみ)
  • Cloud Run for Anthos(ESPv2 のみ)

ESP を使用した Endpoints

Endpoints では、分散型 Extensible Service Proxy(ESP)を使用して、要件が非常に厳しい API についても低レイテンシと高パフォーマンスを実現します。ESP は、NGINX ベースのサービス プロキシであるため、必要に応じてスケールし、API に対する同時リクエストを確実に処理します。ESP は、より優れた分離環境とスケーラビリティを確保するために、独自の Docker コンテナで動作し、Container Registry で分散されます。これは次のサービスで使用できます。

ESPv2 を使用した Endpoints

ESPv2 は高性能でスケーラブルな Envoy ベースのプロキシで、OpenAPI バックエンドまたは gRPC API バックエンドの前面で動作します。ESPv2 では、OpenAPI 仕様と gRPC 仕様のバージョン 2 がサポートされています。これは次のサービスで使用できます。

Endpoints API の管理機能

Endpoints を ESP で使用する、または ESPv2 で使用するいずれの場合についても、Endpoints には、API の開発、モニタリング、アクセス制御を可能にする複数の API 管理機能が用意されています。

ログと指標

Endpoints は API の管理とログおよび指標のレポートに Service Infrastructure を使用します。Google Cloud API のほとんどで、この同じインフラストラクチャが使用されています。Google Cloud Console[エンドポイント] の [サービス] ページで API の管理とモニタリングが行えます。

API のホスティング

Endpoints は、Docker コンテナ環境用に最適化されています。Google Cloud へのインターネット アクセスさえあれば、Docker がサポートされるあらゆる場所で API をホストできます。

Endpoints での gRPC API の開発

  1. gRPC API サービスを、プロトコル バッファを使用して定義し、gRPC がサポートしている言語のいずれかで実装します。

  2. Endpoints の gRPC API サービス構成を記述します。

  3. API のランタイム API 構成を生成して、Service Management にデプロイします。

  4. API サーバーをデプロイします。

Endpoints での gRPC の使用方法の詳細については、Endpoints for gRPC の API および関連するチュートリアルをご覧ください。

API アクセスの制御

Endpoints を使用すると、あらゆる呼び出しに対して API キーを要求し、渡された API キーを検証するように API を構成できます。また、Google Cloud Console を使用して他のデベロッパーと API を共有すると、共有相手のデベロッパーがその API を有効にして、API を呼び出すための API キーを生成できます。

API ユーザーの認証

ほとんどの API 呼び出しで、呼び出しの他方の端には別のユーザーが存在します。API キーによって API を呼び出すアプリが示され、認証プロセスによってアプリを使用するユーザーが特定されます。

ただし、認証されたユーザーが API を使用して実行できる操作を決定するのは API サーバーの役目です。詳細は、Google Cloud Auth ガイドをご覧ください。

次のステップ

  • Endpoints のクイックスタートでデプロイ手順と Endpoints 機能の実例をご確認ください。ここでは、スクリプトを使用して App Engine フレキシブル バックエンドにサンプル API をデプロイする方法について説明しています。

  • チュートリアルのいずれかで手順を確認しながら、Endpoints の使用方法を学習します。