web-dev-qa-db-ja.com

API Gatewayはどのように機能しますか?

API Gatewayはどのように機能しますか? APIゲートウェイの一般的なコンポーネントは何ですか?セキュリティ、コールロギング、ガバナンスの管理方法に関する共通の基準はありますか?

37

ゲートウェイ(および管理ソリューション)にはさまざまな種類があるため、これはかなり広範な質問です。広義には、ゲートウェイは、Webスタックのどこかにあるフィルターであり(ユーザーまたはサードパーティがホスト)、APIトラフィックを何らかの方法でフィルターします。いくつかのフィルタリングが発生する可能性があります。

  • サーバーに到達する前にCDNを使用している場合は、CDN内。
  • トラフィックをリダイレクトする第三者がホストするプロキシ内。
  • プロキシソフトウェア(サードパーティ、オープンソース、または社内)を実行する独自のクラウドまたはローカルインフラストラクチャの専用マシン内。
  • トラフィックがプライマリ処理のために取得される前のアプリケーションスタックの特定の部分内。

通常、ゲートウェイが提供できる機能の種類には、アクセス制御(認証された/許可されたトラフィックのみが通過するようにトラフィックをフィルタリングする)、レート制限(APIの各クライアントが送信できるトラフィックの量を制限する)、分析/メトリックキャプチャ、ロギング(APIで行われていることの追跡)、セキュリティフィルタリング(着信メッセージのコンテンツの攻撃のチェック、リダイレクト/トラフィックルーティング(送信者またはリクエストに応じて独自のインフラストラクチャの異なるエンドポイントにトラフィックを送信)).

ゲートウェイは通常、トラフィックが高速で流れるときに処理するモジュールとフィルターのセットとして機能し、通常、必要なモジュール/フィルターを有効にして、パラメーターを制御できます。明らかに、実際に実装を行うためのかなり多くの異なる方法と、選択するさまざまなベンダーとオープンソースシステムがあります。

私は商用とオープンソースの両方のソリューションを提供する3scaleで働いているので、これを中立的に書こうと思いますが、さまざまなオプションを見て、あなた自身の結論を引き出すことをお勧めします!主な選択肢は次のとおりです。

  • ApigeeLayer7 などのベンダーのオンプレミス専用ゲートウェイ-これらは通常、データセンターにローカルにインストールするハードまたはソフトアプライアンスです。
  • Mashery 、Apigee、および WSO2 API Cloud のようなベンダーのクラウドホストゲートウェイは、APIトラフィックを効果的にサーバー経由でリダイレクトして機能させます。
  • scale (これは私が働いている)のようなプラグイン/エージェントアーキテクチャは、 Varnish のようなオープンソースプロキシゲートウェイ内で、アプリケーション内のオンプレミスで展開できるソフトウェアモジュールを提供します。 =また、CDNに接続されています。
  • [〜#〜] apiaxle [〜#〜]WSO2 などのオープンソースソリューションは、オンプレミスまたはクラウドに展開できます。

異なるアプローチは異なる動作をし、それはあなたが目指しているものに依存します。 3scaleでは、スタック内のほぼどこにでもフィルタリングエージェントを挿入できるため、明らかにアプローチに偏りがありますが、すべてのベンダーがそれぞれの見解を持っていることは間違いありません。

60
steve