マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Kong

【OSS情報アーカイブ】Kong

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

コンテンツ

「Kong」とは

概要

Kong(コング)とは、APIアグリゲータ(APIゲートウェイ)ソリューションです。統合的なAPI管理機能を提供します。

「APIアグリゲータ」とは

「APIアグリゲータ」とは、マイクロサービスとしてAPIサーバを実装する場合にサポートする仕組みです。

「認証機能」「ログ出力」「セキュリティ対策」などについて統合的にサポートします。

基本説明

Kongは、「クラウドネイティブ」「高速処理」「スケーラブル」「分散型」などの特徴を持つ人気の高いオープンソースのマイクロサービスAPIゲートウェイプラットフォームです。すべてのマイクロサービスとAPIを高性能で柔軟なAPIプラットフォームに接続します。

API実行サーバ(オンプレミス/クラウド)のゲートウェイとして、受け付けたWebアクセスを他ホストに転送する「高機能API用リバースプロキシ」のように動作し、複数のマイクロサービスを統合します。すべてのサービスをKongプラットフォームに接続することで、最新のマイクロサービスおよびコンテナ設計パターンを活用できるAPIの構築と最適化をサポートします。

KongはAPIゲートウェイに求められる機能として、「ロードバランシング機能」「ロギング機能」「認証機能」「トラフィック制御機能」「変換機能」「高度なセキュリティ機能」などを提供します。「クラスタリング機能」も標準搭載しており、必要に応じて処理能力と可用性を高めることができるため、高いサービスレベルのAPI実行環境を構築できます。

経緯

Kongは、2015年にオープンソースプロジェクトとしてスタートしました。

ユースケース

・CI/CD/DevOpsの自動化およびオーケストレーション—効率的なカスタムワークフロー生成
・新しいエコシステムを活用—Kubernetesやコンテナなどを追加したままでKongを展開 など

導入事例

Kongは、「IBM」「Intel」「OpenDNS」「The Guardian」「The New York Times」など、多くのグローバル企業で採用されています。

オフィシャルサイト情報

■オフィシャルサイト

→Kong(Next-Generation API platform for Microservices)

■ライセンス情報

Kongのライセンスは「Apache License Version 2.0」です。

詳細について、こちらを参照ください。
→Kong →License

■ダウンロード

Kongバイナリは「主要Linuxディストリビューション向けパッケージ(RPM/APT)」や「Dockerイメージ」で提供されています。

→Kong →Install Kong

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「WSO2 API Manager」など。

Kong Microservice APIゲートウェイ

Kongはシステム運用において使いやすいRESTful APIを提供します。

あらゆるRESTful APIに対応し、コアプラットフォームを超えて追加機能を提供するプラグインを通して拡張されます。

→Kong →The Kong Microservice API Gateway

■APIリクエストのエントリポイント

Kongを組み込んだシステムでは、APIに対して行われるすべてのクライアント要求は最初にKongに到達し、次のAPIにプロキシされます。

Kongは、リクエストとレスポンスの間で、インストールされているプラ​​グインをすべて実行してAPI機能セットを拡張することで、事実上すべてのAPIリクエストのエントリポイントになります。

Kongによってすべてのサービスにわたって情報をインテリジェントに仲介することが可能となり、集中型または分散型のマイクロサービスのサービスアーキテクチャ全体を制御できます。

オープンソーステクノロジー基盤

Kongは、以下の信頼性の高いオープンソーステクノロジの上に構築されています。
・Webサーバ「Nginx」
・分散データベース管理システム「Apache Cassandra」
・データベース管理システム「PostgreSQL」

Kongは、これらの信頼性の高い機能により「高パフォーマンス」「高スケーラビリティ」を実現しています。

高速処理

KongはAPIゲートウェイソフトウェアとして「1ノードで秒あたり数万のリクエストを処理できる高性能」と「ミリ秒レベルの低レイテンシ」を実現しています。

■ベンチマーク「Kong vs Apigee」

→Kong →WHITEPAPERS →API and Microservices Management Benchmark

ベンチマーク概要

実稼働環境におけるパフォーマンスを理解するために、「Kong」と同様なAPI管理プラットフォーム「Apigee」について、「各プラットフォームが大きなトランザクション負荷にどれだけ耐えられるか?」を確認するために比較されています。

結果

KongはApigeeと比較して「20倍以上少ない待ち時間」で処理できています。

スケーラブル(可用性)

Kongは、分散データベース管理システム「Apache Cassandra」の機能を利用して、複数ノード構成によるスケールアウトが可能です。すべてのKongノードはノード間で設定が更新された状態でクラスタに自動参加します。

需要に合わせてノードを追加することで水平方向に拡張できるため、ピークボリュームに対応できます。

また、スケールアウトで性能を高めるとともに可用性も高まることで、高いサービスレベルのAPI環境を実現できます。Kongノードの1つがダウンしてもKongは影響を受けずにサービスを継続できます。

→Kong →Docs →GUIDES & REFERENCES →Clustering reference

プラグイン

「認証」「セキュリティ」「ロギング」「トラフィック制御」などのさまざまなプラグインを必要に応じてKongに組み込むことで機能を柔軟に拡張できます。

■Kongプラグインリポジトリ「Kong Hub」

→Kong →Kong Hub(Extend Kong with Powerful Plugins and Easy Integrations)

■プラグイン開発

Kongは、プラグイン(Luaモジュール)をロードして実行するように設計されたLuaアプリケーションとして動作します。

あらかじめ提供されているプラグインで対応できない場合は、提供されているプラグイン開発キットを利用することで、プラグインをカスタム開発できます。

→Kong →Docs →GUIDES & REFERENCES →Plugin Development Guide

マルチプラットフォーム

Kongは、プラットフォームにとらわれずに、「オンプレミス」「クラウド」「ハイブリッド環境」「グローバルデータセンター」「Kubernetes」など、さまざまな環境で稼働できます。

「Kong」の主な機能

コマンドラインインターフェース

KongのCLI(コマンドラインインターフェース)から、Kongインスタンスの「起動」「停止」「各種管理」など、Kongクラスタを制御できます。

→Kong →Docs →GUIDES & REFERENCES →CLI reference

認証機能

Kongは、APIのセキュリティを高めるさまざまな認証方式に対応しています。
・標準的キー認証
・Basic認証
・LDAP認証
・カスタム開発による独自認証方式 など

セキュリティ機能

Kongは、各種セキュリティ制御によりサービスを保護します。
・ACLアクセス制御
・ロールベースアクセス制御
・SSL証明書—基盤となるサービスまたはAPIに対して特定のSSL証明書を設定
・IPアドレスによるアクセス制限—ホワイトリスト/ブラックリストIP
・エンドツーエンド暗号化 など

→Kong →Docs →GUIDES & REFERENCES →Securing the Admin API

変換機能

Kongは、HTTP要求と応答について変換操作できます。
・リクエスト変換
・レスポンス変換 など

プロキシ機能

・フォワードプロキシ機能—透過的HTTPプロキシ
・キャッシング機能—プロキシレイヤで応答をキャッシュして提供

負荷分散機能

・動的負荷分散機能—複数のアップストリームサービス間でトラフィックを負荷分散
・ハッシュベースのロードバランシング—一貫したハッシュ/スティッキーセッションによるロードバランシング

トラフィック制御機能

Kongは、すべてのAPIトラフィックについて管理調整できます。
・ネットワーク帯域制限
・レスポンスレート制限
・リクエストサイズ制限—設定に基づいてリクエストをブロック など

ロギング機能

リクエストデータおよびレスポンスデータについてロギングします。
・ログ送信—HTTP/TCP/UDP
・ファイルロギング

→Kong →Docs →GUIDES & REFERENCES →Logging reference

アナリティクス機能

APIとマイクロサービスのトラフィックについて「視覚化」「検査」「監視」できます。
・モニタリング機能—負荷およびパフォーマンスの測定基準を提供
・分析機能

ヘルスチェック機能

Kongは2種類のヘルスチェックをサポートしています。

これらは別々にまたは組み合わせて使用​​できます。

→Kong →Docs →GUIDES & REFERENCES →Health checks and circuit breakers reference

■アクティブチェック

ターゲット内の特定のHTTPまたはHTTPSエンドポイントが定期的に要求され、その応答に基づいてターゲットの状態を判断します。

■パッシブチェック(サーキットブレーカー)

Kongがプロキシしている進行中のトラフィックを分析し、リクエストに応じた動作に基づいてターゲットの状態を判断します。

サーキットブレイカーとして、問題のあるアップストリームサービスについてインテリジェントな追跡を実施します。

 

参考元サイト

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【デジタル寺田の3分用語解説】「 Windows10 のEOL(サポート終了)問題」と「Windows11への移行」⏳

デジタル寺田の3分用語解説

2024.12.23

【デジタル寺田の3分用語解説】「 Windows10 のEOL(サポート終了)問題」と「Windows11への移行」⏳

「 Windows10 」は、2025年10月14日にサポートが終了し、セキュリティリスクが増大します。Windows11への移行が推奨され、準備として「システム要件の確認」や「テスト」が必要です。生産性向上と安全性確保のため、早めの移行計画が重要です。

【デジタル寺田の3分用語解説】「 建設DX 」とは?🚧

デジタル寺田の3分用語解説

2024.12.23

【デジタル寺田の3分用語解説】「 建設DX 」とは?🚧

「 建設DX 」は、建設業界でデジタル技術を活用し、業務効率化や生産性向上を目指す取り組みです。「人材不足」「長時間労働」「生産性の低さ」「技術継承の危機」が背景にありますが、「現場のITリテラシーの低さ」が導入の障壁となっています。戦略的な推進が課題解決の鍵です。

【デジタル寺田の3分用語解説】「 カスハラ 」とは?😡

デジタル寺田の3分用語解説

2024.12.23

【デジタル寺田の3分用語解説】「 カスハラ 」とは?😡

「 カスハラ 」(カスタマーハラスメント)は、顧客からの不当な要求や迷惑行為により、従業員の精神的・肉体的健康を害する問題です。企業は「対応マニュアル策定」「研修実施」「相談窓口設置」を通じて対策を講じることで、被害を最小限に抑え、従業員を守る体制を整えることが重要です。