Edge Microgateway の概要

現在、Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご確認ください
情報

Edge Microgateway バージョン 3.2.x

Apigee Edge Microgateway は、安全な HTTP ベースの API 用 Message Processor です。このサービスの主な役割は、バックエンド サービスとの間で行われるリクエストとレスポンスを安全に処理し、有用な API 実行データを Apigee Edge に非同期で push して、Edge Analytics システムによって使用されることです。Edge Microgateway はインストールとデプロイが簡単で、数分でインスタンスを起動できます。

通常、Edge Microgateway は、バックエンド ターゲット サービスに近接した信頼できるネットワーク内にインストールされます。エンタープライズ クラスのセキュリティと、Spike Arrest、割り当て、分析などの一部の主要なプラグイン機能が提供されますが、Apigee Edge の完全な機能やフットプリントは提供されません。Edge Microgateway は、必要に応じて同じデータセンターまたはバックエンド サービスと同じマシンにインストールできます。

Edge Microgateway は、スタンドアロン プロセスとして実行することも、Docker コンテナで実行することもできます。Edge Microgateway での Docker の使用をご覧ください。 また、Edge Microgateway を使用して、Kubernetes クラスタで実行されるサービスに対して Apigee API 管理を提供することもできます。既存のサービスと API を Kubernetes スタックに移行する場合でも、新しいサービスや API を作成する場合でも、Edge Microgateway は、セキュリティ、トラフィック管理、分析、公開などを含むクリーンな API 管理エクスペリエンスを提供します。 Edge Microgateway を Kubernetes と統合するをご覧ください。

一般的なユースケース

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

  • 近くで実行されているサービスの API トラフィックのレイテンシを短縮します。たとえば、API のコンシューマとプロデューサーが近くにいる場合、API が中央のゲートウェイを通過することは必ずしも必要ではありません。
  • セキュリティやコンプライアンスを目的として、API トラフィックを企業が承認した境界内に維持します。
  • インターネット接続が一時的に失われた場合は、メッセージの処理を続行します。
  • Kubernetes クラスタで実行されるサービスに Apigee API 管理を提供します。 Edge Microgateway と Kubernetes の統合をご覧ください。

その他のユースケースについては、こちらの 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 は、既存のアプリケーションのモニタリングおよび管理用のインフラストラクチャおよびプロセスと統合できます。Apigee API Monitoring は Edge Microgateway ではサポートされていません。
ロギング ログファイルには、Edge Microgateway による API 処理中に発生したすべての通常イベントと例外イベントの詳細が記録されます。
CLI コマンドライン インターフェースを使用すると、Edge Microgateway の起動、停止、再起動、運用統計情報の抽出、ログファイルの表示、アクセス トークンのリクエストなどを行うことができます。

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

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

Edge Microgateway を使用する理由

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

Edge Microgateway を使用すると、バックエンド アプリケーションの近くで比較的小さなフットプリントのアプリケーションを実行できます。また、分析、セキュリティ、その他の機能に Apigee Edge をフル活用できます。

デプロイ シナリオの例

このセクションでは、Edge Microgateway のデプロイ シナリオをいくつか示します。

同じマシン

図 1 は、Edge Microgateway が可能な限りシンプルな構成でデプロイされた場合のリクエスト処理パスを示しています。Edge Microgateway とバックエンド ターゲット API は同じマシンにインストールされています。1 つの Edge Microgateway インスタンスを使用して、複数のバックエンド ターゲット アプリケーションの前面に配置できます

Edge microgateway がネットワークにデプロイされます。クライアントからの API リクエストを処理し、ターゲット サービスを呼び出します。microgateway は Apigee Edge Cloud とプロキシと分析のデータをやり取りします。
図 1: Edge Microgateway の最もシンプルなデプロイ

別のマシン

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

Edge Microgateway は 1 台のマシンでデプロイされ、バックエンド サービスは別の場所にデプロイされます。API リクエストは microgateway によって処理され、リクエストがバックエンド ターゲットに送信されます。Microgateway は、Apigee Edge Cloud とプロキシと分析のデータをやり取りします。
図 2: バックエンド ターゲット API から分離された Edge Microgateway

ロードバランサあり

図 3 に示すように、Edge Microgateway 自体のフロントエンドは、SSL 終端またはロード バランシング用の標準のリバース プロキシまたはロードバランサによって行われます。

ロードバランサが、Edge Microgateway の複数のインスタンスにトラフィックを送信します。microgateway のインスタンスは Edge Cloud と通信し、ターゲット サービスへのリクエストを仲介します。
図 3: ロードバランサを使用した Edge Microgateway 運用

イントラネットのデプロイ

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

Edge Cloud に対する API プロキシはイントラネット上のターゲット サービスに送信され、ターゲット サービスはイントラネット上の Edge Microgateway にリクエストを送信します。その後、Microgateway はイントラネット上の他のターゲット API サービスにリクエストを送信します。
図 4: イントラネット トラフィックを保護するための Edge Microgateway の実行

Apigee Edge への依存関係

Edge Microgateway は Apigee Edge に依存し、Apigee Edge とやり取りします。Edge Microgateway が正常に機能するには、Apigee Edge と通信する必要があります。Edge Microgateway が Edge とやり取りする主な方法は次のとおりです。

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

1 回限りの構成

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

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

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

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

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

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

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

Edge Microgateway と Apigee Edge Analytics について

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

プロキシ トラフィック ダッシュボードには、API トラフィック量の推移、デベロッパー エンゲージメント データ、デベロッパー アプリ別のトラフィック構成が表示されます。
図 5: Edge の [Proxy Traffic] ダッシュボード

Edge 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 キーによるクライアント認証をサポートしています。セキュリティ キーとトークンは、API 呼び出しごとに Apigee Edge によって生成され、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 リソースのプロダクトへのバンドル、デベロッパーの登録と管理、デベロッパー アプリの作成と管理のためのプラットフォームとして機能します。たとえば、通常の Apigee Edge プロキシ用のプロダクトやデベロッパー アプリなどのエンティティを作成してバンドルする場合と同様に、Edge Microgateway プロキシでもまったく同じことができます。API レベルのセキュリティは、「バンドル」ごとに公開と秘密のセキュリティ キーを生成することで実現されます。このメカニズムは、Apigee Edge の API セキュリティの仕組みと同じです。

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

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

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

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

Edge Microgateway の詳細

Apigee には次のリソースが用意されています。

  • Edge Microgateway のドキュメント - ドキュメントには、インストール ガイド、スタートガイド チュートリアル、詳細なリファレンス、構成情報が含まれています。

  • 動画 - デベロッパー向けの Apigee 4 分間動画シリーズには、Edge Microgateway に関する一連のエピソードが含まれています。

  • Apigee コミュニティは、質問をしたり、他のユーザーから寄せられた質問を活用したりするのに最適な場所です。