帯域制御設定

動作確認バージョン

vThunder Version 6.0.7-P2

ロードバランサー(vThunder ADC)では、対象のVirtual Serverに対して帯域制御設定を行えます。
この機能を使用すると、設定した通信量を超えた場合に超過したパケットが破棄されます(手法:ポリシング)。
これにより、Virtual Serverが転送先とするサーバーにて過負荷が発生することを防止できます。

注釈

  • 当該チュートリアルにて紹介している「template policy」を用いた帯域制御は、Virtual Serverの仮想IPアドレス単位ではなく、「Virtual Serverへのアクセスに対してSource IP(Client)ごとに個別評価する」機能になります。

  • Souce IP(Client)の送受信(双方向)の合計値が評価対象となります。

  • 当該手順では前提として、事前にサーバー名「server01」をロードバランサー(vThunder ADC)へ登録しています。(参考: リアルサーバーを登録・編集・削除する

  • 当該手順では前提として、事前にサービスグループ名「servicegroup01」を作成、メンバーにサーバー名「server01」を登録しています。(参考: サービスグループを登録・編集・削除する

サンプル設定のシナリオ

  • ロードバランサーのVirtual Server「vserver01」のポート「80」に対するクライアントからの通信に対して上限(8,192kbps)に設定する

構成図

performance_control01-01.PNG

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

1. 制御対象とするクライアント側のIPアドレスリストを作成する。(後述する帯域制御のポリシーにて利用します。)
ここでは、IPアドレスレンジ「192.168.1.0/24」の通信を制御対象として指定するように作成。

設定項目

設定値

class-list名

test-list (任意の名前)

class-list type

ipv4

対象IPアドレス範囲

192.168.1.0/24

LID

1


CLIにて入力するコマンド

vThunder(config)#class-list test-list ipv4
vThunder(config-class list)#192.168.1.0/24 lid 1

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

vThunder#show running-config class-list test-list
!Section configuration: 48 bytes
!
class-list test-list ipv4
 192.168.1.0/24 lid 1
!
vThunder#

2. テンプレートの種類に「policy」を指定して、テンプレート名「TMP-POL1」を作成する。
また、当該テンプレートに対して、帯域上限(閾値)を設定する。
ここでは、1秒間につき、8192kbpsを超過する通信が発生した場合、帯域制御処理を実施、かつシステムログへの出力を行うように設定します。

設定項目

設定値

テンプレートの種類

policy

テンプレート名

TMP-POL1 (任意の名前)

class-list名

test-list

LID

1

帯域上限(単位:byte)

1024000(8192kbpsのバイト数)

監視時間

1秒間

帯域上限を超過時のアクション

log


CLIにて入力するコマンド

vThunder(config)#slb template policy TMP-POL1
vThunder(config-policy)#class-list test-list
vThunder(config-policy-class-list:test-list)#lid 1
vThunder(config-policy-class-list:test-list-1...)#bw-rate-limit 1024000 per 10
vThunder(config-policy-class-list:test-list-1...)#over-limit-action log

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

vThunder#show running-config slb template policy TMP-POL1
!Section configuration: 132 bytes
!
slb template policy TMP-POL1
  class-list test-list
    lid 1
      bw-rate-limit 1024000 per 10
      over-limit-action log
!
vThunder#

3. Virtual Server「vserver01」のport 80(HTTP)に対して、前項の帯域制御設定を紐づける。

設定項目

設定値

Virtual Server

vserver01

テンプレートの種類

policy

テンプレート名

TMP-POL1


CLIにて入力するコマンド

vThunder(config)#slb virtual-server vserver01 172.16.10.101
vThunder(config-slb vserver)#port 80 http
vThunder(config-slb vserver-vport)#template policy TMP-POL1
vThunder(config-slb vserver-vport)#service-group servicegroup01

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

vThunder#show running-config slb virtual-server vserver01
!Section configuration: 141 bytes
!
slb virtual-server vserver01 172.16.10.101
  port 80 http
    template policy TMP-POL1
    service-group servicegroup01
!
vThunder#

動作確認結果

ここではクライアントにサーバーを配置してCurlコマンドを実行することで動作確認します。
  • 帯域制御設定の有無による比較

1. 帯域制御設定「TMP-POL1」を行っているVirtual Server「vserver01(172.16.10.101)」に対して以下のコマンドを実行してファイルダウンロード検証をする。
ubuntu@acos-func--test-client:~$ wget http://172.16.10.101/ddtest -O /dev/null
--2026-01-08 02:38:28--  http://172.16.10.101/ddtest
Connecting to 172.16.10.101:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1073741824 (1.0G) [application/octet-stream]
Saving to: ‘/dev/null’

/dev/null                                         0%[                ]   4.61M   812KB/s    eta 21m 26s

2. 動作結果を比較するため、一度、Virtual Server「vserver01(172.16.10.101)」から帯域制御設定を削除する。

CLIにて入力するコマンド

vThunder(config)#slb virtual-server vserver01 172.16.10.101
vThunder(config-slb vserver)#port 80 http
vThunder(config-slb vserver-vport)#no template policy TMP-POL1

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

vThunder#show running-config slb virtual-server vserver01
!Section configuration: 141 bytes
!
slb virtual-server vserver01 172.16.10.101
  port 80 http
    service-group servicegroup01
!
vThunder#

3. 帯域制御設定「TMP-POL1」を行っていないVirtual Server「vserver01(172.16.10.101)」に対して以下のコマンドを実行してファイルダウンロード検証をする。
ubuntu@acos-func--test-client:~$ wget http://172.16.10.101/ddtest -O /dev/null
--2026-01-08 02:41:17--  http://172.16.10.101/ddtest
Connecting to 172.16.10.101:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1073741824 (1.0G) [application/octet-stream]
Saving to: ‘/dev/null’

/dev/null                                         2%[=>              ]  22.22M  7.23MB/s    eta 2m 19s

4. 出力結果を比較する。
帯域制御を行った場合の出力結果では、現在のダウンロード速度(転送レート)が[812KB/s]となっている。
対して、帯域制御を行っていない場合の出力結果では、現在のダウンロード速度(転送レート)が[7.23MB/s]となっている。
これにより、帯域制御を行った場合はダウンロードの速度に制限が発生していることが確認できる。