Kong は、API ゲートウェイです。つまり、クライアントと API ベースのアプリケーションをつなぐミドルウェアの一種です。 Kong を使うことにより、API の機能を一貫して簡単に拡張できます。Kong で導入できる主な機能には、 認証、セキュリティ、トラフィック制御、 サーバーレス、 アナリティクス & モニタリング、リクエスト/レスポンス変換、および ログなどが挙げられます。
認証認証レイヤーによってサービスを保護します。 |
トラフィック制御インバウンドおよびアウトバウンドの API トラフィックを管理、調整、制限します。 |
アナリティクスAPI およびマイクロサービスのトラフィックを視覚化し、検査、モニタリングします。 |
変換リクエストやレスポンスをオンザフライで変換します。 |
ログリクエストやレスポンスのデータをログ ソリューションにストリーミングします。 |
サーバーレスAPI を介してサーバーレス関数を呼び出します。 |
Kong では、他の API ゲートウェイには見られない多くの重要な特長が見られます。主な特長は次のとおりです。
これらの特長は、Kongおよび Kong Enterprise の両方に備わっています。 Kong の機能は、公開されているドキュメントにすべて記載されています。
Kong のセットアップには、次のふたつのコンポーネントがあります。
Kong をセットアップして操作するには、これらの両方のコンポーネントが必要です。
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'
その後、Kong のプラグインを使用して、更なる機能を追加します。ユーザーは、オリジナルのプラグインを作成することもできます。
$ curl -i -X POST \
--url http://localhost:8001/apis/example-api/plugins/ \
--data 'name=rate-limiting' \
--data 'config.minute=100'
そして、指定したパブリック DNS をリクエストして、ポート 8000 で API を使用できます。本番環境では、パブリック DNS を Kong に指定します。これは、URL パスのルーティングもサポートしています。
$ curl -i -X GET \
--url http://localhost:8000/ \
--header 'Host: example.com'
クライアント、API、Kong マイクロサービス/API ゲートウェイ間での典型的なリクエスト/レスポンス ワークフローについて
Kong が起動すると、クライアントの API に対するリクエストはすべて最初に Kong をヒットし、その後、最終的に API にプロキシされます。リクエストとレスポンス間で、Kong はインストールされたプラグインを実行し、API 機能を拡張します。Kong はすべての API リクエストのエントリ ポイントとなります。
Kong は、API を介してクライアントとマイクロサービス間のコミュニケーションをセキュアに管理する、フレキシブルな抽象レイヤーを提供します。
|
|
|
|
|
|
|
|
API がゲートウェイで認証、レート制限などの目的で Kong サービスを利用する、集中型パターンによる Kong のデプロイ
マイクロサービスや API が Kong サービスと密に統合された、分散型「メッシュ」による Kong のデプロイ