Kong Community Edition (CE)

世界一の人気を誇るオープン ソースのマイクロサービスおよび API ゲートウェイ

KONG をインストール ドキュメント


Kong0.11.0 Community Edition がリリースされました!アップグレードする

Kong とは?

Kong は、API ゲートウェイです。つまり、クライアントと API ベースのアプリケーションをつなぐミドルウェアの一種です。 Kong を使うことにより、API の機能を一貫して簡単に拡張できます。Kong で導入できる主な機能には、 認証セキュリティトラフィック制御サーバーレスアナリティクス & モニタリングリクエスト/レスポンス変換、および ログなどが挙げられます。

認証

認証レイヤーによってサービスを保護します。

トラフィック制御

インバウンドおよびアウトバウンドの API トラフィックを管理、調整、制限します。

アナリティクス

API およびマイクロサービスのトラフィックを視覚化し、検査、モニタリングします。

変換

リクエストやレスポンスをオンザフライで変換します。

ログ

リクエストやレスポンスのデータをログ ソリューションにストリーミングします。

サーバーレス

API を介してサーバーレス関数を呼び出します。


Kong の特長

Kong では、他の API ゲートウェイには見られない多くの重要な特長が見られます。主な特長は次のとおりです。

  • 拡張可能
  • 驚異的な速さ
  • オープン ソース
  • プラットフォーム非依存
  • クラウド ネイティブ
  • RESTful

これらの特長は、Kong Community Edition および Kong Enterprise Edition の両方に備わっています。 Kong の機能は、公開されているドキュメントにすべて記載されています。


Kong の仕組み

Kong のセットアップには、次のふたつのコンポーネントがあります。

  • Kong のサーバー: クライアントのアップストリーム サービスへのリクエストを処理するリバース プロキシとして広く採用されている、NGINX HTTP サーバーに基づいています。
  • Kong のデータストア: Kong のノードを水平方向にスケーリングするための構成を保存します。 Apache Cassandra および PostgreSQL が使用可能です。

Kong をセットアップして操作するには、これらの両方のコンポーネントが必要です。

1 分で始めましょう

  1. Kong に API を追加

    Kong をインストールして起動後、ポート 8001 の Admin API を使用して、新しい API を追加します。Kong は、指定されたパブリック DNS を持つすべての新着リクエストを、関連するターゲット URL にルーティングします。

    $ curl -i -X POST \
      --url http://localhost:8001/apis/ \
      --data 'name=example-api' \
      --data 'hosts=example.com' \
      --data 'upstream_url=http://example.com'
  2. API にプラグインを追加

    その後、Kong のプラグインを使用して、更なる機能を追加します。ユーザーは、オリジナルのプラグインを作成することもできます。

    $ curl -i -X POST \
    --url http://localhost:8001/apis/example-api/plugins/ \
    --data 'name=rate-limiting' \
    --data 'config.minute=100'
  3. リクエストを作成

    そして、指定したパブリック DNS をリクエストして、ポート 8000 で API を使用できます。本番環境では、パブリック DNS を Kong に指定します。これは、URL パスのルーティングもサポートしています。

    $ curl -i -X GET \
      --url http://localhost:8000/ \
      --header 'Host: example.com'

Kong マイクロサービス/API ゲートウェイ

Kong は、RESTful API の手前で動作し、プラグインを使用して拡張することにより、コアなプラットフォームに追加の機能やサービスを提供します。

スケーラブル

Kong は、ノードを追加することにより、容易に水平スケールができます。低レイテンシで大規模および可変のワークロードをサポートします。

モジュール式

RESTful Admin API を使ってインストールし、設定したプラグインにより、Kong の機能を拡張できます。

あらゆるインフラで

Kong は、クラウドでも、オンプレミスでも、シングル データセンターやグローバル データセンターなどのハイブリッド環境でもデプロイできます。

Kongは、NGINX や Apache Cassandra 、PostgreSQL などの信頼性の高いテクノロジ上にデプロイされ、システムの操作、設定に使い勝手の良い RESTful API を提供します。


  • RESTful API から Kong を管理
  • CI/CD & DevOps の自動化および統合
  • プラグインで拡張可能

  • Lua でのプラグイン作成
  • パワフルなカスタマイゼーションの実装
  • サードパーティ サービスとの統合

  • Cassandra または PostgreSQL の選択
  • ラップトップからグローバル クラスターへのスケーリング
  • パフォーマンスのインメモリキャッシュ
  • リクエスト/レスポンス ライフサイクルのインターセプト
  • 基となる NGINX の拡張
  • Lua によるスクリプト

  • 実証済みの高性能なファンデーション
  • HTTP および リバース プロキシ サーバー
  • 低レベル操作の処理

リクエストのワークフロー

クライアント、API、Kong マイクロサービス/API ゲートウェイ間での典型的なリクエスト/レスポンス ワークフローについて



Kong が起動すると、クライアントの API に対するリクエストはすべて最初に Kong をヒットし、その後、最終的に API にプロキシされます。リクエストとレスポンス間で、Kong はインストールされたプラグインを実行し、API 機能を拡張します。Kong はすべての API リクエストのエントリ ポイントとなります。


共通機能の統合

Kong は、API を介してクライアントとマイクロサービス間のコミュニケーションをセキュアに管理する、フレキシブルな抽象レイヤーを提供します。

従来の冗長的な方法

  • 共通機能を複数のサービス間でコピー

  • モノリシックなシステムでメンテナンスが困難

  • 他のサービスに影響を与えずに拡張するのが困難

  • システムの制約によって、生産性が非効率

Kong

  • 機能を 1 つの場所で集中管理および統合

  • 拡張性の高い効率的な分散アーキテクチャーをビルド

  • シンプルなコマンドで 1 ヶ所から機能を拡張

  • 開発および運用チームは製品に集中し、Kong が REST API を管理


集中型または分散型のデプロイ


API ゲートウェイ パターン

API がゲートウェイで認証、レート制限などの目的で Kong サービスを利用する、集中型パターンによる Kong のデプロイ

サイドカー パターン

マイクロサービスや API が Kong サービスと密に統合された、分散型「メッシュ」による Kong のデプロイ


価格/お問い合わせ

製品の詳細、価格、ライセンス体系、デモの依頼など、お気軽にお問い合わせください。