手当たり次第に書くんだ

飽きっぽいのは本能

Kong Gateway について簡単に学習

はじめに

私は API を主体に扱うエンジニアではなく、ネットワークやインフラレイヤーのエンジニアです。特にネットワークレイヤーに専門性を持ち、仮想化環境や Kubernetes 内のネットワーク、そしてそれを外部とどのように結合するかの部分に強い関心があります。一方で、一般的なエッジスイッチの設定などにはもう興味がありません。このようなニッチな分野を扱ってきたため、最近は自身の技術スキルの幅を広げたいと考え、API ゲートウェイに興味を持つようになりました。

私は F5 製品を多く扱っており、F5 が数年前に NGINX を買収して以降、NGINX API ゲートウェイが登場しました。当時はそのような提案を受けても、API ゲートウェイはアプリ側に適した製品だと考えられ、私の部門では対象外とされました。しかし、F5 のアプローチとして何かをバランシングするということは一貫しており、それが API に特化したものであるともいえます。このため、インフラエンジニアがこの領域を扱うことも特におかしくはないと思いますし、今後は API ゲートウェイの需要が増していくと考えられます。

本稿では、API ゲートウェイのスタンダードになりつつある Kong Gateway について簡単に概要をまとめていきたいと思います。

Kong Gateway の概要

Kong Gateway は、API の管理、ルーティング、セキュリティを提供するクラウドネイティブな API ゲートウェイです。API ゲートウェイは、RESTful API の前に配置され、API リクエストを管理、構成、ルーティングするためのリバースプロキシとして機能します。Kong Gateway は、分散型アーキテクチャに対応しており、ハイブリッドクラウドおよびマルチクラウド環境での運用が可能です。

特徴と利点

Kong Gateway の主な特徴と利点は以下の通りです。

  • 軽量かつ高速: Kong Gateway は軽量で高速なパフォーマンスを提供し、スケーラブルな API 管理を可能にします。Nginx ベースの設計により、高いパフォーマンスと効率的なリソース使用が実現されます。
  • 拡張性: Kong Gateway は、モジュール化されたプラグインアーキテクチャを採用しており、認証、レート制限、トラフィック制御などの機能をプラグインとして追加できます。また、独自のカスタムプラグインも開発可能です。LuaJIT ベースのプラグインシステムにより、柔軟なカスタマイズが可能です。
  • セキュリティとガバナンス: API のセキュリティとガバナンスを強化するために、認証(OAuth2、JWT など)、認可、ロギング、トラフィック制御などのセキュリティ機能を提供します。
  • Kubernetes との統合: Kong Gateway は Kubernetes 環境でのネイティブな動作をサポートし、Kubernetes Ingress Controller としても機能します。これにより、Kubernetes クラスター内のサービスを外部クライアントに公開することができます。Helm チャートを使用した簡単なデプロイメントが可能です。
  • API 管理ツール: Kong Gateway は、API のライフサイクル管理ツールである Insomnia や、宣言的な設定管理ツールである decK などのツールを提供しています。これにより、API の設計、テスト、自動化が容易になります。

Kong Gateway の導入方法

Kong Gateway の導入には、主に以下の 2 つの方法があります。

  • Kong Konnect を使用した管理: Kong Konnect は、Kong が提供するクラウドベースの API ライフサイクル管理プラットフォームです。Konnect を使用すると、グローバルコントロールプレーンが Kong によってホストされ、データプレーンノードを好みのネットワーク環境で管理することができます。
  • セルフマネージド: Kong Gateway は、オープンソース版 (OSS) とエンタープライズ版で利用できます。OSS 版は基本的な API ゲートウェイ機能を提供し、エンタープライズ版では追加機能が含まれます。

Kong Gateway のエンタープライズ機能

Kong Gateway のエンタープライズ版は、オープンソース版の機能に加えて、以下のような追加機能を提供します。

  • RBAC(ロールベースアクセス制御): API のアクセス権限を細かく管理するための機能です。
  • エンタープライズプラグイン: 高度な認証、トラフィック制御、データ変換などのプラグインを提供します。
  • Kong Manager: GUI を使用して Kong Gateway の管理と制御を行うためのツールです。

Kong Gateway のユースケース

Kong Gateway は、さまざまなユースケースに適用可能です。例えば、レガシーシステムからのマイグレーション、マイクロサービスアーキテクチャの導入、API セキュリティの強化などが挙げられます。また、ハイブリッドクラウドやマルチクラウド環境での API 管理にも最適です。

導入事例とサポート

Kong Gateway は、多くの自治体や企業で導入されており、その信頼性と柔軟性が評価されています。エンタープライズ版では、24 時間 365 日のテクニカルサポートやプロフェッショナルサービスが提供され、導入と運用を支援します。

終わりに

API ゲートウェイをインフラエンジニアが扱うことは、レイヤーが異なるとはいえ、ロードバランスという観点から一貫性があります。例えば、アプリケーションとミドルウェアの境界をアプリケーションエンジニアとインフラエンジニアで専門的に分担する場合でも、概念的に違和感はありません。最近のシステムはアプリケーション要素が主流となっていますが、従来の一般的なインフラエンジニアの役割を拡張する観点から見ると、API ゲートウェイは挑戦的であるものの、アプリケーションを稼働させるための一貫したプラットフォームを提供することはインフラエンジニアの役割を拡張し、組織的にもわかりやすい体制を作りやすいとも言えます。

Kong Gatewayは、API管理とセキュリティにおいて強力かつ柔軟なソリューションです。その軽量なアーキテクチャと拡張性により、さまざまな環境やユースケースに対応可能です。詳細については、公式ドキュメントやKong Communityを参照してください。

Kong Gateway について簡単に学習

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る