Cloud Endpoints について

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

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

Endpoints アーキテクチャ

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

API のホスティング

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

ただし、Endpoints は、次の環境で API を実行するのに最適なワークフローを提供します。

  • Compute Engine
  • GKE
  • 組み込みの ESP を含む App Engine フレキシブル環境

Endpoints for OpenAPI を使用した REST API の開発

Endpoints は言語に依存しません。OpenAPI 構成ファイルを使用して、API の記述をサポートしている任意の言語と REST フレームワークで API を作成できます。

Endpoints for OpenAPI を使用するには、次の手順に従います。

  • Endpoints の構成: OpenAPI 構成ファイルで、API のサーフェスを記述して Endpoints の機能(API キーや認証ルールなど)を構成します。

  • Endpoints 構成のデプロイ: OpenAPI 構成ファイルで API を定義した後、Endpoints が API を管理するために使用する Service Management に、Cloud SDK を使用して構成ファイルをデプロイします。これにより、Endpoints が API の詳細とその保護方法をすべて認識します。

  • API バックエンドのデプロイ: ESP と API バックエンドをサポートされている Google Cloud バックエンド(Compute Engine など)にデプロイします。ESP は Endpoints バックエンド サービスと連携して、実行時に 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 の使用方法を学習します。