旧バージョンのドキュメントを参照しています。 最新のドキュメントはこちらをご参照ください。
ロードバランシング
ロードバランシングは、複数のアップストリームサービス間でのAPIリクエスト トラフィックを分散するメソッドです。ロードバランシングにより、システム全体の応答性が向上し、 個々のリソースの過負荷を防ぐことで障害を減らします。
次の例では、2つの異なるサーバー、つまりアップストリームターゲットにデプロイされたアプリケーションを使用します。
Kong Gatewayは両方のサーバー間でロードバランシングする必要があるため、いずれかのサーバーが利用できなくなった場合でも、 問題を自動的に検出し、すべてのトラフィックを稼働中のサーバーにルーティングします。
アップストリーム とは、Kong Gatewayの背後にあるサービスアプリケーションを指し、 ここにクライアントリクエストが転送されます。Kong Gatewayでは、アップストリームは仮想ホスト名を表し、 ヘルスチェック、サーキットブレーク、複数のターゲットバックエンドサービスにわたる受信リクエストのロードバランシングに使用できます。
このセクションでは、先ほど作成したサービス(example_service
)を特定のホストではなくアップストリームを指すように再構成します。
この例では、アップストリームは2つのターゲット、httpbin.org
とhttpbun.com
を指します。通常は、ターゲットは異なるホストシステム上で実行されている同じバックエンドサービスのインスタンスになります。
以下はセットアップを示す図です。
flowchart LR A("`Route (/mock)`") B("`Service (example_service)`") C(Load balancer) D(httpbin.org) E(httpbun.com) subgraph id1 ["`**KONG GATEWAY**`"] A --> B --> C end subgraph id2 ["`Targets (example_upstream)`"] C --> D & E end style id1 rx:10,ry:10 style id2 stroke:none
ロードバランシングを有効にする
このセクションでは、 example_upstream
という名前のアップストリームを作成し、それに2つのターゲットを追加します。
前提条件
この章は、「 Get Started with Kong 」シリーズの一部です。最適な効果を得るために、シリーズを最初からご覧になることをお勧めします。
まずは、導入として Kong の入手から始めましょう。ここには、ローカル Kong Gateway を実行するための前提条件と手順の一覧が含まれています。
ガイドの手順 2 のサービスとルートには、このシリーズで使われているモックサービスのインストール方法が記載されています。
これらの手順をまだ完了していない場合は、続行する前に完了してください。
ロードバランシングを有効にする手順
-
アップストリームの作成
Admin APIを使用して、
example_upstream
という名前のアップストリームを作成します。curl -X POST http://localhost:8001/upstreams \ --data name=example_upstream
-
アップストリームターゲットの作成
example_upstream
の 2 つのターゲットを作成します。各リクエストは新しいターゲットを作成し、 バックエンドサービス接続エンドポイントを設定します。curl -X POST http://localhost:8001/upstreams/example_upstream/targets \ --data target='httpbun.com:80' curl -X POST http://localhost:8001/upstreams/example_upstream/targets \ --data target='httpbin.org:80'
-
サービスの更新
本ガイドの「サービスとルート」セクションで作成した
example_service
は、明示的なホスト、http://httpbun.com
を指していました。今度はこのサービスをアップストリームを指すように変更します。curl -X PATCH http://localhost:8001/services/example_service \ --data host='example_upstream'
これで、
httpbin.org
とhttpbun.com
の 2 つのターゲットを持つアップストリームと、そのアップストリームを指すサービスができました。 -
検証
ウェブブラウザまたはCLIを使ってルート
http://localhost:8000/mock
にアクセスして、構成したアップストリームが機能していることを確認します。-
Webブラウザ :
http://localhost:8000/mock
にアクセスし、ページを数回更新して、サイトがhttpbin
からhttpbun
に変わるのを確認します。 -
CLI : コマンド
curl -s http://localhost:8000/mock/headers |grep -i -A1 '"host"'
を複数回実行します。httpbin
とhttpbun
の間でのホスト名変更がわかります。
-
Webブラウザ :
次の手順
Kong 入門ガイドは完了しましたが、Kong Gateway を使用するとさらに多くのことが可能になります。 以下は、Kong Gateway の詳細な機能に関するガイドです。