10.3.2. WEBサイト公開におけるファイアウォール/ロードバランサー構成例(ワンアーム)¶
動作確認バージョン: | Brocade 5600vRouter Version4.2R1S1 |
---|---|
動作確認バージョン: | Netscaler VPX Version11.0 Build67.12 Standard Edition |
WEBサーバーを外部に公開するため、以下の方針でファイアウォール(FW)とロードバランサー(LB)を設定します。
ファイアウォール
- VRRPを使用して2台冗長構成をとります。全てのセグメントでVRRPを構築します。
- FWルールは外部セグメントからは基本全て拒否し、特定のHTTP/HTTPSアクセスのみ許可します。信頼されたセグメントからは全て許可とします。
- 外部セグメントからはLBのバーチャルサーバのIPではなく、FWのグローバルIPにアクセスさせ、NAT変換で宛先をバーチャルサーバのIPに変換します。
ロードバランサー
- VRRPを使用して2台冗長構成をとります。FWセグメントでVRRPを構築します。
- HTTP/HTTPS 用のバーチャルサーバを立て、2台のWEBサーバーにラウンドロビンで通信を分散します。HTTPSはSSLオフロードを行います。
- ECL2.0のロードバランサー(NetScalerVPX)では、1つのインターフェースに対して登録可能なVRRP設定(仮想IPアドレスとVRRPグループIDのペア)は1つとなります。従って、複数のVRRPグループの登録は出来ません。代替方法としてVRRP用に登録したVirtual IP とは別のセグメントに、仮想IP アドレスを登録し、それを振り分け対象IPアドレスに設定することで複数VIPを冗長化させることが可能です。本構成はこちらの方法を利用して冗長構成をとっております。
設定概念のイメージ
10.3.2.1. システム構成図¶
注釈
- ClientのOSは “Windows Server 2012R2” を使用しております。
- ServerのOSは “CentOS 7.1.1503” を使用しております。
- Webサーバは “Apache 2.2.32” を使用しております。
10.3.2.2. ファイアウォール設定の内容¶
ファイアウォールインタフェース設定
設定内容の確認のためにインタフェース設定を示しておりますが、実際にはインタフェース設定はカスタマポータル上で設定して頂く必要があります。
以下インタフェース設定コマンドを投入するとエラーが返ってきますのでご注意ください。
注釈
- インタフェース設定はカスタマポータル以外で設定することはできません。
- FW-01
set interfaces dataplane dp0s4 address '1.X.X.253/24'
set interfaces dataplane dp0s5 address '192.168.100.253/24'
set interfaces dataplane dp0s6 address '192.168.20.253/24'
- FW-02
set interfaces dataplane dp0s4 address '1.X.X.252/24'
set interfaces dataplane dp0s5 address '192.168.100.252/24'
set interfaces dataplane dp0s6 address '192.168.20.252/24'
VRRP設定
VRRP設定前に、必ずカスタマポータル上でVRRP通信許可設定を実施いただく必要があります。
VRRP用通信設定の登録 をご参照ください。
- FW-01
dp0s4側
set interfaces dataplane dp0s4 vrrp vrrp-group 11 advertise-interval '20'
set interfaces dataplane dp0s4 vrrp vrrp-group 11 preempt 'true'
set interfaces dataplane dp0s4 vrrp vrrp-group 11 priority '150'
set interfaces dataplane dp0s4 vrrp vrrp-group 11 'rfc-compatibility'
set interfaces dataplane dp0s4 vrrp vrrp-group 11 sync-group 'test-b'
set interfaces dataplane dp0s4 vrrp vrrp-group 11 virtual-address '1.X.X.254'
dp0s5側
set interfaces dataplane dp0s5 vrrp vrrp-group 21 advertise-interval '20'
set interfaces dataplane dp0s5 vrrp vrrp-group 21 preempt 'true'
set interfaces dataplane dp0s5 vrrp vrrp-group 21 priority '150'
set interfaces dataplane dp0s5 vrrp vrrp-group 21 'rfc-compatibility'
set interfaces dataplane dp0s5 vrrp vrrp-group 21 sync-group 'test-b'
set interfaces dataplane dp0s5 vrrp vrrp-group 21 virtual-address '192.168.100.254'
dp0s6側
set interfaces dataplane dp0s6 vrrp vrrp-group 31 advertise-interval '20'
set interfaces dataplane dp0s6 vrrp vrrp-group 31 preempt 'true'
set interfaces dataplane dp0s6 vrrp vrrp-group 31 priority '150'
set interfaces dataplane dp0s6 vrrp vrrp-group 31 'rfc-compatibility'
set interfaces dataplane dp0s6 vrrp vrrp-group 31 sync-group 'test-b'
set interfaces dataplane dp0s6 vrrp vrrp-group 31 virtual-address '192.168.20.254'
- FW-02
dp0s4側
set interfaces dataplane dp0s4 vrrp vrrp-group 11 advertise-interval '20'
set interfaces dataplane dp0s4 vrrp vrrp-group 11 preempt 'true'
set interfaces dataplane dp0s4 vrrp vrrp-group 11 priority '20'
set interfaces dataplane dp0s4 vrrp vrrp-group 11 'rfc-compatibility'
set interfaces dataplane dp0s4 vrrp vrrp-group 11 sync-group 'test-b'
set interfaces dataplane dp0s4 vrrp vrrp-group 11 virtual-address '1.X.X.254'
dp0s5側
set interfaces dataplane dp0s5 vrrp vrrp-group 21 advertise-interval '20'
set interfaces dataplane dp0s5 vrrp vrrp-group 21 preempt 'true'
set interfaces dataplane dp0s5 vrrp vrrp-group 21 priority '20'
set interfaces dataplane dp0s5 vrrp vrrp-group 21 'rfc-compatibility'
set interfaces dataplane dp0s5 vrrp vrrp-group 21 sync-group 'test-b'
set interfaces dataplane dp0s5 vrrp vrrp-group 21 virtual-address '192.168.100.254'
dp0s6側
set interfaces dataplane dp0s6 vrrp vrrp-group 31 advertise-interval '20'
set interfaces dataplane dp0s6 vrrp vrrp-group 31 preempt 'true'
set interfaces dataplane dp0s6 vrrp vrrp-group 31 priority '20'
set interfaces dataplane dp0s6 vrrp vrrp-group 31 'rfc-compatibility'
set interfaces dataplane dp0s6 vrrp vrrp-group 31 sync-group 'test-b'
set interfaces dataplane dp0s6 vrrp vrrp-group 31 virtual-address '192.168.20.254'
注釈
- 本構成において非対称通信はサポートしておりません。複数インターフェースでVRRPを利用する際、sync-group設定によりVRRPの切り替わりを同期させてください。
- VRRPのadvertise intervalは初期設定では基盤側においてVRRP通信が稀に不安定になることが確認されていたため20sec以上を推奨しておりましたが(2016年12月時点)、不安定事象が解消したためお客様のシステム構成に合わせ設計ください(2017年8月時点)。(3回連続でHello Packetを受信しなかった際に断検知します)。なお本設定を変更する場合、Backup側のファイアウォールから変更してください。Master側から変更すると、Backup側へのHelloパケット送信間隔が変わるため、Backup側もMasterに昇格し、両装置がMasterになる可能性があります。
リソースグループの設定
FWルールの許可ポートに使用するポートグループを作成します。
- FW-01/02 共通
set resources group port-group HTTP-HTTPS port '80'
set resources group port-group HTTP-HTTPS port '443'
FWルールの設定
ステートフルFWを有効化します。
- FW-01/02 共通
set security firewall global-state-policy 'icmp'
set security firewall global-state-policy 'tcp'
set security firewall global-state-policy 'udp'
外部セグメント側から来る通信のアクセス制御を行うルールを作成します。
- 基本的にすべて拒否
- FW-02 からの通信は許可(VRRPなど管理通信を行うため)
- HTTP(80),HTTPS(443)通信のみ許可
- FW-01
set security firewall name Untrust-to-HTTP default-action 'drop'
set security firewall name Untrust-to-HTTP rule 1 action 'accept'
set security firewall name Untrust-to-HTTP rule 1 source address '1.X.X.252'
set security firewall name Untrust-to-HTTP rule 10 action 'accept'
set security firewall name Untrust-to-HTTP rule 10 destination address '1.X.X.254'
set security firewall name Untrust-to-HTTP rule 10 destination port 'HTTP-HTTPS'
set security firewall name Untrust-to-HTTP rule 10 protocol 'tcp'
set security firewall name all_accept default-action 'accept'
- FW-02
set security firewall name Untrust-to-HTTP default-action 'drop'
set security firewall name Untrust-to-HTTP rule 1 action 'accept'
set security firewall name Untrust-to-HTTP rule 1 source address '1.X.X.253'
set security firewall name Untrust-to-HTTP rule 10 action 'accept'
set security firewall name Untrust-to-HTTP rule 10 destination address '1.X.X.254'
set security firewall name Untrust-to-HTTP rule 10 destination port 'HTTP-HTTPS'
set security firewall name Untrust-to-HTTP rule 10 protocol 'tcp'
set security firewall name all_accept default-action 'accept'
作成したFWルールをインタフェースに適用します。
- FW-01/02 共通
set interfaces dataplane dp0s4 firewall in 'Untrust-to-HTTP'
set interfaces dataplane dp0s6 firewall out 'all_accept'
外部セグメントからFWに対するHTTP、HTTPSアクセスをロードバランサーに設定されているバーチャルサーバーのアドレスへ変更するNAT設定を行います。
- FW-01/02 共通
set service nat destination rule 10 destination address '1.X.X.254'
set service nat destination rule 10 destination port '80'
set service nat destination rule 10 inbound-interface 'dp0s4'
set service nat destination rule 10 protocol 'tcp'
set service nat destination rule 10 translation address '192.168.200.100'
set service nat destination rule 11 destination address '1.X.X.254'
set service nat destination rule 11 destination port '443'
set service nat destination rule 11 inbound-interface 'dp0s4'
set service nat destination rule 11 protocol 'tcp'
set service nat destination rule 11 translation address '192.168.200.200'
set service nat destination rule 11 translation port '443'
ロードバランサーに設定されている、バーチャルサーバへのルーティングを作成します。
set protocols static route 192.168.200.0/24 next-hop '192.168.20.251'
設定内容の確認
前述の設定が正しく投入されている場合、以下出力が確認できます。
- FW-01
user-admin@FW-01# show interfaces
interfaces {
dataplane dp0s4 {
address 1.X.X.253/24
firewall {
in Untrust-to-HTTP
}
vrrp {
vrrp-group 11 {
advertise-interval 20
preempt true
priority 150
rfc-compatibility
sync-group test-b
virtual-address 1.X.X.254
}
}
}
dataplane dp0s5 {
address 192.168.100.253/24
vrrp {
vrrp-group 21 {
advertise-interval 20
preempt true
priority 150
rfc-compatibility
sync-group test-b
virtual-address 192.168.100.254
}
}
}
dataplane dp0s6 {
address 192.168.20.253/24
firewall {
out all_accept
}
vrrp {
vrrp-group 31 {
advertise-interval 20
preempt true
priority 150
rfc-compatibility
sync-group test-b
virtual-address 192.168.20.254
}
}
}
loopback lo
}
user-admin@FW-01# show resources
resources {
group {
port-group HTTP-HTTPS {
port 80
port 443
}
}
}
user-admin@FW-01# show security firewall
firewall {
global-state-policy {
icmp
tcp
udp
}
name Untrust-to-HTTP {
default-action drop
rule 1 {
action accept
source {
address 1.X.X.252
}
}
rule 10 {
action accept
destination {
address 1.X.X.254
port HTTP-HTTPS
}
protocol tcp
}
}
name all_accept {
default-action accept
}
}
user-admin@FW-01# show service nat destination
destination {
rule 10 {
destination {
address 1.X.X.254
port 80
}
inbound-interface dp0s4
protocol tcp
translation {
address 192.168.200.100
}
}
rule 11 {
destination {
address 1.X.X.254
port 443
}
inbound-interface dp0s4
protocol tcp
translation {
address 192.168.200.200
port 443
}
}
}
user-admin@FW-01# show protocols static
static {
route 192.168.200.0/24 {
next-hop 192.168.20.251
}
}
- FW-02
user-admin@FW-02# show interfaces
interfaces {
dataplane dp0s4 {
address 1.X.X.252/24
firewall {
in Untrust-to-HTTP
}
vrrp {
vrrp-group 11 {
advertise-interval 20
preempt true
priority 20
rfc-compatibility
sync-group test-b
virtual-address 1.X.X.254
}
}
}
dataplane dp0s5 {
address 192.168.100.252/24
vrrp {
vrrp-group 21 {
advertise-interval 20
preempt true
priority 20
rfc-compatibility
sync-group test-b
virtual-address 192.168.100.254
}
}
}
dataplane dp0s6 {
address 192.168.20.252/24
firewall {
out all_accept
}
vrrp {
vrrp-group 31 {
advertise-interval 20
preempt true
priority 20
rfc-compatibility
sync-group test-b
virtual-address 192.168.20.254
}
}
}
loopback lo
}
user-admin@FW-02# show resources
resources {
group {
port-group HTTP-HTTPS {
port 80
port 443
}
}
}
user-admin@FW-02# show security firewall
firewall {
global-state-policy {
icmp
tcp
udp
}
name Untrust-to-HTTP {
default-action drop
rule 1 {
action accept
source {
address 1.X.X.253
}
}
rule 10 {
action accept
destination {
address 1.X.X.254
port HTTP-HTTPS
}
protocol tcp
}
}
name all_accept {
default-action accept
}
}
user-admin@FW-02# show service nat destination
destination {
rule 10 {
destination {
address 1.X.X.254
port 80
}
inbound-interface dp0s4
protocol tcp
translation {
address 192.168.200.100
}
}
rule 11 {
destination {
address 1.X.X.254
port 443
}
inbound-interface dp0s4
protocol tcp
translation {
address 192.168.200.200
port 443
}
}
}
user-admin@FW-02# show protocols static
static {
route 192.168.200.0/24 {
next-hop 192.168.20.251
}
}
10.3.2.3. ロードバランサー設定の内容¶
ロードバランサーインタフェース設定
設定内容の確認のためにインタフェース設定を示しておりますが、実際にはインタフェース設定はカスタマポータル上で設定して頂く必要があります。
注釈
- インタフェース設定はカスタマポータル以外で設定することはできません。
設定項目 | 設定値(LB01) | 設定値(LB02) |
Interface 1/1 | 192.168.20.250/24 | 192.168.20.249/24 |
設定確認
メニュー「System」-「Network」-「IPs」へと進み、IPアドレス設定を確認します。
- LB01
- LB02
VRRP設定(Interface 1/1側)
冗長ゲートウェイとなるロードバランサーのVRRP設定内容について以下に記載致します。
VRRP設定前に、必ずカスタマポータル上でVRRP通信許可設定を実施いただく必要があります。
詳しくは、 VRRPによる冗長化設定 をご参照ください。
以下のパラメータでVMAC設定を行ってください。
設定項目 | 設定値(LB01) | 設定値(LB02) |
VRID | 40 | 40 |
Priority値 | 200 | 100 |
Preemption | チェックします | チェックします |
続いて Virtual IPを設定し、先ほど作成したVMACにバインドします。
設定項目 | 設定値(LB01) | 設定値(LB02) |
VirtualIP | 192.168.20.251/24 | 192.168.20.251/24 |
Netmask | 255.255.255.0 | 255.255.255.0 |
IP Type | Virtual IP | Virtual IP |
Virtual Router ID | 40 | 40 |
Traffic Domain | 10 | 10 |
設定確認
メニュー「System」-「Network」-「IPs」-「IPV4s」へと進み、VirtualIP設定を確認します。
- LB01
- LB02
設定確認
メニュー「System」-「Network」-「VMAC」へと進み、VRRP設定を確認します。
- LB01
- LB02
ルーティング設定
ロードバランサーに直接接続されていないネットワークへのルーティングとしてデフォルトゲートウェイを設定します。
ネクストホップはファイアウォールのロードバランサー側のVRRP IPアドレスを指定します。
設定項目 | 設定値(LB01) | 設定値(LB02) |
宛先 | 0.0.0.0 | 0.0.0.0 |
サブネットマスク | 0.0.0.0 | 0.0.0.0 |
ゲートウェイアドレス | 192.168.20.254 | 192.168.20.254 |
Traffic Domain | 10 | 10 |
注釈
- デフォルトゲートウェイ設定はカスタマポータル以外で設定することはできません。
設定確認
メニュー「System」-「Network」-「Routes」へと進み、ルーティング設定を確認します。
- LB01 LB02 共通設定項目
仮想Webサーバの登録設定
通信の振り分け先となる仮想Webサーバをロードバランサーに登録します。
使用するパラメータは以下の通りです。
設定項目 | 設定値(LB01,LB02共通) | 設定値(LB01,LB02共通) |
Name | Web-server-01 | Web-server-02 |
IPAddress | 192.168.20.11/24 | 192.168.20.12/24 |
Traffic Domain | 10 | 10 |
設定確認
メニュー「Traffic Management」-「Load Balancing」-「Servers」へと進み、仮想Webサーバ設定を確認します。
- LB01 LB02 共通設定項目
サービスグループ設定
通信の振り分け先となる仮想Webサーバをロードバランサーに登録します。
使用するパラメータは以下の通りです。
設定項目 | 設定値(LB01) | 設定値(LB02) |
Service Name | HTTP | HTTP |
EXisting Server | Web-server-01(192.168.20.11)
Web-server-02(192.168.20.12)
|
Web-server-01(192.168.20.11)
Web-server-02(192.168.20.12)
|
Protocol | HTTP | HTTP |
Port | 80 | 80 |
Monitors | http | http |
Traffic Domain | 10 | 10 |
設定確認
メニュー「Traffic Management」-「Load Balancing」-「Service Group」へと進み、右メニューに表示された登録済みのサービスグループをダブルクリックし、設定を確認します。
- LB01 LB02 共通設定項目
Service Group Members
上記画像の A をクリックし、振り分け先となるの仮想Webサーバ設定を確認します。
Monitors
上記画像の B をクリックし、Monitorが設定されていることを確認します。
注釈
- クライアントのIPアドレスは、バランシングされる際にロードバランサーのIPアドレスにSNAT変換されます。この設定はデフォルトで有効です。
- WebサーバにクライアントのIPアドレスを通知したい場合は X-Forwarded-For機能 をご利用ください。この設定はデフォルトで無効です。
バーチャルサーバ設定
実際に外部から通信する宛先となるバーチャルサーバの設定を行います。
HTTP通信用バーチャルサーバ設定
外部からHTTP通信を行うバーチャルサーバの設定を行います。
使用するパラメータは以下の通りです。
設定項目 | 設定値(LB01) | 設定値(LB02) |
Name | http-vserver | http-vserver |
Protocol | HTTP | HTTP |
IP Address Type | IP Address | IP Address |
IP Address | 192.168.200.100 | 192.168.200.100 |
Port | 80 | 80 |
Traffic Domain | 10 | 10 |
設定確認
メニュー「Traffic Management」-「Load Balancing」-「Virtual Server」へと進み、右メニューに表示された登録済みのサービスグループ名「http-vserver」をダブルクリックし、設定を確認します。
- LB01 LB02 共通設定項目
Load Balancing Virtual Server Service Group Binding
上記画像の赤枠をクリックし、サービスグループが指定されていることを確認します。
SSLオフロード通信用バーチャルサーバ設定
外部からSSL通信を行うバーチャルサーバの設定を行います。今回はSSLオフロードを使用するため、振り分け先の仮想WebサーバにはHTTP通信が届きます。
使用するパラメータは以下の通りです。
設定項目 | 設定値(LB01) | 設定値(LB02) |
Name | ssl-vserver | ssl-vserver |
Protocol | SSL | SSL |
IP Address Type | IP Address | IP Address |
IP Address | 192.168.200.200 | 192.168.200.200 |
Port | 443 | 443 |
Server Certificate | ia-example.jp | ia-example.jp |
CA Certificate | example.jp | example.jp |
Traffic Domain | 10 | 10 |
注釈
- SSLサーバ証明書は必ず認証局が発行したものをご使用下さい。
- 設定方法は、証明書を登録する方法 、バーチャルサーバのプロトコルとしてSSLを使用する方法 をご確認ください。
設定確認
メニュー「Traffic Management」-「Load Balancing」-「Virtual Server」へと進み、右メニューに表示された登録済みのサービスグループ名「ssl-vserver」をダブルクリックし、設定を確認します。
- LB01 LB02 共通設定項目
Load Balancing Virtual Server Service Group Binding
上記画像の A をクリックし、サービスグループが指定されていることを確認します。
SSL Virtual Server Service Certificate Binding
上記画像の B をクリックし、SSLサーバ証明書が設定されていることを確認します。
SSL Virtual Server CA Certificate Binding
上記画像の C をクリックし、CA証明書が設定されていることを確認します。
サーバ振り分け方式(ROUND ROBIN)の設定
2台のWEBサーバにクライアントからのアクセスをラウンドロビン通信で分散する設定を行います。
注釈
- 設定方法は、ROUND ROBIN方式の設定 をご確認ください。
これでロードバランサーの設定が完了しました。
10.3.2.4. 通信の流れ¶
正常時はFW-01、LB-01を経由して通信を行います。
外部Client、信頼されたClientからWebサーバへアクセスできることを確認します。
正常通信時の状態確認
正常通信時のファイアウォールの状態は以下のように確認できます。
- VRRPの状態
FW-01 が Master であること。
user-admin@FW-01:~$ show vrrp
RFC Addr Last Sync
Interface Group State Compliant Owner Transition Group
--------- ----- ----- --------- ----- ---------- -----
dp0s4 11 MASTER dp0vrrp2 no 2d18h47m32s test-b
dp0s5 21 MASTER dp0vrrp1 no 2d18h47m32s test-b
dp0s6 31 MASTER dp0vrrp3 no 2d18h47m32s test-b
FW-02 が Backup であること。
user-admin@FW-02:~$ show vrrp
RFC Addr Last Sync
Interface Group State Compliant Owner Transition Group
--------- ----- ----- --------- ----- ---------- -----
dp0s4 11 BACKUP dp0vrrp3 no 2d18h48m34s test-b
dp0s5 21 BACKUP dp0vrrp2 no 2d18h48m34s test-b
dp0s6 31 BACKUP dp0vrrp1 no 2d18h48m34s test-b
正常通信時のロードバランサーの状態は以下のように確認できます。
- VRRPの状態
メニュー「System」-「Network」-「VMAC」へと進み、VRRP設定を確認します。
LB-01 が Master であること。
LB-02 が Backup であること。
- バーチャルサーバの状態
メニュー「Traffic Management」-「Load Balancing」-「Virtual Servers」-「statistics」へと進み、バーチャルサーバの状態がそれぞれUPであることを確認します。
Clientの接続確認
外部Clientから HTTP、HTTPSアクセスを行います。
- HTTP/HTTPSアクセス(それぞれ2回アクセス)[OK]
バーチャルサーバ「http-vserver」「ssl-vserver」へヒットし「web-server01,02」 に振り分けられていることを確認できます。
外部Clientのブラウザ画面(HTTPアクセス)
外部Clientのブラウザ画面(HTTPSアクセス)
信頼されたClientから HTTP、HTTPSアクセスを行います。
- HTTP/HTTPSアクセス(それぞれ2回アクセス)[OK]
バーチャルサーバ「http-vserver」「ssl-vserver」へヒットし「web-server01,02」 に振り分けられていることを確認できます。
信頼されたClientのブラウザ画面(HTTPアクセス)
信頼されたClientのブラウザ画面(HTTPSアクセス)
以上で正常時の確認を終了します。
10.3.2.5. ファイアウォール障害発生時の通信の流れ¶
障害発生時は FW-02 にルートが切替わります。
注釈
インスタンス障害を想定した試験方法として、本動作確認ではFW-01でVRRPを設定しているdp0s5とdp0s6の両方の
「VRRP を一時的に無効化」する手法を採用しております。
同等の障害を想定した試験方法としてFW-01に対し「ファイアウォールの再起動」を実施する手法がございます。
FW-01が起動した際にVRRPのMASTERがFW-01に戻るため切り替わり状態を長時間確認したい場合には適していないため、
本動作確認では採用しておりません。
任意の vrrp-group を停止/再開するコマンドは以下の通りです。
# 停止
set interfaces dataplane [INTERFACE NAME] vrrp vrrp-group [GROUP ID] disable
# 再開
delete interfaces dataplane [INTERFACE NAME] vrrp vrrp-group [GROUP ID] disable
障害発生時の状態確認
障害発生時のファイアウォールの状態は以下のように確認できます。
- VRRPの状態
FW-01 の VRRP が起動していないこと。
user-admin@FW-01:~$ show vrrp
RFC Addr Last Sync
Interface Group State Compliant Owner Transition Group
--------- ----- ----- --------- ----- ---------- -----
注釈
- FW-01 のVRRPは停止中のため、状態は表示されません。
FW-02 が Master であること。
user-admin@FW-02:~$ show vrrp
RFC Addr Last Sync
Interface Group State Compliant Owner Transition Group
--------- ----- ----- --------- ----- ---------- -----
dp0s4 11 MASTER dp0vrrp3 no 3m0s test-b
dp0s5 21 MASTER dp0vrrp2 no 4m1s test-b
dp0s6 31 MASTER dp0vrrp1 no 3m57s test-b
注釈
- ロードバランサーの状態確認は正常時と変わりありませんので省略させていただきます。
Clientの接続確認
ファイアウォール障害発生時でも問題なくアクセスが可能なことを確認しております。
外部Clientから HTTP、HTTPSアクセスを行います。
- HTTP/HTTPSアクセス(それぞれ2回アクセス)[OK]
バーチャルサーバ「http-vserver」「ssl-vserver」へヒットし「web-server01,02」 に振り分けられていることを確認できます。
外部Clientのブラウザ画面(HTTPアクセス)
外部Clientのブラウザ画面(HTTPSアクセス)
信頼されたClientから HTTP、HTTPSアクセスを行います。
- HTTP/HTTPSアクセス(それぞれ2回アクセス)[OK]
バーチャルサーバ「http-vserver」「ssl-vserver」へヒットし「web-server01,02」 に振り分けられていることを確認できます。
信頼されたClientのブラウザ画面(HTTPアクセス)
信頼されたClientのブラウザ画面(HTTPSアクセス)
以上で、ファイアウォール障害発生時の確認を終了します。
10.3.2.6. ロードバランサー障害発生時の通信の流れ¶
障害発生時は LB-02 にルートが切替わります。
注釈
ロードバランサーはファイアウォールとは異なり製品仕様として手動でVRRPを無効化することができません。そのため、今回はPriority値変更にてインスタンス障害を再現しております。
その他、強制的にVRRP切り替わりを行う方法としては以下がございます。
- すべてのVirtual IPをdisableにし、VMAC設定を削除する。
- インスタンスの再起動(Preemptionを有効にしている場合はPriorityに従い切戻りが発生いたします)
※VMAC削除でVRRPを停止し全IPリソースを停止させておくことで確実に切替り先で応答可能。
障害発生時の状態確認
障害発生時のLBの状態は以下のように確認できます。
※VRRPの切り替えのためLB01のPriority値を200から90へ変更しています。
- VRRPの状態
メニュー「System」-「Network」-「VMAC」へと進み、VRRP設定を確認します。
LB-01 が Backup であること。
LB-02 が Master であること。
- バーチャルサーバの状態
メニュー「Traffic Management」-「Load Balancing」-「Virtual Servers」-「statistics」へと進み、バーチャルサーバの状態がそれぞれUPであることを確認します。
Clientの接続確認
ロードバランサー障害発生時でも問題なくアクセスが可能なことを確認しております。
外部Clientから HTTP、HTTPSアクセスを行います。
- HTTP/HTTPSアクセス(それぞれ2回アクセス)[OK]
バーチャルサーバ「http-vserver」「ssl-vserver」へヒットし「web-server01,02」 に振り分けられていることを確認できます。
外部Clientのブラウザ画面(HTTPアクセス)
外部Clientのブラウザ画面(HTTPSアクセス)
信頼されたClientから HTTP、HTTPSアクセスを行います。
- HTTP/HTTPSアクセス(それぞれ2回アクセス)[OK]
バーチャルサーバ「http-vserver」「ssl-vserver」へヒットし「web-server01,02」 に振り分けられていることを確認できます。
信頼されたClientのブラウザ画面(HTTPアクセス)
信頼されたClientのブラウザ画面(HTTPSアクセス)
以上でロードバランサー障害発生時の確認を終了します。