Endpoints は、分散 API 管理システムです。このシステムは、API Console、ホスティング、ロギング、モニタリングなど、API を作成、共有、維持、保護するための機能を提供します。ここでは、Cloud Endpoints for OpenAPI の概要を説明します。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 Run 関数(ESPv2 のみ)
- Cloud Run(ESPv2 のみ)
- Knative serving(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 がサポートされています。これは次のサービスで使用できます。
- App Engine スタンダード環境
- Compute Engine
- Google Kubernetes Engine
- Kubernetes
- Cloud Run
- Knative serving
- Cloud Run 関数
Endpoints API の管理機能
Endpoints を ESP で使用する、または ESPv2 で使用するいずれの場合についても、Endpoints には、API の開発、モニタリング、アクセス制御を可能にする複数の API 管理機能が用意されています。
ログと指標
Endpoints は API の管理とログおよび指標のレポートに Service Infrastructure を使用します。Google Cloud API のほとんどで、この同じインフラストラクチャが使用されています。Google Cloud コンソールの [エンドポイント] の [サービス] ページで API の管理とモニタリングが行えます。
API のホスティング
Endpoints は、Docker コンテナ環境用に最適化されています。Google Cloud へのインターネット アクセスさえあれば、Docker がサポートされるあらゆる場所で API をホストできます。
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 に、Google Cloud CLI を使用して構成ファイルをデプロイします。これにより、Endpoints が API の詳細とその保護方法をすべて認識します。
API バックエンドのデプロイ: ESP または ESPv2 と API バックエンドをサポートされている Google Cloud バックエンド(Compute Engine など)にデプロイします。ESP は Endpoints バックエンド サービスと連携して、実行時に API を保護し、モニタリングします。
API アクセスの制御
Endpoints を使用すると、あらゆる呼び出しに対して API キーを要求し、渡された API キーを検証するように API を構成できます。また、Google Cloud コンソールを使用して他のデベロッパーと API を共有すると、共有相手のデベロッパーがその API を有効にして、API を呼び出すための API キーを生成できます。
API ユーザーの認証
ほとんどの API 呼び出しで、呼び出しの他方の端には別のユーザーが存在します。API キーによって API を呼び出すアプリが示され、認証プロセスによってアプリを使用するユーザーが特定されます。
ただし、認証されたユーザーが API を使用して実行できる操作を決定するのは API サーバーの役目です。詳細は、Google Cloud Auth ガイドをご覧ください。
次のステップ
Endpoints のクイックスタートでデプロイ手順と Endpoints 機能の実例をご確認ください。ここでは、スクリプトを使用して App Engine フレキシブル バックエンドにサンプル API をデプロイする方法について説明しています。
チュートリアルのいずれかで手順を確認しながら、Endpoints の使用方法を学習します。