API ゲートウェイはどのように機能しますか? API ゲートウェイの典型的なコンポーネントは何ですか? セキュリティ、コール ロギング、およびガバナンスの管理方法に関する共通の基準はありますか?
2 に答える
多くの異なるタイプのゲートウェイ (および管理ソリューション) があるため、これは非常に幅広い質問です。広い意味で、ゲートウェイは Web スタック (ユーザーまたはサード パーティによってホストされている) のどこかにあるフィルターであり、何らかの方法で API トラフィックをフィルター処理します。フィルタリングの一部が発生する可能性があります。
- サーバーに到達する前にCDNを使用している場合は、CDN内。
- トラフィックをリダイレクトするサードパーティがホストするプロキシ内。
- プロキシ ソフトウェア (サード パーティ、オープン ソース、または社内) を実行する独自のクラウドまたはローカル インフラストラクチャ内の専用マシン内。
- プライマリ処理のためにトラフィックが取得される前のアプリケーション スタックの特定の部分内。
通常、ゲートウェイが提供する機能のタイプには、アクセス制御 (トラフィックをフィルタリングして、認証済み/承認済みのトラフィックのみが通過するようにする)、レート制限 (API の各クライアントが送信できるトラフィックの量を制限する)、分析/メトリックのキャプチャ、およびロギング (API で何が起こっているかを追跡する)、セキュリティ フィルタリング (受信メッセージのコンテンツをチェックして攻撃がないか確認する)、リダイレクト/トラフィック ルーティング (送信者または要求に応じて、独自のインフラストラクチャ内のさまざまなエンドポイントにトラフィックを送信する)。
ゲートウェイは通常、トラフィックが高速で通過するときにトラフィックを処理するモジュールとフィルターのセットとして機能し、通常、必要なモジュール/フィルターを有効にして、それらのパラメーターを制御できます。明らかに、実際に実装を行うにはかなりの数の異なる方法があり、さまざまなベンダーやオープン ソース システムから選択できます。
私は商用ソリューションとオープンソース ソリューションの両方を提供する 3scale で働いているため、これを中立的に書こうとしますが、さまざまなオプションを見て、独自の結論を引き出すことをお勧めします! 主な選択肢は次のとおりです。
- Apigeeや Layer7などのベンダーのオンプレミスの専用ゲートウェイ- これらは通常、データセンターにローカルにインストールするハードまたはソフト アプライアンスです。
- Mashery、Apigee、WSO2 API Cloudなどのベンダーが提供するクラウド ホスト ゲートウェイ。これらのベンダーは、 API トラフィックをサーバー経由で効果的にリダイレクトして機能させます。
- 3scale (私が働いている)のようなプラグイン/エージェント アーキテクチャは、アプリケーション内にオンプレミスでデプロイできるソフトウェア モジュールを提供し、Varnishのようなオープン ソース プロキシ ゲートウェイ内にオンプレミスでデプロイでき、CDN にも接続できます。
- オンプレミスまたはクラウドに展開できるAPIAXLEやWSO2などのオープン ソース ソリューション。
アプローチが異なれば動作も異なり、それは何を目指しているかによって異なります。3scale では、フィルタリング エージェントをスタック内のほぼどこにでも組み込むことができるため、明らかにアプローチに偏りがありますが、すべてのベンダーが見解を持っていることは間違いありません。