Kong Gateway 3.11をリリース!1ステージ上のAPIとイベントストリーム管理
英語によるオリジナルはこちらでご覧いただけます。
データオーケストレーション機能、CyberArkサポート、Solace統合、Kafkaのスキーマバリデーションのサポート
Kong Gateway Enterprise 3.11には、APIとイベントストリームをさらに強力にする、魅力的な新機能が搭載されています:
- 新しい Datakit プラグインによる高度なインラインデータオーケストレーションのサポート
- CyberArk Secrets Manager による新しい保管庫タイプ
- 新しいイベントゲートウェイ機能: Solace message producer and validate schema before publish
Konnect networking と Active Tracing の新機能にも触れます。読み応えのある内容となっていますので、ぜひご一読ください!
Datakitによる高度なデータオーケストレーション
特定のAPIリクエストフローや変換を処理するためにもう少し柔軟性が必要な場合があります。プラグイン開発キット(PDK)を使ってカスタムプラグインを作成すれば、Kong Gatewayを拡張できます。カスタムプラグインは強力な機能ですが、開発とメンテナンスに開発者の時間が必要です。
Gateway 3.11では、Datakitプラグインによって、これらの高度なデータオーケストレーションの課題の多くを解決するネイティブな方法を提供します。Datakitは12月にGateway 3.9の技術プレビューとしてリリースされ、今回GAとなり一般的に利用可能です。
社内の認証サービスを利用してアクセストークンを取得したり検証したりする必要があるかもしれません。複数のアップストリームAPIからのペイロードを結合する必要があるデータオーケストレーションのユースケースをお持ちですか?アップストリームURLを動的に構築する必要がありますか?これらはすべて、Datakitがすぐに取り組めるように設計されたユースケースです。
Datakitを使用すると、さまざまなタイプのノードを組み合わせて、目の前のタスクを達成することができます。では、これらのノードはどのようなものでしょうか?
- call: 他のAPIへの呼び出しを行い、追加のデータやコンテキストを取得します
- jq: 上流のAPIやAPI呼び出しノードからリクエストとレスポンスデータを抽出・変換するために、jQueryの表現力豊かな構文を使用します。文字列のフォーマットにも使用可能です
- static: 他のノードの入力として使用可能な任意の静的変数を定義します
- property: Kong Gatewayの構成パラメーターを取得または設定します
- exit: API呼び出しの返却タイミングとレスポンスコードを詳細に制御します
Datakitは、Kongの他のプラグインと同様に設定可能です。UI、Admin API、またはdecKやTerraformを使用した宣言型設定を通じて設定できます。操作の順序と依存関係を厳密に制御できるため、前の呼び出しの結果を後続の呼び出しに利用する必要があるような複雑なワークフローをオーケストレーションできます。 私たちは、スループットとパフォーマンスに対するKongのエンジニアリングのこだわりを適用しました。ただし、問題が発生した場合は、KonnectのActive Tracingを利用して、根本原因を迅速に特定できます。
今後のリリースでは、Datakit フローの構築とテストをさらに簡単にするための機能改善と低コード UI の追加を予定しています。
このリリースでは、以前の実装における WASM 依存関係を削除しました。3.11 以降、Gateway からの WASM サポート(ベータ版)も削除されます。新しい実装は同じユースケースをカバーし、大幅に高性能かつメモリ効率が向上しているためです。
CyberArk Secrets Manager
Kongは既に、HashiCorpやクラウドサービスプロバイダーのシークレット管理サービス、および当社独自の組み込みシークレット管理サービスを含む多様なシークレット管理サービスに対応しています。CyberArk Secrets Manager(旧称Conjur Cloud Secrets Manager)のサポートは、ユーザーから最も要望の多かった機能の一つです。Kong内でVaultから構成値や秘密情報を動的に取得できる場所であれば、CyberArk Secrets ManagerをターゲットVaultとして使用できるようになりました。SaaS版、エンタープライズセルフホスト版、オープンソース版を含むすべてのバージョンに対応しています。

レガシー対応 – Sticky Session
通常、当社の顧客はトラフィックを「Twelve-Factor App」の原則に従ったワークロードにルーティングしています。しかし、ユーザー固有のコンテキストをメモリに大量に保存するアプリケーションにトラフィックをルーティングする必要が生じる場合もあります。これは、単一プロセスとしてのみ設計され、セッションコンテキストをメモリにのみ保存するレガシーアプリケーションである可能性があります。または、状態をクエリする必要がある長期実行型の計算タスクである可能性もあります。どちらのシナリオにおいても、セッションクッキーの値に基づいてトラフィックを特定のアップストリームターゲットにルーティングする機能は有用です。
このようなユースケースをサポートするため、私たちは新しいUpstream Load Balancerアルゴリズムとしてsticky-sessionsのサポートをリリースすることをお知らせします。sticky-sessionsアルゴリズムを使用してアップストリーム経由でリクエストがプロキシされると、Kong Gatewayはレスポンスにクッキーを設定します(Set-Cookieヘッダー経由)。以降のリクエストで、クッキーが有効で元のターゲットが利用可能な場合、トラフィックは同じターゲットにルーティングされます。
Event Gateway – Solace統合とKafkaスキーマバリデーション
私たちは今年5月にKong Event Gatewayを発表し、Kafkaへのサポートを大幅に拡大しました。具体的には、KafkaトピックへのHTTPベースのアクセス仲介機能と、Kafkaネイティブプロトコルトラフィックを管理する新しいKong Native Event Proxyを提供しています。Kong Event Gatewayは、イベント駆動型アーキテクチャをよりアクセスしやすく、安全で、強力なものにします — すべてコストを削減しながら。
Event Gatewayの発表を見逃した方は、新しい機能の詳細はこちらをご覧ください。また、なぜこれが画期的なのかについてはこちらでご確認ください。
私たちはEvent Gatewayの機能追加を継続するとお約束しました。今回のリリースでは、その勢いをさらに加速し、プロトコル仲介機能に重要な追加機能を提供します。
Solace PubSub+ メッセージングサポート(ベータ)

当社のEvent GatewayビジョンはKafkaを超えて広がっており、新たなSolace Upstreamプラグインを通じてSolaceへの対応を発表できることを嬉しく思います。Solace PubSub+は、細粒度のルーティングとイベントメッシュ機能を備えた、業界をリードするイベントストリーミングおよびメッセージングプラットフォームです。
KongのSolace Producerプラグインを使用すると、標準のHTTP APIリクエストを使用してSolaceのキューまたはトピックにメッセージを送信できるようになり、SolaceのEDAの範囲に新しいコンシューマーを組み込みつつ、Kong Gatewayで既に使用している認証、暗号化、その他のポリシーを再利用できます。このプラグインはSolaceのMessage VPNsおよびOAuth/OIDC認証をサポートしています。詳細な情報はプラグインのドキュメントをご確認ください。
イベントストリームのデータ品質に対するシフト-レフト アプローチ
Kafkaは長年メッセージにスキーマメタデータを追加する機能をサポートしてきました。Confluentスキーマレジストリは、イベントスキーマの広く使用されているリポジトリを提供しています。Kafkaはスキーマメタデータを転送しますが、実際の検証はクライアントアプリケーションに委ねています。KongのKafkaおよびConfluent Upstreamプラグインのこの新機能により、Kongはメッセージがトピックに公開される前に検証を行います。スキーマ検証に失敗した場合、メッセージをブロックし、Kafkaクライアントにエラーを返します。
このリリースでは、AVROとJSONメッセージタイプの両方に対してConfluent Schema Registryをサポートし、将来的に他のスキーマレジストリのサポートを追加予定です。レジストリ内のスキーマはパフォーマンス向上のためプロキシにキャッシュされます。
開始するには、KafkaアップストリームまたはConfluentプラグインの構成でschema_registry
パラメーターを使用してください。
yaml
schema_registry = {
confluent = {
url = "http://my-schema-registry:8081",
authentication = {
mode = "none",
},
value_schema = {
subject_name = "kafka-avro-order-message-schema",
schema_version = "latest"
},
}
Kafka Consume、Confluent Consume、およびKafka Logプラグインは、スキーマを使用してペイロードをデシリアライズすることもできます。
プロデューサーの対象を広げる、特に外部組織を含む場合クラスターにアクセスするすべてのプロデューサーがスキーマを遵守することが重要です。Kong Event Gateway は、データ所有者がスキーマの遵守を確保し、不正なメッセージをブロックする手段を提供します。データ品質の問題をソースで修正することは、障害の減少、ログの検索や「針の穴を探すような」エラーの発見に要する時間と労力の削減につながります。
Konnectのアップデートと将来
最近、KonnectのService CatalogとDeveloper Portalsに重要な機能更新をリリースしました。以下、Konnectに関するその他のニュースです。
Dedicated Cloud Gateways – VPC PeeringとRoute 53 Private DNSのサポート
これまでAWS Transit GatewaysはKonnectでホストされる専用クラウドゲートウェイ(DCGW)とご自身のAWS VPCの間でプライベート接続を確立する唯一のオプションでした。Transit Gatewaysは、VPC間でピアリング接続の完全なメッシュを作成する必要がないため、より複雑なネットワークトポロジーに最適です。
一方、VPC Peeringはポイントツーポイントモデルを使用します。DCGWを少数のVPCに接続する場合、設定がシンプルでコストも低くなります。現在、VPC Peeringを設定することで、Konnectホスト型DCGWから特定のVPCへのトラフィックをルーティングでき、AWS Transit Gatewaysの複雑さとコストを回避できます。
DCGW向けのもう1つのAWSネットワーク機能強化は、AWS Route 53サービスによるプライベートDNSのサポートです。KongのプライベートDNSサポートにより、ゲートウェイはDNS設定の変更なしで、ホストされたゾーンをVPC内にあるかのようにクエリできます。これは、適切なVPCの関連付けとDNS解決設定が適切に設定されている場合、VPCピアリングとトランジットゲートウェイの両方とよく機能します。
このトピックの詳細については、Michael Fieldによる詳細解説記事「Dedicated Cloud Gateways」を強くおすすめします。この記事では、これらの更新内容を含むさらに多くの情報が解説されています。
Active Tracingの機能向上 (Soon)
Active Tracingについて、非常に多くのポジティブなフィードバックをいただいています。この機能は、トレースを分析してリクエスト フローで何が起こっているかをミリ秒単位で可視化し、問題の解決を迅速化します。顧客からは、問題の特定と解決に要する時間が数時間、場合によっては数日分も短縮されたとの報告が寄せられています。

Kubernetes上のKong Gateway展開は、Kong Gateway Operator(1.6+)とKonnectを活用することでActive Tracingの恩恵を受けることができ、パフォーマンスのボトルネックの根本原因を迅速に特定できます。
近日中にActive Tracingに新たな時間短縮機能を追加予定です。例えば、ログとトレースを並べて表示する機能により、リクエストのタイムラインと実際にリクエストを処理したデータプレーンに一致したログに瞬時にジャンプできるようになります。順序が乱れたトレース スパンはリクエストのライフサイクルを追跡しにくくします。私たちはトレースのポスト処理を実施し、これらの順序が乱れたアイテムを正しい親スパンにマージして問題を解決しています。Active Tracingに関するさらなるニュースは7月にご期待ください。
Active Tracingを未経験の方はKonnectでActive Tracingを開始するをご参照ください。
今回のリリースにおけるKong GatewayおよびKong Event Gatewayのコア機能に関する内容は以上です。Kong AI Gatewayには数多くの新機能も追加されています。詳細については、以下のリンクから発表内容をご確認ください。