Edge Microgateway の概要

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

Edge Microgateway v. 2.3.x

対象

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

Apigee Edge Microgateway とは

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 などのハイブリッド 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 は、既存のアプリケーションのモニタリングおよび管理用のインフラストラクチャおよびプロセスと統合できます。
  • シンプル:インストール、構成、メンテナンスが簡単である。
  • Logging。ログファイルには、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 実装間のすべての通信は HTTP であるため、図 2 に示すように、Apigee Edge Microgateway を API 実装とは別のマシンにインストールできます。

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

複数のアプリケーションのプロキシ

図 3 に示すように、1 つの Edge Microgateway インスタンスを使用して、複数のバックエンド ターゲット アプリケーションの前面に配置できます。

図 3: Edge Microgateway を複数の API プロキシの前に配置

ロードバランサを使用

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

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

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

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

図 5: イントラネット トラフィックを保護するための 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 にデプロイされている Edge Microgateway 対応プロキシのリストなど、独自に API 呼び出しを処理するために必要な情報を Apigee Edge から取得します。これらのプロキシについては、後ほど詳しく説明します。

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

実際に操作する場合は、Edge Microgateway の設定と構成をご覧ください。ここでは、便利な CLI コマンドを使用した Edge Microgateway の設定と構成のプロセスについて説明しています。

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

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

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

Edge Microgateway 対応プロキシには、次のような特性があります。

  • マイクロ対応プロキシは、Edge Microgateway に、ベースパスとターゲット URL という 2 つの重要な情報を提供します。
  • マイクロ対応プロキシは、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 Analytics 機能を活用しながら、比較的小さなフットプリントを維持しながら、処理オーバーヘッドやブロッキングを最小限に抑えることができます。お客様とお客様のチームは、Edge Analytics ダッシュボードとカスタム レポート機能のフルパッケージを使用して、Edge Microgateway を通過するトラフィックを分析できます。

図 6: 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 回取得されます。(詳しい手順については、Edge Microgateway の設定と構成をご覧ください)。
  • API リソースのプロダクトへのバンドル、デベロッパーの登録と管理、デベロッパー アプリの作成と管理を行うためのプラットフォームを提供する。

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

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

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 対応」プロキシにポリシーを適用することはできません。Edge Microgateway はプラグインを使用して、割り当て、Spike Arrest、API キー セキュリティ、OAuth2 セキュリティなどの Edge のポリシーと同様の機能を提供します。プラグインを使用するをご覧ください。また、カスタム プラグインを開発するで説明されているように、カスタム プラグインを作成することもできます。

Edge Microgateway について学ぶ最適な方法は何ですか?

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