Edge Microgateway の概要

Edge Microgateway v. 2.5.x

このトピックは、すべてのユーザーを対象とした Edge Microgateway の概要です。

Apigee Edge Microgateway とは

Apigee Edge Microgateway は、API 用の安全な HTTP ベースのメッセージ プロセッサです。その主なジョブは、バックエンド サービスとの間でリクエストとレスポンスを安全に処理し、貴重な API 実行データを非同期的に Apigee Edge に push することです。 push されたデータはそこで Edge Analytics システムによって消費されます。Edge Microgateway のインストールとデプロイは簡単です。数分でインスタンスを利用開始できます。

通常、Edge Microgateway はバックエンド ターゲット サービスに近接した信頼できるネットワーク内にインストールされます。エンタープライズ クラスのセキュリティと、spike arrest、quota、analytics などのいくつかの重要なプラグイン機能が提供されますが、Apigee Edge の全機能やフットプリントは提供されません。Edge Microgateway は、必要に応じて、同じデータセンターにインストールすることも、バックエンド サービスと同じマシンにインストールすることもできます。

主なユースケース

Edge Microgateway などのハイブリッド Cloud API 管理ソリューションの一般的なユースケースは次のとおりです。

  • 近接して動作するサービスの API トラフィックのレイテンシを短縮する。たとえば、API コンシューマとプロデューサが近接している場合、API に中央ゲートウェイを通過させるのが望ましいとは限りません。

  • セキュリティやコンプライアンスの目的で、企業が承認した境界内で API トラフィックを維持する。
  • インターネット接続が一時的に失われた場合に、メッセージの処理を続行する。
  • Apigee コミュニティでのこのユースケースに関するディスカッションもご覧ください。

主な機能と利点

  • セキュリティ。Edge Microgateway では、Apigee Edge によって各クライアント アプリに発行された署名付きアクセス トークンまたは API キーを使用してリクエストが認証されます。
  • 迅速なデプロイ。Apigee Edge の完全なデプロイとは異なり、Edge Microgateway のインスタンスは、わずか数分でデプロイして実行できます。
  • ネットワークの近接。Edge Microgateway は、Edge Microgateway と相互作用するバックエンド ターゲット API と同じマシン、サブネット、データセンターにインストールして管理できます。
  • 分析。Edge Microgateway により、API 実行データが非同期的に Apigee Edge に送信されます。このデータは、そこで Edge Analytics システムによって処理されます。Edge Analytics のすべての指標、ダッシュボード、API を使用できます。
  • レイテンシの短縮。Apigee Edge とのすべての通信は非同期であり、クライアント API リクエストの処理の一部として行われるものではありません。これにより、Edge Microgateway は、レイテンシに影響を与えることなく API データを収集して Apigee Edge に送信できます。
  • 慣れた使いやすさ。Edge Microgateway は、プロキシ、プロダクト、デベロッパー アプリなど、Edge 管理者がすでによく理解している Apigee Edge の機能を使用し、これらの機能と相互作用します。
  • 構成。Edge Microgateway の設定と管理にプログラミングは必要ありません。すべてが構成によって処理されます。
  • 利便性。Edge Microgateway は、既存のアプリケーション モニタリング、管理インフラストラクチャ、プロセスと統合できます。
  • シンプル。インストール、構成、保守が簡単です。
  • ロギング。ログファイルには、Edge Microgateway の API 処理中に発生したすべての通常のイベントと例外イベントの詳細が記載されます。
  • CLI。コマンドライン インターフェースを使用して Edge Microgateway の起動、停止、再起動、動作の統計の抽出、ログファイルの表示、アクセス トークンのリクエストなどを行うことができます。

Edge Microgateway について知っておくべきこと

このセクションでは、Edge Microgateway の機能、基本的なアーキテクチャ、構成、デプロイについて説明します。

Edge Microgateway を使用する理由

バックエンド ターゲット アプリケーションの近くに API 管理コンポーネントを移動することで、ネットワークのレイテンシを短縮できます。Apigee Edge On Premises はプライベート クラウドにインストールできますが、Apigee Edge の完全なデプロイは、完全な機能セットと、キー管理、収益化、分析などのデータ量が多い機能を完全にサポートするために、必然的に大規模かつ複雑になります。つまり、Apigee Edge On Premises を各データセンターにデプロイすることが必ずしも望ましいとは限りません。

Edge Microgateway を利用することにより、バックエンド アプリケーションの近くで実行される比較的小さいフットプリントのアプリケーションを実現できます。また、分析、セキュリティなどの機能には完全な Apigee Edge を活用できます。

デプロイ シナリオの例

このセクションでは、Edge Microgateway の考えられるデプロイ シナリオをいくつか紹介します。

同じマシン

図 1 は、Edge Microgateway とバックエンド ターゲット API が同じマシンにインストールされた、考え得る限り最もシンプルな構成で Edge Microgateway がデプロイされている場合のリクエストの処理パスを示しています。単一の Edge Microgateway インスタンスを複数のバックエンド ターゲット アプリケーションのフロントエンドとして配置することができます。

図 1: Edge Microgateway の最もシンプルなデプロイ

異なるマシン

クライアント(Edge Microgateway)とバックエンド API 実装の間のすべての通信は HTTP なので、図 2 に示すように、Apigee Edge Microgateway を API 実装とは別のマシンにインストールすることもできます。

図 2: バックエンド ターゲット API から分離された Edge Microgateway

ロードバランサを使用する

Edge Microgateway 自体のフロントエンドには、図 3 に示すように、標準のリバース プロキシか、SSL 終端処理または負荷分散用のロードバランサを配置できます。

図 3: ロードバランサを使用した Edge Microgateway の運用

イントラネット デプロイ

図 4 に示すように、イントラネット トラフィックの保護に Edge Microgateway を使用し、インターネット トラフィックの保護に Apigee Edge を使用します。たとえば、Apigee Edge Cloud を介して API エンドポイント /orders がプロキシされ、バックエンド ターゲット https://mycompany.com/orders にヒットしたとします。これは、左側のターゲット API 実装によって表されます。次に、この API によって、右側のターゲット実装で表される複数の API エンドポイントを呼び出すことができます。たとえば、/customers/transactions を内部的に呼び出すことができます。Apigee コミュニティのこの投稿もご覧ください。

図 4: イントラネット トラフィックを保護する Edge Microgateway の運用

Apigee Edge への依存性

Edge Microgateway は Apigee Edge に依存し、Apigee Edge と相互作用します。Edge Microgateway が機能するためには、Apigee Edge との通信が必要です。Edge Microgateway が Edge と相互作用する主な方法は次のとおりです。

  • スタートアップ時に、Edge Microgateway は特別な「Edge Microgateway 対応」プロキシのリストと、Apigee Edge 組織のすべてのプロダクトのリストを取得します。各受信クライアント リクエストについて、Edge Microgateway はリクエストがこれらの API プロキシのいずれかと一致するかどうかを判断し、そのプロキシに関連付けられたプロダクトのキーに基づいて受信アクセス トークンまたは API キーを検証します。
  • Apigee Edge Analytics システムで、Edge Microgateway から非同期に送信された API データを格納して処理します。
  • Apigee Edge は、アクセス トークンに署名するために使用される認証情報を提供したり、Edge Microgateway を通じて API 呼び出しを行うクライアントが必要とする API キーを提供したりします。これらのトークンは、CLI コマンドを使用して取得できます。

1 回限りの構成

最初に、Apigee Edge 組織と通信できるように Edge Microgateway を構成する必要があります。スタートアップ時に、Edge Microgateway は Apigee Edge との間でブートストラップ操作を開始します。Edge Microgateway は、Apigee Edge から、独自に API 呼び出しを処理するために必要な情報を取得します。これには、Apigee Edge にデプロイされている Edge Microgateway 対応プロキシのリストが含まれます。これらのプロキシは後で詳しく説明します。

Edge Microgateway は Apigee Edge と同じ場所に配置する必要はありません。Apigee Edge のパブリック クラウドとプライベート クラウドの提供サービスは等しく適切に機能します。

Edge Microgateway 対応プロキシについて知っておくべきこと

Edge Microgateway 対応プロキシは、クライアント API リクエストを処理するための特定の情報を Edge Microgateway に提供します。Edge Microgateway が起動すると、これらのプロキシに関する情報が Apigee Edge から Edge Microgateway にダウンロードされます。

ユーザーまたはユーザーの API チームが、Apigee Edge 管理 UI を使用して、または必要に応じて他の方法で Apigee Edge にこれらのプロキシを作成します。これは簡単な操作です。詳細については、Edge Microgateway の設定と構成をご覧ください。

Edge Microgateway 対応プロキシの特徴は次のとおりです。

  • Micro 対応プロキシは、Edge Microgateway に、基本パスとターゲット URL という 2 つの重要な情報を提供します。
  • Micro 対応プロキシは、HTTP ターゲット エンドポイントを指している必要があります。バックエンド ターゲットを TargetEndpoint 定義の ScriptTarget 要素によって参照される Node.js アプリケーションにすることはできません。詳細については、上記の注をご覧ください。
  • プロキシ名には接頭辞 edgemicro_ を付加する必要があります。たとえば、edgemicro_weather となります。
  • Edge Microgateway プロキシは、Apigee Edge 管理 UI のプロキシ エディタでは編集できません。つまり、ポリシーや条件付きフローは追加できません(追加を試みると、これらは無視されます)。
  • それ以外の場合、Edge Microgateway プロキシは、Edge 上の他の API プロキシと同じように、Edge 管理 UI に表示されます。
  • Edge 上の API プロキシと同様に、Edge Microgateway プロキシは、プロダクトにバンドルすることも、デベロッパー アプリに関連付けることもできます。
  • 他のプロキシと同様に、Edge Microgateway プロキシ アナリティクスを追跡できます。
  • Edge Microgateway プロキシは、Apigee Edge Trace ツールを使用してトレースすることはできません。

Edge Microgateway と Apigee Edge Analytics の詳細

API トラフィックが Edge Microgateway を通過する際、Edge Microgateway は API 実行データをバッファリングして非同期的に Apigee Edge に送信します。APigee Edge では、データが Edge Analytics システムによって保存されて処理されます。この非同期通信により、Edge Microgateway は Edge の分析機能を利用しながら、処理オーバーヘッドやブロッキングを最小限に抑えて比較的小さいフットプリントを維持できます。Edge Microgateway を通過するトラフィックの分析には、Edge Analytics ダッシュボードとカスタム レポートの全機能を使用できます。

図 6: Edge の [Proxy Traffic] ダッシュボード

Edge Analytics の詳細については、Analytics ダッシュボードをご覧ください。

Edge Microgateway のセキュリティについて

Apigee Edge の役割

前述のように、Apigee Edge は、Edge Microgateway へのすべてのクライアント リクエストの保護に関与しています。Apigee Edge の主な役割は次のとおりです。

  • API キーとして使用されるクライアント認証情報を提供するか、クライアントが Edge Microgateway 経由で安全な API 呼び出しを行うために使用する有効なアクセス トークンを生成します。
  • Edge Microgateway が API 実行データを Apigee Edge Analytics システムに送信するために必要な認証情報を提供します。これらの認証情報は、初期設定手順で Edge Microgateway によって 1 回取得されます。
  • API リソースのプロダクトへのバンドル、デベロッパーの登録と管理、デベロッパー アプリの作成と管理のためのプラットフォームを提供します。

クライアント アプリの認証

  • Edge Microgateway では、アクセス トークンと API キーによるクライアント認証がサポートされています。セキュリティ キーとトークンは、Apigee Edge によって生成され、API 呼び出しごとに Edge Microgateway によって検証されます。
  • oauth プラグインが有効な場合は、Edge Microgateway で署名付きアクセス トークンまたは API キーがチェックされ、有効であれば API 呼び出しがバックエンド ターゲットに進みます。有効でない場合は、エラーが返されます。
  • アクセス トークンと API キーを取得して使用するために必要な手順については、Edge Microgateway の設定と構成をご覧ください。

Apigee Edge における Edge Microgateway の認証

  • Apigee Edge の分析データを更新するために Edge Microgateway で非同期呼び出しを行うには、認証が必要です。この認証は、CLI または環境変数を使用して Edge Microgateway に渡される公開鍵と秘密鍵のペアによって提供されます。これらの鍵は、Edge Microgateway を初めてインストールして起動するときに 1 回取得して使用します。

API プロダクト管理プラットフォーム

  • Edge は、API リソースのプロダクトへのバンドル、デベロッパーの登録と管理、デベロッパー アプリの作成と管理のためのプラットフォームとして機能します。たとえば、Edge Microgateway プロキシでも、通常の Apigee Edge プロキシでプロダクトやデベロッパー アプリなどのエンティティを作成してバンドルするのとまったく同じことができます。API レベルのセキュリティは、各「バンドル」に対して公開と非公開のセキュリティ キーを生成することで実現します。このメカニズムは Apigee Edge での API セキュリティの仕組みと同じです。

既存の Edge プロキシ実装を Edge Microgateway に移行できますか?

関連するポリシーまたは条件フローを持つ既存のプロキシを Edge Microgateway に移行することはできません。Edge Microgateway により、新しい「Microgateway 対応」プロキシを作成することが求められます。これらのプロキシには、特別な接頭辞 edgemicro_ の付いた名前を指定する必要があります。スタートアップ時に、Edge Microgateway でこれらの edgemicro_* プロキシが検出され、それぞれの構成情報がダウンロードされます。この情報には、ターゲット URL とリソースパスが含まれます。それ以降、そのプロキシは使用されません。これらのプロキシのポリシーまたは条件フローが実行されることは決してありません。

Microgateway 対応プロキシを使用するもう 1 つの理由は、Edge Microgateway が Microgateway 対応プロキシごとの分析データを Edge に非同期的に push することです。これにより、Microgateway 対応プロキシの分析データを、Edge Analytics UI の他のプロキシと同様に表示できるようになります。

設定のトピックでは、Edge Microgateway を介して API 呼び出しのプロキシを開始するために必要なすべての手順を説明しています。これには、Microgateway 対応プロキシの作成など、Edge Microgateway で必要な構成を設定するための Apigee Edge でのいくつかの簡単な手順が含まれます。Edge Microgateway の設定と構成をご覧ください。

Edge Microgateway プロキシでポリシーを使用できますか?

前のセクションで説明したように、Apigee Edge の「Microgateway 対応」プロキシにポリシーを接続することはできません。Edge Microgateway では、プラグインを使用して、割り当て、spike arrest、API キー セキュリティ、OAuth2 セキュリティなど、Edge のポリシーと同様の機能が提供されます。プラグインを使用するをご覧ください。

Edge Microgateway について学習する

Apigee では以下のリソースが提供されています。