【A10 Thunder】サーバ負荷分散(L7:HTTP )の基本設定と動作確認 5.2.0

A10

TCP接続で、L4レベルの負荷分散処理をした場合、TCPセッションは、クライアントと実サーバ(リアルサーバ)間で張られます。ロードバランサは、TCPのポート番号のみを参照し、リアルサーバへ負荷分散処理します。

L7レベルの負荷分散処理にて、TCP接続した場合、クライアントからのTCPセッションは、ロードバランサで終端し、パケットのL7(アプリケーション)レベルの内容を検査した上で、負荷分散処理します。

この記事では、L7レベルとしてHTTPヘッダの内容を検査できるように設定し、動作確認します。

下記記事のL4レベルの負荷分散設定をもとに、L7レベルへの設定変更する部分のみを記載します

そのため、下記2つの記事を先にお読みいただくことを強くお勧めします。

  >> 参考記事 :  サーバ負荷分散(L4)の基本設定と動作確認
  >> 参考記事 :  サーバ負荷分散(L4) 送信元NATと動作確認
スポンサーリンク

L7レベルの負荷分散

バーチャルサーバ設定(L7)

バーチャルサーバにて、L7用のバーチャルポートを作成します。

ADC >> SLB >> Virtual Servers vip-webを選択し、Virtual Portを下記のとおり作成します。

  • Protocol : http を選択
  • Port or Port Range : httpのポート番号として、80 を設定
  • Source NAT Auto : インタフェースアドレスでNATするよう、有効にする
  • Service Group : sg-web を選択

Updateをクリック後、下記のように、ステータスが緑色であることを確認します。

CLIで設定する場合は、下記となります。

vThunder(config)#slb virtual-server vip-web 10.0.10.200
vThunder(config-slb vserver)#port 80 http
vThunder(config-slb vserver-vport)#source-nat auto
vThunder(config-slb vserver-vport)#service-group sg-web

動作確認

クライアントから、10.0.10.200 宛にHTTPアクセスすると、下記のとおり画面が表示されます。

セッション(ADC >> SLB >> Session)を確認すると、Type:SLB-L7として、2つセッションが確立されています。

スポンサーリンク

HTTPヘッダ挿入(X-Forwarded-For)

L7レベルとして、HTTPヘッダの内容を検査できることを確認するため、X-Forwarded-Forのヘッダを挿入してみます。

X-Forwarded-Forは、HTTPヘッダの一つで、今回のようにロードバランサを経由して、IPヘッダ上の送信元がロードバランサになる場合に、クライアントのIPアドレス情報をこのヘッダに付加することで、Webサーバ側でアクセスしているクライアントを特定することができます。

設定は、HTTPテンプレートにて、X-Forwarded-Forを挿入する設定を行い、バーチャルサーバのバーチャルポートに適用します。

ADC >> Template >> L7  Protocols より HTTPのテンプレートをCreateします。

下記のとおり設定し、OKをクリックします。

  • Name:任意の名前。今回は、XFFとします。
  • Client IP Header Insert 有効 にします。
  • Header NameX-Forwarded-For と入力します。

上で設定したHTTPテンプレートバーチャルポートに適用します。

Template HTTPにて、XFFを選択し、Updateします。

CLIで設定する場合は、下記のとおり、slb templateにてHTTPテンプレートを作成し、バーチャルポートへ適用します。

vThunder(config)#slb template http XFF 
vThunder(config-http)#insert-client-ip X-Forwarded-For   
vThunder(config-http)#exit
vThunder(config)#slb virtual-server vip-web 10.0.10.200 
vThunder(config-slb vserver)#port 80 http 
vThunder(config-slb vserver-vport)#template http XFF 
vThunder(config-slb vserver-vport)#

クライアントからアクセス後、Webサーバでパケットキャプチャすると、X-Forwarded-Forが挿入されていることが確認できます。

コメント

タイトルとURLをコピーしました