リクエストURLを条件にする

動作確認バージョン

vThunder Version 6.0.7-P2

ロードバランサー(vThunder ADC)では「Template」設定とサービスグループ設定を紐づけることでリクエストに含まれるURLを識別し、適切なサーバーに振り分けることができます。
本項では、URLへ指定の値を含む場合の識別する設定を紹介します。

注釈

サンプル設定のシナリオ

  • クライアントのアクセス先は、ロードバランサーのVirtual Server IPアドレス(172.16.10.102 port443)宛にしたい

  • 条件1として、URLが「https://test1.example.com/test1/」である場合は、server01(192.168.2.11)へ転送したい

  • 条件2として、URLが「https://test2.example.com/test2/」である場合は、server02(192.168.2.12)へ転送したい

  • それ以外の通信の場合は、server03(192.168.2.13)に転送したい

構成図

requesturl01-01.png

シナリオにおける設定のながれ

1.以下のコマンドで、テンプレートの種類に「HTTP」を指定して、テンプレート名「URL_Switching」を作成する

設定項目

設定値

転送先(サービスグループ)

Template名

URL_Switching

Templateの種類

HTTP

振り分けルール

url-switching contains(URLに指定値を含むか確認)

パス(条件1)

test1

servicegroup01

パス(条件2)

test2

servicegroup02

CLIにて入力するコマンド

vthunder(config)#slb template http URL_Switching
vthunder(config-http)# url-switching contains /test1/ service-group servicegroup01
vthunder(config-http)# url-switching contains /test2/ service-group servicegroup02
vthunder(config-http)#

正しく設定が完了したときのコンフィグレーションは次のとおり。

vthunder#show run slb template http URL_Switching
!Section configuration: 161 bytes
!
slb template http URL_Switching
  url-switching contains /test1/ service-group servicegroup01
  url-switching contains /test2/ service-group servicegroup02
!

2.Virtual Server名「URL_Switching_virtualserver01」を次のようなパラメーターで作成して、Template設定名「URL_Switching」と紐づける

設定項目

設定値

Virtual Server名

URL_Switching_virtualserver01

IPアドレス

172.16.10.102

ポート番号

443

プロトコル

HTTPS

サービスグループ

service03

SSLテンプレート

servercert

HTTPテンプレート名

URL_Switching

Source NAT(任意)

有効化(任意)

CLIにて入力するコマンド

vthunder(config)#slb virtual-server URL_Switching_virtualserver01 172.16.10.102
vthunder(config-slb vserver)#port 443 https
vthunder(config-slb vserver-vport)#source-nat auto precedence
vthunder(config-slb vserver-vport)#service-group servicegroup03
vthunder(config-slb vserver-vport)#template client-ssl servercert
vthunder(config-slb vserver-vport)#template http URL_Switching

正しく設定が完了したときのコンフィグレーションは次のとおり。

vthunder#show run slb virtual-server URL_Switching_virtualserver01
!Section configuration: 219 bytes
!
slb virtual-server URL_Switching_virtualserver01 172.16.10.102
  port 443 https
    source-nat auto precedence
    service-group servicegroup03
    template http URL_Switching
    template client-ssl servercert
!
vthunder#

動作確認結果

ここではクライアントにサーバーを配置してcurlコマンドを実行することで動作確認します。
1.クライアント側のサーバーで次のコマンドを実行して、URL「test.example.com/test1/」へアクセスする。
出力された結果から、URLに「/test1/」が含まれる場合、server01(192.168.2.11)へ転送されていることを確認する。

CLIにて入力するコマンド

ubuntu@clientvm:~$ curl https://test.example.com/test1/
server01
ubuntu@clientvm:~$

2.同様に以下のコマンドを実行して、出力結果を確認する。
以下よりURLに「/test2/」が含まれる場合、server02(192.168.2.12)へ転送されていることを確認する。
それ以外の接続の場合、server03(192.168.2.13)へ転送されていることを確認する。

CLIにて入力するコマンド

ubuntu@clientvm:~$ curl https://test.example.com/test2/
server02
ubuntu@clientvm:~$
ubuntu@clientvm:~$ curl https://test.example.com/
server03
ubuntu@clientvm:~$