API7 Enterprise 3.2.12 の新機能:Stream Routes のサポート
May 24, 2024
API7 Enterprise 3.2.12では、ストリームルートのサポートが導入され、TCP/UDPプロトコルのトラフィックプロキシとロードバランシングが可能になりました。
ストリームルートを設定することで、API7 EnterpriseはTCPプロトコルに基づいてMySQLやMongoDBなどのサービスのリクエストをプロキシできます。また、TCPまたはUDPプロトコルで設定可能なRedisなどのアプリケーションもプロキシできます。これにより、TCP/UDPネットワークトラフィックの効果的な管理と最適化が可能になります。
API7 Enterpriseでストリームルートを使用する方法
ストリームサービスの追加
手動でサービスを追加する際、サービスタイプの選択オプションが追加され、HTTPとStreamの2種類がサポートされています。これらはそれぞれレイヤー7プロキシとレイヤー4プロキシを表します。サービスタイプとしてStream
を選択した場合、アップストリームスキーマとしてTCP
またはUDP
を選択できます。サービスタイプを選択した後は変更できないため、正しいサービスタイプを選択することが重要です。
ストリームルートの追加
Streamタイプのサービスを正常に作成すると、サービス詳細ページに移動します。次に、Add Stream Route
ボタンをクリックしてルートを追加します。
フォームにルート名、説明、および関連するルート設定を入力します。ここでは、MySQLサービスのプロキシを行うためのルートを設定します。
通常のHTTPルート設定と比較して、ストリームルートには3つの異なる設定オプションがあります。
-
サーバーアドレス: これはゲートウェイサーバーがストリームルート接続を受け取るアドレスで、ストリームルートトラフィックがゲートウェイに入るための入口です。クライアントが接続を確立しようとする際、このアドレスにリクエストを送信し、ゲートウェイは事前に定義されたルーティングルールに基づいてこれらのリクエストを転送または処理します。
-
サーバーポート: ゲートウェイサーバーがトラフィックをリッスンするポートを指定するために使用されます。
-
リモートアドレス: リクエストを開始するクライアントアドレスです。リモートアドレスと同じクライアントアドレスから送信されたリクエストのみが転送されるため、特定のクライアントのトラフィック管理が可能になります。
ルートを正常に作成すると、リストに新しく追加されたMySQLルートが表示されます。
アップストリームノードの設定とサービスの公開
次に、サービスをゲートウェイグループに公開し、MySQLサービスに対応するアップストリームノードを追加します。
サービスが公開されると、127.0.0.10
のゲートウェイサーバーとポート9101
でリクエストを受信した場合、このルートがリクエストを処理し、アップストリームのMySQLサービスに転送します。
基本的なリクエスト転送機能に加えて、サービス公開後、一連の設定を通じてサービスのパフォーマンスとセキュリティを向上させることができます。例えば、ストリームルートにロードバランシング戦略を設定し、トラフィックを複数のアップストリームMySQLサーバーに均等に分散させ、システムの拡張性と耐障害性を向上させることができます。
さらに、ヘルスチェックメカニズムを設定して、アップストリームサーバーの状態を定期的に監視し、正常なサーバーのみがリクエストを受信および転送するようにし、サーバー障害によるサービス中断を回避できます。
サポートされているプラグイン
現在、ストリームルートでサポートされているプラグインは4つあります:
-
ip-restriction
: IPアクセス制御機能を提供します。 -
limit-conn
: このプラグインは、クライアントからの単一サービスへの同時リクエスト数を制限できます。 -
prometheus
: ストリームルートのシステム監視とアラート機能を提供します。 -
syslog
: システムログを記録および送信します。
これらの4つのプラグインは、ストリームルートのセキュリティ、安定性、監視、および保守性を向上させます。
結論
API7 Enterprise 3.2.12のストリームルートは、ユーザーに強力で柔軟なTCP/UDPプロトコルのトラフィック管理を提供し、アプリケーションの信頼性と拡張性の向上に貢献します。これにより、エンタープライズユーザーにとって、ネットワークトラフィック管理の強化、システムの信頼性と運用効率の向上、優れたビジネス適応性がもたらされ、重要なエンタープライズアプリケーションの運用をサポートする価値があります。