1.2. ファイアウォール/ロードバランサー構成例(ワンアーム)¶
1.2.1. 前提条件¶
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オフロードを行います。
- SDPFのロードバランサー(NetScalerVPX)では、1つのインターフェイスに対して登録可能なVRRP設定(仮想IPアドレスとVRRPグループIDのペア)は1つとなります。従って、複数のVRRPグループの登録は出来ません。代替方法としてVRRP用に登録したVirtual IP とは別のセグメントに、仮想IPアドレスを登録し、それを振り分け対象IPアドレスに設定することで複数VIPを冗長化させることが可能です。本構成はこちらの方法を利用して冗長構成をとっております。
設定概念のイメージ
1.2.2. システム構成図¶
システムの全体構成図になります。外部セグメントはインターネットからのアクセスを想定しており、ファイアウォールのゾーンでuntrust設定にしています。 その他のファイアウォールインターフェイスは全て組織内のネットワークを想定していますのでtrustゾーンに設定しています。
注釈
その他のコンポーネントの利用OSやVersionは以下のとおりです。
- WebServer01,02 CentOS7.3.1611
- Webサーバ Apache 2.4.6
- Client端末 Windows Server 2012R2
1.2.3. ファイアウォール設定の内容¶
ファイアウォールインターフェイス設定
注釈
vSRXへのインターフェイスへのIPアドレス設定前に、カスタマポータル画面で利用インターフェイスとIPアドレス設定をお願いします。
- インターフェイス(ge-0/0/3)は「FWセグメント」に接続するインターフェイスとして設定します。
- インターフェイス(ge-0/0/1)は「信頼されたセグメント」に接続するインターフェイスとして設定します。
- インターフェイス(ge-0/0/2)は「外部セグメント」に接続するインターフェイスとして設定します。
- FW-01
# set interfaces ge-0/0/1 unit 0 family inet address 192.168.0.253/24
# set interfaces ge-0/0/2 unit 0 family inet address 10.0.10.253/24
# set interfaces ge-0/0/3 unit 0 family inet address 192.168.20.253/24
- FW-02
# set interfaces ge-0/0/1 unit 0 family inet address 192.168.0.252/24
# set interfaces ge-0/0/2 unit 0 family inet address 10.0.10.252/24
# set interfaces ge-0/0/3 unit 0 family inet address 192.168.20.252/24
ファイアウォールインターフェイスをゾーンに割り当て
「FWセグメント」ならびに「信頼されたセグメント」に接続するインターフェイス(ge-0/0/1.0,ge-0/0/3.0)は「trust」ゾーンに設定します。 「外部セグメント」に接続するインターフェイス(ge-0/0/2.0)は「untrust」ゾーンに設定します。 インターフェイスに着信する通信に関しての設定は、「untrust」インターフェイスではVRRPパケットとPINGに限定し「trust」への着信パケットは全てを許可する設定にします。
注釈
ファイアウォールのインターフェイスではVRRPを利用しておりますので、VRRPの管理パケットを着信するために必ずVRRPは許可する設定をお願いします。 その他のルールについては、お使いの環境にあわせた形で必要なルールを設定してください。
- FW-01/FW-02
# set security zones security-zone trust interfaces ge-0/0/1.0
# set security zones security-zone trust interfaces ge-0/0/3.0
# set security zones security-zone trust host-inbound-traffic system-services all
# set security zones security-zone trust host-inbound-traffic protocols all
# set security zones security-zone untrust interfaces ge-0/0/2.0
# set security zones security-zone untrust host-inbound-traffic system-services ping
# set security zones security-zone untrust host-inbound-traffic protocols vrrp
VRRP設定
- FW-01
インターフェイス(ge-0/0/1)のVRRP設定
# set interfaces ge-0/0/1 unit 0 family inet address 192.168.0.253/24 vrrp-group 20 virtual-address 192.168.0.254
# set interfaces ge-0/0/1 unit 0 family inet address 192.168.0.253/24 vrrp-group 20 priority 110
# set interfaces ge-0/0/1 unit 0 family inet address 192.168.0.253/24 vrrp-group 20 preempt
# set interfaces ge-0/0/1 unit 0 family inet address 192.168.0.253/24 vrrp-group 20 accept-data
インターフェイス(ge-0/0/2)のVRRP設定
# set interfaces ge-0/0/2 unit 0 family inet address 10.0.10.253/24 vrrp-group 10 virtual-address 10.0.10.254
# set interfaces ge-0/0/2 unit 0 family inet address 10.0.10.253/24 vrrp-group 10 priority 110
# set interfaces ge-0/0/2 unit 0 family inet address 10.0.10.253/24 vrrp-group 10 preempt
# set interfaces ge-0/0/2 unit 0 family inet address 10.0.10.253/24 vrrp-group 10 accept-data
インターフェイス(ge-0/0/3)のVRRP設定
# set interfaces ge-0/0/3 unit 0 family inet address 192.168.20.253/24 vrrp-group 50 virtual-address 192.168.20.254
# set interfaces ge-0/0/3 unit 0 family inet address 192.168.20.253/24 vrrp-group 50 priority 110
# set interfaces ge-0/0/3 unit 0 family inet address 192.168.20.253/24 vrrp-group 50 preempt
# set interfaces ge-0/0/3 unit 0 family inet address 192.168.20.253/24 vrrp-group 50 accept-data
- FW-02
インターフェイス(ge-0/0/1)のVRRP設定
# set interfaces ge-0/0/1 unit 0 family inet address 192.168.0.252/24 vrrp-group 20 virtual-address 192.168.0.254
# set interfaces ge-0/0/1 unit 0 family inet address 192.168.0.252/24 vrrp-group 20 priority 90
# set interfaces ge-0/0/1 unit 0 family inet address 192.168.0.252/24 vrrp-group 20 preempt
# set interfaces ge-0/0/1 unit 0 family inet address 192.168.0.252/24 vrrp-group 20 accept-data
インターフェイス(ge-0/0/2)のVRRP設定
# set interfaces ge-0/0/2 unit 0 family inet address 10.0.10.252/24 vrrp-group 10 virtual-address 10.0.10.254
# set interfaces ge-0/0/2 unit 0 family inet address 10.0.10.252/24 vrrp-group 10 priority 90
# set interfaces ge-0/0/2 unit 0 family inet address 10.0.10.252/24 vrrp-group 10 preempt
# set interfaces ge-0/0/2 unit 0 family inet address 10.0.10.252/24 vrrp-group 10 accept-data
インターフェイス(ge-0/0/3)のVRRP設定
# set interfaces ge-0/0/3 unit 0 family inet address 192.168.20.252/24 vrrp-group 50 virtual-address 192.168.20.254
# set interfaces ge-0/0/3 unit 0 family inet address 192.168.20.252/24 vrrp-group 50 priority 90
# set interfaces ge-0/0/3 unit 0 family inet address 192.168.20.252/24 vrrp-group 50 preempt
# set interfaces ge-0/0/3 unit 0 family inet address 192.168.20.252/24 vrrp-group 50 accept-data
ファイアウォールフィルタの設定
外部セグメント側から来る通信のアクセス制御を行うルールを作成します。
- 基本的にすべて拒否
- FW-01とFW-02間のVRRP通信は許可
- Webアクセス用に利用するIPアドレス(10.0.10.254)へは、HTTP(80),HTTPS(443)通信のみ許可
- FW-01
# set firewall filter WEB-ACCESS term 1 from destination-address 10.0.10.254/32
# set firewall filter WEB-ACCESS term 1 from protocol tcp
# set firewall filter WEB-ACCESS term 1 from destination-port http
# set firewall filter WEB-ACCESS term 1 from destination-port https
# set firewall filter WEB-ACCESS term 1 then accept
# set firewall filter WEB-ACCESS term 2 from source-address 10.0.10.252/32
# set firewall filter WEB-ACCESS term 2 from protocol vrrp
# set firewall filter WEB-ACCESS term 2 then accept
# set firewall filter WEB-ACCESS term 3 then discard
- FW-02
# set firewall filter WEB-ACCESS term 1 from destination-address 10.0.10.254/32
# set firewall filter WEB-ACCESS term 1 from protocol tcp
# set firewall filter WEB-ACCESS term 1 from destination-port http
# set firewall filter WEB-ACCESS term 1 from destination-port https
# set firewall filter WEB-ACCESS term 1 then accept
# set firewall filter WEB-ACCESS term 2 from source-address 10.0.10.253/32
# set firewall filter WEB-ACCESS term 2 from protocol vrrp
# set firewall filter WEB-ACCESS term 2 then accept
# set firewall filter WEB-ACCESS term 3 then discard
作成したFWルールをインターフェイスに適用します。
- FW-01/FW-02
# set interfaces ge-0/0/2 unit 0 family inet filter input WEB-ACCESS
NATの設定
外部セグメントからFWに対するHTTP、HTTPSアクセスをロードバランサーに設定されているバーチャルサーバーのアドレスへ変更するNAT設定を行います。
- FW-01/FW-02
# set security nat destination pool HTTP_NAT address 192.168.200.100/32
# set security nat destination pool HTTPS_NAT address 192.168.200.200/32
# set security nat destination rule-set 1 from zone untrust
# set security nat destination rule-set 1 rule 1 match destination-address 10.0.10.254/32
# set security nat destination rule-set 1 rule 1 match destination-port 80
# set security nat destination rule-set 1 rule 1 match protocol tcp
# set security nat destination rule-set 1 rule 1 then destination-nat pool HTTP_NAT
# set security nat destination rule-set 1 rule 2 match destination-address 10.0.10.254/32
# set security nat destination rule-set 1 rule 2 match destination-port 443
# set security nat destination rule-set 1 rule 2 match protocol tcp
# set security nat destination rule-set 1 rule 2 then destination-nat pool HTTPS_NAT
セキュリティポリシーの設定
- アドレスブックの作成(FW-01/FW-02)
LBのバーチャルサーバのIPアドレスを定義します。
# set security address-book global address WEB_ADDRESS 192.168.200.0/24
- アプリケーションセットの作成(FW-01/FW-02)
使用するアプリケーションのポート番号をグループ化します。
# set applications application HTTP protocol tcp
# set applications application HTTP destination-port 80
# set applications application HTTPS protocol tcp
# set applications application HTTPS destination-port 443
# set applications application-set WEB-SERVICE application HTTP
# set applications application-set WEB-SERVICE application HTTPS
- ポリシーへの割り当て(FW-01/FW-02)
上記で作成したアドレスブックとアプリケーションセットをゾーンベースファイアウォールのuntrustからtrust方向へ設定します。 その他のuntrustからtrust方向の通信は許可しない設定にします。
# set security policies from-zone untrust to-zone trust policy WEB_ACCESS match source-address any
# set security policies from-zone untrust to-zone trust policy WEB_ACCESS match destination-address WEB_ADDRESS
# set security policies from-zone untrust to-zone trust policy WEB_ACCESS match application WEB-SERVICE
# set security policies from-zone untrust to-zone trust policy WEB_ACCESS then permit
# set security policies from-zone untrust to-zone trust policy ALL-DENY match source-address any
# set security policies from-zone untrust to-zone trust policy ALL-DENY match destination-address any
# set security policies from-zone untrust to-zone trust policy ALL-DENY match application any
# set security policies from-zone untrust to-zone trust policy ALL-DENY then deny
注釈
trustゾーンからの通信に関してはデフォルトで許可するポリシー(default-permit)設定が入っておりますのでそのまま利用します。
ルーティングの設定
ファイアウォールからのバーチャルサーバへのルーティングは、ロードバランサーに設定されているVRRPのVIPをネクストホップとするスタティックルートを作成します。
- FW-01/FW-02
# set routing-options static route 192.168.200.0/24 next-hop 192.168.20.251
設定内容の確認
前述の設定が正しく投入されている場合、以下出力が確認できます。
- FW-01
user01@FW-01> show configuration
(中略)
security {
address-book {
global {
address WEB_ADDRESS 192.168.200.0/24;
}
}
nat {
destination {
pool HTTP_NAT {
address 192.168.200.100/32;
}
pool HTTPS_NAT {
address 192.168.200.200/32;
}
rule-set 1 {
from zone untrust;
rule 1 {
match {
destination-address 10.0.10.254/32;
destination-port {
80;
}
protocol tcp;
}
then {
destination-nat {
pool {
HTTP_NAT;
}
}
}
}
rule 2 {
match {
destination-address 10.0.10.254/32;
destination-port {
443;
}
protocol tcp;
}
then {
destination-nat {
pool {
HTTPS_NAT;
}
}
}
}
}
}
}
policies {
from-zone trust to-zone trust {
policy default-permit {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
from-zone trust to-zone untrust {
policy default-permit {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
from-zone untrust to-zone trust {
policy WEB_ACCESS {
match {
source-address any;
destination-address WEB_ADDRESS;
application WEB-SERVICE;
}
then {
permit;
}
}
policy ALL-DENY {
match {
source-address any;
destination-address any;
application any;
}
then {
deny;
}
}
}
}
zones {
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/1.0;
ge-0/0/3.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
ping;
}
protocols {
vrrp;
}
}
interfaces {
ge-0/0/2.0;
}
}
}
}
interfaces {
ge-0/0/1 {
unit 0 {
family inet {
address 192.168.0.253/24 {
vrrp-group 20 {
virtual-address 192.168.0.254;
priority 110;
preempt;
accept-data;
}
}
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
filter {
input WEB-ACCESS;
}
address 10.0.10.253/24 {
vrrp-group 10 {
virtual-address 10.0.10.254;
priority 110;
preempt;
accept-data;
}
}
}
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 192.168.20.253/24 {
vrrp-group 50 {
virtual-address 192.168.20.254;
priority 110;
preempt;
accept-data;
}
}
}
}
}
}
routing-options {
static {
route 192.168.200.0/24 next-hop 192.168.20.251;
}
}
firewall {
filter WEB-ACCESS {
term 1 {
from {
destination-address {
10.0.10.254/32;
}
protocol tcp;
destination-port [ http https ];
}
then accept;
}
term 2 {
from {
source-address {
10.0.10.252/32;
}
protocol vrrp;
}
then accept;
}
term 3 {
then {
discard;
}
}
}
}
applications {
application HTTP {
protocol tcp;
destination-port 80;
}
application HTTPS {
protocol tcp;
destination-port 443;
}
application-set WEB-SERVICE {
application HTTP;
application HTTPS;
}
}
- FW-02
user01@FW-02> show configuration
(中略)
security {
address-book {
global {
address WEB_ADDRESS 192.168.200.0/24;
}
}
nat {
destination {
pool HTTP_NAT {
address 192.168.200.100/32;
}
pool HTTPS_NAT {
address 192.168.200.200/32;
}
rule-set 1 {
from zone untrust;
rule 1 {
match {
destination-address 10.0.10.254/32;
destination-port {
80;
}
protocol tcp;
}
then {
destination-nat {
pool {
HTTP_NAT;
}
}
}
}
rule 2 {
match {
destination-address 10.0.10.254/32;
destination-port {
443;
}
protocol tcp;
}
then {
destination-nat {
pool {
HTTPS_NAT;
}
}
}
}
}
}
}
policies {
from-zone trust to-zone trust {
policy default-permit {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
from-zone trust to-zone untrust {
policy default-permit {
match {
source-address any;
destination-address any;
application any;
}
then {
permit;
}
}
}
from-zone untrust to-zone trust {
policy WEB_ACCESS {
match {
source-address any;
destination-address WEB_ADDRESS;
application WEB-SERVICE;
}
then {
permit;
}
}
policy ALL-DENY {
match {
source-address any;
destination-address any;
application any;
}
then {
deny;
}
}
}
}
zones {
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
ge-0/0/1.0;
ge-0/0/3.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
ping;
}
protocols {
vrrp;
}
}
interfaces {
ge-0/0/2.0;
}
}
}
}
interfaces {
ge-0/0/1 {
unit 0 {
family inet {
address 192.168.0.252/24 {
vrrp-group 20 {
virtual-address 192.168.0.254;
priority 90;
preempt;
accept-data;
}
}
}
}
}
ge-0/0/2 {
unit 0 {
family inet {
filter {
input WEB-ACCESS;
}
address 10.0.10.252/24 {
vrrp-group 10 {
virtual-address 10.0.10.254;
priority 90;
preempt;
accept-data;
}
}
}
}
}
ge-0/0/3 {
unit 0 {
family inet {
address 192.168.20.252/24 {
vrrp-group 50 {
virtual-address 192.168.20.254;
priority 90;
preempt;
accept-data;
}
}
}
}
}
}
routing-options {
static {
route 192.168.200.0/24 next-hop 192.168.20.251;
}
}
firewall {
filter WEB-ACCESS {
term 1 {
from {
destination-address {
10.0.10.254/32;
}
protocol tcp;
destination-port [ http https ];
}
then accept;
}
term 2 {
from {
source-address {
10.0.10.253/32;
}
protocol vrrp;
}
then accept;
}
term 3 {
then {
discard;
}
}
}
}
applications {
application HTTP {
protocol tcp;
destination-port 80;
}
application HTTPS {
protocol tcp;
destination-port 443;
}
application-set WEB-SERVICE {
application HTTP;
application HTTPS;
}
}
1.2.4. ロードバランサー設定の内容¶
ロードバランサーインターフェイス設定
設定内容の確認のためにインターフェイス設定を示しておりますが、実際にはインターフェイス設定はカスタマポータル上で設定して頂く必要があります。
注釈
- インターフェイス設定はカスタマポータル以外で設定することはできません。
設定項目 | 設定値(LB01) | 設定値(LB02) |
---|---|---|
Interface 1/1 | 192.168.20.250/24 | 192.168.20.249/24 |
設定確認
- LB01
- LB02
VRRP設定(Interface 1/1側)
以下のパラメータでVMAC設定を行ってください。
設定項目 | 設定値(LB01) | 設定値(LB02) |
---|---|---|
VRID | 40 | 40 |
Priority値 | 110 | 90 |
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 |
設定確認(Virtual IP)
メニュー「System」-「Network」-「IPs」-「IPV4s」へと進み、VirtualIP設定を確認します。
- LB01
- LB02
設定確認(VRRP)
メニュー「System」-「Network」-「VMAC」へと進み、VRRP設定を確認します。
- LB01
- LB02
ルーティング設定
設定項目 | 設定値(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サーバの登録設定
設定項目 | 設定値(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 |
注釈
- 設定方法の詳細は、サーバを登録・編集・削除する機能 をご確認ください。
設定確認
- LB01 LB02 共通設定項目
サービスグループ設定
設定項目 | 設定値(LB01) | 設定値(LB02) |
---|---|---|
Service Name | HTTP | HTTP |
EXisting Server | Web-server-01(192.168.20.11) | Web-server-01(192.168.20.11) |
Web-server-02(192.168.20.12) | 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 Servers」へと進み、右メニューに表示された登録済みのサービスグループ名「http-vserver」をダブルクリックし、設定を確認します。
- LB01 LB02 共通設定項目
Load Balancing Virtual Server Service Group Binding
上記画像の赤枠をクリックし、サービスグループが指定されていることを確認します。
SSLオフロード通信用バーチャルサーバ設定
設定項目 | 設定値(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 | WEBSERVER-keyPair | WEBSERVER-keyPair |
CA Certificate | INTERCA-keyPair | INTERCA-keyPair |
Traffic Domain | 10 | 10 |
注釈
- SSLサーバ証明書は必ず認証局が発行したものをご使用下さい。
- 設定方法は、証明書を登録する方法 、SSLオフロードの設定 をご確認ください。
設定確認
メニュー「Traffic Management」-「Load Balancing」-「Virtual Servers」へと進み、右メニューに表示された登録済みのサービスグループ名「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方式の設定 をご確認ください。
これでロードバランサーの設定が完了しました。
1.2.5. 通信の流れ¶
正常通信時の状態確認
正常通信時のファイアウォールの状態は以下のように確認できます。
- VRRPの状態
FW-01 が Master であることを確認します。
user01@FW-01> show vrrp
Interface State Group VR state VR Mode Timer Type Address
ge-0/0/1.0 up 20 master Active A 0.022 lcl 192.168.0.253
vip 192.168.0.254
ge-0/0/2.0 up 10 master Active A 0.669 lcl 10.0.10.253
vip 10.0.10.254
ge-0/0/3.0 up 50 master Active A 0.727 lcl 192.168.20.253
vip 192.168.20.254
FW-02 が Backup であることを確認します。
user01@FW-02> show vrrp
Interface State Group VR state VR Mode Timer Type Address
ge-0/0/1.0 up 20 backup Active D 2.909 lcl 192.168.0.252
vip 192.168.0.254
mas 192.168.0.253
ge-0/0/2.0 up 10 backup Active D 2.992 lcl 10.0.10.252
vip 10.0.10.254
mas 10.0.10.253
ge-0/0/3.0 up 50 backup Active D 3.279 lcl 192.168.20.252
vip 192.168.20.254
mas 192.168.20.253
正常通信時のロードバランサーの状態は以下のように確認できます。
- 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アクセス)
以上で正常時の確認を終了します。
1.2.6. ファイアウォール障害発生時の通信の流れ¶
障害発生時は FW-02 にルートが切替わります。
障害発生時の状態確認
障害発生時のファイアウォールの状態は以下のように確認できます。
- VRRPの状態
FW-01 の VRRP が起動していないことを確認します。
user01@FW-01> show vrrp
VRRP is not running
注釈
FW-01 のVRRPは停止中のため、状態は表示されません。
FW-02 が Master であることを確認します。
user01@FW-02> show vrrp
Interface State Group VR state VR Mode Timer Type Address
ge-0/0/1.0 up 20 master Active A 0.724 lcl 192.168.0.252
vip 192.168.0.254
ge-0/0/2.0 up 10 master Active A 0.301 lcl 10.0.10.252
vip 10.0.10.254
ge-0/0/3.0 up 50 master Active A 0.853 lcl 192.168.20.252
vip 192.168.20.254
注釈
ロードバランサーの状態確認は正常時と変わらないので省略します。
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アクセス)
以上で、ファイアウォール障害発生時の確認を終了します。
1.2.7. ロードバランサー障害発生時の通信の流れ¶
障害発生時は LB-02 にルートが切替わります。
注釈
ロードバランサーはファイアウォールとは異なり製品仕様として手動でVRRPを無効化することができません。そのため、今回はPriority値変更にてインスタンス障害を再現しております。
その他、強制的にVRRP切り替わりを行う方法としては以下がございます。
- すべてのVirtual IPアドレスをdisableにし、VMAC設定を削除する。
- インスタンスの再起動(Preemptionを有効にしている場合はPriorityに従い切戻りが発生いたします)
※VMAC削除でVRRPを停止し全IPリソースを停止させておくことで確実に切替り先で応答可能。
障害発生時の状態確認
障害発生時のロードバランサーの状態は以下のように確認できます。
※VRRPの切り替えのためLB01のPriority値を110から50へ変更しています。LB-02のPriority値は90です。
- VRRPの状態
メニュー「System」-「Network」-「VMAC」へと進み、VRRP設定を確認します。
LB-01 が Backup であることを確認します。
LB-02 が Master であることを確認します。
- バーチャルサーバの状態
メニュー「Traffic Management」-「Load Balancing」-「Virtual Servers」-「statistics」へと進み、バーチャルサーバの状態がそれぞれUPであることを確認します。
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アクセス)
以上でロードバランサー障害発生時の確認を終了します。