API と API プロキシについて

このページの内容は ApigeeApigee ハイブリッドに該当します。

Apigee Edge のドキュメントを表示する。

Apigee を使用すると、アプリ デベロッパーが使用できる RESTful API を簡単かつ迅速に構築できます。バックエンド サービスのマネージド「ファサード」として機能する API プロキシを構築することにより、Apigee 上で API を公開します。このトピックでは、Apigee における API と API プロキシの関係について説明します。

動画: API プロキシの概要を説明するこちらの短い動画をご覧ください。

API とは

API とは、あるアプリケーションが別のアプリケーションの機能やデータを簡単に「利用」できるようにするインターフェースです。API は、アプリケーションのロジックとデータに安定したシンプルなエントリ ポイントを定義することで、他のデベロッパーによってビルドされたアプリケーション ロジックへのアクセスや再利用を簡単にします。ウェブ API の場合、ロジックとデータはネットワーク経由で公開されます。

API を使用するアプリケーションには変更が多発するため、API には契約も含まれています。この契約は、API が時間の経過とともに予測可能な方法で変更されることをある程度保証しています。

Apigee により API を作成できます。また、すでに API を所有している場合、管理レイヤと公開設定レイヤを追加しながら API を直接公開できます。SOA ベースのウェブサービスなど、HTTP 対応サービスを使用している場合、Apigee を介して API として公開することも可能です。

Apigee では、API サービス プラットフォームでホストされているアプリケーションを実装することで、バックエンド サービスを使用することなく API を構築することもできます。これらのアプリケーションは JavaScript と Java で構築できます。

API プロキシとは

Apigee で API を公開するには、API プロキシを実装します。API プロキシは、アプリ側の API をバックエンド サービスから切り離して、これらのアプリがバックエンド コードの変更の影響を受けないようにします。バックエンドの変更をサービスに適用しても、アプリは中断されることなく同じ API の呼び出しを続けます。

API プロキシ構成には、次の 2 種類のエンドポイントがあります。

  • ProxyEndpoint: クライアント アプリでの API の使用方法を定義します。ProxyEndpoint を構成して、API プロキシの URL を定義します。また、プロキシ エンドポイントは、アプリが HTTP と HTTPS のどちらで API プロキシにアクセスするかを決定します。通常、ポリシーを ProxyEndpoint に接続することで、セキュリティ、割り当てチェック、その他のアクセス制御やレート制限を適用できます。
  • TargetEndpoint: API プロキシとバックエンド サーバーとのやりとりの方法を定義します。セキュリティ設定、HTTP または HTTPS プロトコル、その他の接続情報の定義など、リクエストが適切なバックエンド サービスに転送されるように、TargetEndpoint を構成できます。ポリシーを TargetEndpoint に接続すると、最初のリクエストを実行したアプリ用にレスポンス メッセージが適切に形式設定されるようになります。

API プロキシを可視化した図を以下に示します。

HTTP リクエストは、プロキシ リクエスト エンドポイントを経由して、ターゲット リクエスト エンドポイントに渡された後、バックエンド サービスに送信されます。HTTP レスポンスは、ターゲット レスポンス エンドポイントを経由して、プロキシ レスポンス エンドポイントに渡された後、クライアントに返されます。

API プロキシのタイプ

Apigee は、次の 2 つのプロキシタイプをサポートしています。

  • 標準プロキシには、標準ポリシーのみが含まれます。標準プロキシは軽量の API ソリューションに適しており、API プロダクトに含めることはできません。
  • 拡張可能なプロキシには、少なくとも 1 つの拡張可能なポリシーまたはフローフックが含まれます。拡張プロキシには、標準のプロキシよりもはるかに多くの機能を含めることができます。

API プロキシの作成方法

API プロキシは、XML 構成ファイルとコード(JavaScript、Java など)のバンドルとして構成されています。Apigee では、次のような方法で API プロキシを作成できます。

  • Apigee UI を使用して、グラフィカル ユーザー インターフェース(GUI)で API プロキシを定義する。詳細については、シンプルな API プロキシを構築するをご覧ください。
  • API プロキシを定義する XML ファイルと他のサポート ファイルを作成して、Apigee にインポートする。
  • Apigee に一連の REST リクエストを送信し、Apigee API を使用して API プロキシを作成する。
  • VS Code で Apigee を使用してローカルで開発し、アーカイブとしてデプロイできます。詳細については、Apigee を使用したローカル開発の概要をご覧ください。

API プロキシ リビジョンとは

API プロキシのリビジョンにより、API プロキシ構成の更新が繰り返される際に、それを管理するための簡単なメカニズムが提供されます。リビジョンは順番に番号が振られているので、以前のリビジョンの API プロキシをデプロイして、変更を元に戻すことができます。リビジョンを使用すると、API プロキシを本番環境にデプロイすると同時に、その API プロキシの新しいリビジョンをテスト環境で作成できます。準備ができたら、API プロキシのリビジョンをテスト環境から本番環境に昇格させることができます。

ポリシーとは

Apigee では、ポリシーを使用することにより、コードを記述することなく API の動作を制御できます。ポリシーは、プロキシのリクエスト / レスポンス フローの一部として特定の制限付き管理機能を実装するモジュールのようなものです。ポリシーを使用すると、一般的な管理機能を簡単かつ確実に API に追加できます。ポリシーによって、セキュリティ、レート制限、変換、メディエーションの機能などが提供され、自身でコーディングやメンテナンスを行う必要がなくなります。

最初の API プロキシを作成する

Apigee では、初めて API を作成する際に使用できるチュートリアルを 1 セット用意しています。初めての API プロキシの作成から始めましょう。他にスタートガイドもご覧ください。

詳細