2024年09月24日

Kong AI Gateway 3.8をリリースしました!

英語によるオリジナルはこちらでご覧いただけます。

Kong Gateway 3.8はマイルストーンリリースとなり、パフォーマンス改善、AI活用機能の強化、セキュリティ機能の拡張、拡張性、運用性にも多くの改善を盛り込んだリリースとなります。

Kong Gateway 3.8ではコンフィグの管理/反映処理が大幅に改善され、APIマネジメントにおけるさらなる効率化が期待できます。またこのバージョンでは、ゲートウェイからとゲートウェイへのアクセスに対するセキュリティ対応の選択肢が広がり、可観測性の改善、コンフィグ情報のキャッシュ化による負荷削減等が新たに追加されました。

さらに、Kong Gatewayの新たな中核機能であるAI Gatewayにも先進的な機能が追加されました。セマンティック プラグインによるLLMへのトラフィック削減やセキュリティ機能性も強化されております。


Incremental Configuration Sync (テクニカルプレビュー)

Kong Gateway 3.8以前のバージョンでは、ユーザーがコントロールプレーン (CP) 経由でデータプレーン (DP) に構成情報の変更を送った場合、変更部分だけなく全てのコンフィグを再送する事による同期が計られていました。このアプローチはコンフィグ情報の全体量に関わらず常に採用されていた為、例えばRoute 10,000、3,000 Serviceに跨るAPIを50,000のConsumerに提供していたとしても、Route 1つの変更に対して全てのコンフィグをデータプレーンに送り同期が取られます。

このプロセスではデータプレーンが全てのコンフィグ情報をメモリに読み込み処理を行う為、相応量のメモリとCPUリソースを消費します。結果としてコンフィグ情報の反映に時間がかかり、リソースの利用の競争が起こり、APIユーザーのエクスペリエンスに影響も及ぼしかねません。

Incremental Config Syncはより効率的なコンフィグ情報の反映アプローチです。この機能はもうすぐ別バイナリとして公開を予定しており、GAまでは試験的な利用のみ推奨です。この機能を利用すると、例えばRouteの変更のみであれば、そのRouteと関連する変更のみがコントロールプレーンからデータプレーンに送られます。結果としてより少ないメモリとCPUリソースの消費に留まり、より早く構成変更の適用が反映されます。このテクニカルプレビューの利用方法についてはもう少々お待ちください。

セキュリティ強化と新たなプラグイン

APIはクリティカルなITインフラであり、組織の中枢神経としてあらゆる内外の機能を繋げつつあります。同時にAPIは組織にとって最も脆弱なアタックサーフィスにもなり得ます。Kong Gateay 3.8においてセキュリティ強化は重要なフォーカスであり、APIを保護する上で有効な新たな機能がプラグインとして提供開始されました。

Json Threat Protectionプラグインは今回追加された新たなプラグインで、管理者/運用者がAPIに含まれるJSONコンテンツ構造に対して厳格な評価ルールを適用できる機能です。このプラグインによって、セキュリティポリシーに則ってJSONエレメント (arrayやobjectやstring等) 数の上限や階層の上限を指定する事ができます。運用者観点でJSONオブジェクトの形 (構造) をポリシーとして容易に適用できる機能です。例えば、一般的な攻撃ベクトルの一つである巨大なJSONペイロードを送りつけるアタックに対して、APIゲートウェイのレイヤーで防ぐことが出来るようになります。

Upstream-OAuthプラグインでは、Kong Gateway 3.8に外部APIをより安全に利用できる機能を提供しています。このプラグインはKong Gatewayと外部APIとの間にOAuthフローによる認可をサポートしており、外部サービスへのアクセスもOAuth管理対象化が可能です。

Kong Gateway 3.8では、様々な構成においても強い証明書ベースの認証サポートを広げる為、新たにHeader Cert Authentiationプラグインも追加されました。このプラグインは相互TLS (mTLS) がAPIゲートウェイに到達する前 (ロードバランサやWAF) にターミネートされるケースにおいてもmTLSによる認証を可能にできるプラグインです。プラグインではヘッダーに保持されたmTLSの証明書を元にConsumerを認証する仕組みで、複数の一般的なエンコーディング (base-64やurl-encodeed) をサポートしています。

OpenTelemetryサポートと可観測性の改善

障害の予防や検知、発生時の対応に可観測性は重要な取り組みです。可観測性という観点では3つの異なるデータセット( ログ、トレース、メトリクス)によってシステムやAPIの状態を観測します。

Logging (ログ) – おそらく最もシンプルな、HTTPリクエストに対する時系列のログデータ。エラー発生時のエラーログを含め、一般的にはリクエストの処理中に何が起こったかの情報を提供。

Traces (トレース) – 該当トランザクションにおいて、どのプロセスにおいてどれだけ時間が掛かったかを横断的に取得。

Metrics (メトリクス) – 継続的に全体的なパフォーマンス指標を取得。(リクエスト処理数、エラーレート、レイテンシ、等)

これらデータセットは組織として適切に利用し保全する必要がありますが、データを扱う可観測性ソリューション (Datadog、AppDynamics、Dynatrace、New Relic、Grafana等) は独自のエージェントを利用し異なる方法でデータを収集するのが一般的です。

Kong Gateway 3.8では業界標準であるOpen Telemetry形式でのデータ提供の機能を追加しました。この機能追加により、ログ、トレース、メトリクスを含む包括的なテレメトリデータを収集する事が可能となりました。可観測性の向上により、開発チームやDevOpsチームが有益なAPIの状態やパフォーマンスに関するデータを利用できる為、モニタリング、トラブルシューティング、そして最適化のタスクがより効率的に行えます。

このリリースでKongはOpen Telemetryプラグインを大幅にリライトする事により、新たにログとメトリクスを収集しながらもより高いパフォーマンスを発揮するようアップデートしました。この新しいバージョンのOpen TelemetryプラグインはDatadog、Honeycomb、Appdynamicsといった主要な可観測性ソリューションに対して検証されています。この機能の有効化は、コントロールプレーンもしくはKonnectよりコンフィグ設定する事により利用する事ができます。

Kong Konnect 新機能

Kong Gateway 3.8には上記以外にも様々な機能や改善が追加されていますが、合わせてKong Konnectにも新機能が多く追加されています。

Consumer管理の改善/Konnect Consumers (テクニカルプレビュー)

Kong Gateway 3.8の提供開始に伴って、KonnectにおけるConsumerのエンハンス版 (Konnect Consumer) がテクニカルプレビューとなり、別バイナリとしての提供を開始しました。Konnect ConsumerはConsumerの定義を複数のコントロールプレーンにも反映することができる為、Consumer管理の煩雑性が大幅に解消されます。Consumerは権限定義とシームレスに反映出来るようになり、重複定義やコンフリクトを避ける事ができます。

Konnect Consumerによって、KonnectにおけるConsumerエンティティの管理は大幅に変わります。これまではConsumerは特定コントロールプレーンに紐付くエンティティである為、利用が拡大し多くのコントロールプレーンを管理する状況になった場合多大なエンティティの重複管理が発生していました。当然運用は煩雑となり、時折検知の難しいコンフリクトの様な問題も発生していました。 Konnect Consumerは、これまでの概念からConsumerエンティティを上層管理レイヤーに持ち上げるリアーキテクチャの結果であり、エンティティは同一リージョン内においてコントロールプレーンを跨いで参照する事ができる様になります。このアーキテクチャはConsumerデータを別の外部ストレージに移管する事により達成していますが、同時に同一リージョン内での共有に留める事により保全データの所在地に関するコンプライアンス要件にも対応しています。

仕組み上は、データプレーンはConsumer定義をリアルタイムに取得出来る状態でありながら、パフォーマンス改善の為ローカルにキャッシュしています。これによりConsumer定義の管理オーバーヘッドを抑えながらもデータを最新の状態に保つ事ができます。更に、mTLSを前提としたデータ保護を適用し、データの保全/移動の双方において高いセキュリティ基準で保護しています。Konnect Consumerはセキュリティ、パフォーマンス、運用性のバランスを取って新たに定義されたアプローチです。

テクニカルプレビューとしてこの機能をお試しになりたい場合は、konnect-feedback@konghq.comまでお問い合わせください。

Konnect Config Storeによる構成管理

API構成管理において機微情報の扱いはオペレーション全体を複雑化する要因となります。Konnect Config StoreはKonnectで使用するシークレット管理の機能をクラウドにて提供する機能です。Konnect Config StoreはSingle Source of Truth (SSOT) であり、HashiCorp Vaultといった外部シークレット管理のソリューションを必要とせず、Konnect上で完結する形で提供されます。Konnect Config Storeは9月末のGAを予定しております。

セマンティックAIプラグインによるLLMの活用促進

Kong Gateway 3.7にて、AI (LLM) に特化したAI Gatewayと呼ばれるプラグイン群がGAとなりました。AI Gatewayは、複数LLMの活用やガバナンス観点での機能追加をKong Gatewayにもたらすものでした。LLMのAPIの利用を加速しつつ、よりセキュアに、かつLLMの利用拡大に伴う新たな可観測性の提供にも貢献しました。

Kong Gateway 3.8では、AI Gatewayに新たにセマンティック系のプラグインが追加されました。AI Semantic Prompt GuardプラグインAI Semantic Cacheは、これまであったPrompt GuardプラグインProxy Cache Pluginの機能性に文脈を理解する機能(異なる言い回しを同じプロンプトと判断する機能)を追加したものです。更にAI ProxyにもAdvancedバージョンのプラグインが追加され、複数LLMに対するロードバランシング機能と併せて文脈によって接続先LLMを切り替えるセマンティックルーティングの機能も追加されました。

更にはこれまでサポートしていたLLMサービスにさらにAWS BedrockとGCP Vertexも追加されました。詳細はAI Gateway 3.8の紹介をご参照ください。

Kong Gateway 3.8にアップグレードしましょう

Kong Gateway 3.8はAPIマネジメントにおける大きな飛躍となるリリースです。Kong Gateway 3.8にアップグレードする事により、より低レイテンシの処理をより少ないリソースで処理し、新たにより包括的な可観測性を得る事ができます。この最新バージョンのリリースでは、構成情報の差分更新とOpen Telemetryのサポートにより効率の良い運用モデルへと変わる手助けになると考えています。また新たなKong Config Storeの提供により、KonnectにおけるセキュアなAPI管理のプラクティスに伴う運用負荷を削減しつつ、サービス信頼性をより大きなスケールでの展開が容易になります。

Kong Gateway 3.8を始めるためには

これら情報のより詳しい内容は、Kong API Summitに登録する事によりオンデマンドで視聴する事ができます。ここでAPIとAIに関する新たな知見を求めたり、新たに更新されたドキュメンテーションを深掘りする事から始めましょう。

もしくはLinkedInやXを通して我々にお声がけください。