いろいろな設定事例¶
バランシング設定¶
ロードバランサーには、以下の2つの代表的なバランシング設定がございます。
DSR(Direct Server Return)構成
ソースNAT構成
それぞれのバランシング設定の特徴をご紹介します。
DSR構成¶
クライアントからのリクエストをロードバランサーが受信
ロードバランサーはバランシングを行い、サーバーにリクエストを転送する
サーバーはレスポンスを直接クライアントに返す
ソースNAT構成¶
クライアントからのリクエストをロードバランサーが受信
ロードバランサーはバランシングを行い、サーバーにリクエストを転送する
サーバーはレスポンスをロードバランサーに返す
ロードバランサーは返ってきたレスポンスをクライアントに返す
本書で紹介する設定事例¶
本書では、主にHTTPSのコンテンツの公開を目的とした、DSR構成とソースNAT構成それぞれのバランシング設定事例をご紹介しています。
DSR構成によるHTTPSバランシング設定例¶
DSR構成によるHTTPSバランシング設定に必要な設定について説明していきます。
重要
事前にウェブサーバーの構築とウェブサーバーへのSSL証明書のインストールを行ってください。
この手順では、以下の環境を想定しています。
サーバーのグローバル側インターフェースがボンディング構成であること
サーバーとロードバランサー間の通信がアクセス制限などで妨げられないこと
MBF(MAC base forwarding)を有効にする¶
DSRを構成するときは「MBF(MAC base forwarding)」を有効にします。
- [Configuration] - [System] - [Settings] - [Configure Modes] を選択します。
- [MAC based forwarding] をチェックし、[OK] を選択します。
サーバーの作成¶
- [Configuration] - [Traffic Management] - [Load Balancing] - [Servers] を選択します。
- [Add] を選択して作成画面に入り、[Create Server] に以下の必須項目を入力し、[Create] を選択します。
Name
任意の名称を入力します
IP Address / Domain Name
IP Address を選択します
IPAddress
物理サーバーのIPアドレスを入力します
- これを必要なサーバーの数だけ繰り返します。
サービスの作成¶
- [Configuration] - [Traffic Management] - [Load Balancing] - [Services] を選択します。
- [Add] を選択して作成画面に入り、[Basic Settings] に以下の必須項目を入力し、[OK] を選択します。
Service Name
任意の名称を入力します
New Server / Existing Server
「Existing Server」を選択します
Server
作成済みのサーバーを選択します
Protocol
「ANY」を選択します(DSR構成の場合、プロトコルに関わらずANYを選択します)Port
「443」を入力します
- 画面の遷移後、[Service Settings] の項目右の編集ボタンをクリックします。
- 編集画面となるので、[Use Source IP Address] をチェックし、[OK] を選択します。
- 「Use Source IP Address YES」となったことを確認して、[Done] を選択して作成を完了します。
- これを必要なサービスの数だけ繰り返します。
サービスのモニタリングをhttpsに変更する¶
- [Configuration]タブ - [Traffic Management] - [Load Balancing] - [Services] と選択します。
- 設定変更するサービスにチェックを入れ [Edit] をクリックします。
- 次の画面 [Load Balancing Service] を、[Monitors]項目まで下へスクロールします。
- 「(数字) service to Load Balancing Monitor Binding」をクリックします。
- 次の画面 [Load Balancing Monitor Binding] から「ping-default」をチェックし[Add Binding]をクリックします。
- 「Select Monitor*」- [Click to select>]を押下するとモニターの一覧に遷移します。
- 一覧からビルトインモニターの「https」をチェックして、[Select] を選択します。
- [Load Balancing Monitor Binding] へ戻るので、「Select Monitor*」項目に「https」が選択されていることを確認してから「State」をチェックして [Bind] で反映します。
- これを必要なサービスの数だけ繰り返します。
Note
バーチャルサーバーの作成¶
クライアントにサービスを提供するためのバーチャルサーバーを作成します。
- [Configuration] - [Traffic Management] - [Load Balancing] - [Virtual Servers] を選択します。
- [Add] を選択して作成画面に入り、[Basic Settings] に以下の必須項目を入力し、[OK] を選択します。
Name
任意の名称を入力します
Protocol
「ANY」を選択します(DSR構成の場合、プロトコルに関わらずANYを選択します)IP Address Type
「IP Address」 を選択します
IP Address
任意のIPアドレスを入力します
Port
「443」を入力します
Redirection Mode
「MAC Based」を選択します
- つぎに、[Services and Service Groups」項目の [No Load Balancing Virtual Server Service Binding]を選択します。
- [Select Service] で [Click to select] を選択、[Service] の画面となるので、必要なサービスをチェックして [Select] を選択、[Bind] を選択して紐づけます。
- [* Load Balancing Virtual Server Service Bindings] となったことを確認して、[Continue] を選択します。
- [Method] の項目右の編集ボタンをクリックします。
- [Load Balancing Method] のプルダウンメニューから [SOURCEIPHASH] を選択し、[OK] を選択します。
- 「Load Balancing Method SOURCEIPHASH」となったことを確認し、に [Persistence] の項目右の編集ボタンをクリックします。
- つぎに、以下の項目を入力し、[OK] を選択します。
SOURCEIP / OTHERS
「SOURCEIP」を選択します
Time-out (mins)
任意のタイムアウト時間を入力します(初期値は2分です)
- 「Persistence SOURCEIP」となったことを確認し、次に [Traffic Settings] の項目右の編集ボタンをクリックします。
- 編集画面で、[Sessionless load balancing] をチェックし、[OK] を選択します。
- 「Sessionless load balancing ENABLE」となったことを確認して、[Done] を選択して作成を完了します。
Note
Note
OSの設定¶
「DSR構成」では、バランシングの対象となる物理サーバーに以下の設定を行う必要があります。
ループバックインターフェース、あるいはダミーインターフェースにバーチャルサーバーのIPアドレスを設定
arpアナウンスの設定
CentOS 8 / CentOS Stream 8 / Red Hat Enterprise Linux 8 / AlmaLinux 8¶
ダミーインターフェースにバーチャルサーバーIPアドレスを設定します。
- ダミーインターフェースの設定を行います。
# nmcli connection add type dummy ifname [ダミーインターフェース名] ipv4.method manual ipv4.addresses [バーチャルサーバーIPアドレス(IPv4)]/32 ipv6.method ignore
- 物理サーバーがバーチャルサーバー宛のARPに応答しないようにするために、Non-ARPingの設定を行います。sysctl.confファイル設定を記述します。
net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2
- sysctl.confの設定を反映させます。
# sudo sysctl -p
- ネットワークを再起動します。
# systemctl restart network
- ネットワークが起動し、設定が反映されていることを確認します。
# ip addr show
Ubuntu 18.04 / Ubuntu 20.04¶
ループバックインターフェースにバーチャルサーバーIPアドレスを設定します。
- netplanの設定ファイル中のethernets項目にループバックインターフェースの設定を追加します。
ethernets: lo: addresses: - [バーチャルサーバーIPアドレス(IPv4)]/32 eth0: dhcp4: no eth1: dhcp4: no
- 物理サーバーがバーチャルサーバー宛のARPに応答しないようにするために、Non-ARPingの設定を行います。sysctl.confファイルに設定を記述します。
net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2
- sysctl.confの設定を反映させます。
# sudo sysctl -p
- netplanの設定を反映させます。
# netplan apply
- 設定が反映されていることを確認します。
# ip addr show
CentOS 7 / Red Hat Enterprise Linux 7¶
ループバックインターフェースにバーチャルサーバーのIPアドレスを設定します。
- ループバックインターフェースの設定を行います。
DEVICE=lo:0 IPADDR=[バーチャルサーバーIPアドレス(IPv4)] NETMASK=255.255.255.255 ONBOOT=yes NM_CONTROLLED="no"
- 物理サーバーがバーチャルサーバー宛のARPに応答しないようにするために、Non-ARPingの設定を行います。sysctl.confファイル設定を記述します。
net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2
- sysctl.confの設定を反映させます。
# sudo sysctl -p
- ネットワークを再起動します。
# systemctl restart network
- ネットワークが起動し、設定が反映されていることを確認します。
# ip addr show
ソースNAT構成でのHTTPSバランシング設定例¶
ソースNAT構成によるHTTPSバランシング設定に必要な設定について説明していきます。
重要
事前にウェブサーバーの構築を行ってください。
この手順では、以下の環境を想定しています。
サーバーのグローバル側インターフェースがボンディング構成であること
サーバーとロードバランサー間の通信がアクセス制限などで妨げられないこと
SSLオフロードの有効化¶
ロードバランサーでSSL通信を終端するため、SSLオフロードの有効化が必要となります。
- [Configuration] - [System] - [Settings] - [Configure Basic Features] を選択します。
- [SSL Offloading] をチェックし、[OK] を選択します。
SSL証明書の登録¶
サーバーの作成¶
負荷分散の対象となるサーバーを作成します。
- [Configuration] - [Traffic Management] - [Load Balancing] - [Servers] を選択します。
- [Add] を選択して作成画面に入り、[Create Server] に以下の必須項目を入力し、[Create] を選択します。
Name
任意の名称を入力します
IP Address / Domain Name
「IP Address」を選択します
IPAddress
物理サーバーのIPアドレスを入力します
- これを必要なサーバーの数だけ繰り返します。
サービスグループの作成¶
負荷分散の対象となるサービスグループを作成します。
- [Configuration] - [Traffic Management] - [Load Balancing] - [Service Groups] を選択します。
- [Add] を選択して作成画面に入り、[Basic Settings] に以下の必須項目を入力し、[OK] を選択します。
Name
任意の名称を入力します
Protocol
HTTP を選択します
- 画面の遷移後、[OK] を選択して、一旦作成を完了させます。
- 続いて、作成したサービスグループを選択します。
- 画面の遷移後、Use Proxy Port YES となっていることを確認して、[Settings] の項目右の編集ボタンをクリックします。
- 編集画面となるので、[Insert Client IP Address] をチェックし、Header 項目に [X-Forwarded-For] を入力して [OK] を選択します。
- 次にサーバーをサービスグループに紐づけます。[Service Group Members] の [No Service Group Member] を選択します。
- [Create Service Group Member] に以下の必須項目を入力し、[Create] を選択します。
IP Based / Server Based
Server Based を選択します
Select Server
[Click to select] を選択、[Servers] の画面となるので、必要なサーバー全てをチェックして [Select] を選択します
Port
「80」を入力します
- Service Group Members が紐づけられたことと、Insert Client IP Address Enable、Header X-Forwarded-For となったことを確認して、[Done] を選択して設定を終えます。
Note
サービスグループにhttpモニタリングを設定¶
- [Configuration]タブ - [Traffic Management] - [Load Balancing] - [Service Groups] と選択します。
- 設定変更するサービスグループにチェックを入れ [Edit] をクリックします。
- 次の画面 [Load Balancing Service Group] 右の [Advanced Settings] 項目から [Monitors] をクリックします。
- 画面下部に [Monitors] の項目が表示されるので、「No service to Load Balancing Monitor Binding」をクリックします。
- 次の画面 [Load Balancing Monitor Binding] から [Click to select] をクリックしモニターの一覧に遷移します。
- 一覧からビルトインモニターの「http」をチェックして、[Select] を選択します。
- [Load Balancing Monitor Binding] へ戻るので、「Select Monitor*」項目に「http」が選択されていることを確認して [Bind] で反映します。
Note
バーチャルサーバーの作成¶
クライアントにサービスを提供するためのバーチャルサーバーを作成します。
- [Configuration] - [Traffic Management] - [Load Balancing] - [Virtual Servers] を選択します。
- [Add] を選択して作成画面に入り、[Basic Settings] に以下の必須項目を入力し、[OK] を選択します。
Name
任意の名称を入力します
Protocol
「SSL」を選択しますIP Address Type
「IP Address」 を選択します
IP Address
任意のIPアドレスを入力します
Port
「443」を入力します
Redirection Mode
「IP Based」を選択します
- 画面の遷移後、[Services and Service Groups] 項目の[No Load Balancing Virtual Server ServiceGroup Binding] を選択します。
- [Select Service Group Name] で [Click to select] を選択、[Service Groups] の画面となるので、必要なサービスグループをチェックして [Select] を選択、[Bind] を選択して紐づけます
- [1 Load Balancing Virtual Server ServiceGroup Binding] となったことを確認して、[Continue] を選択します。
- 画面の遷移後、[Certificate] 項目の [No Server Certificate] を選択します。
- [Select Server Certificate] で [Click to select] を選択、[Server Certificates] の画面となるので、登録したSSL証明書をチェックして [Select] を選択、[Bind] を選択して紐づけます。
- [1 Server Certificate] となったことを確認して、[Continue] を選択します。
- 画面の遷移後、画面右の [Advanced Settings] から [Persistence] を選択します。
- 編集画面となるので、以下の項目を入力し、[OK] を選択します。
SOURCEIP / COOKIEINSERT / OTHERS
「COOKIEINSERT」を選択します
Time-out (mins)
任意のタイムアウト時間を入力します(初期値は2分です)
Cookie Name
任意の名称を入力します
- Persistence COOKIEINSERT となったことを確認し、次に [SSL Parameters] を選択します。
- 編集画面となるので、[Protocol] 項目で [TLSv1] [TLSv11] のチェックを外し、[OK] を選択します。もし、バランシング先のサービスグループのコンテンツ内でリダイレクトを行われている場合は編集画面で [SSL Redirect] をチェックします。
SSL Redirect
SSL リダイレクトの有効・無効を切り替えます(例示では無効です)
TLSv1
TLS1.0 の有効・無効を切り替えます(例示では無効です)
TLSv11
TLS1.1 の有効・無効を切り替えます(例示では無効です)
- TLSv1 DISABLED、 TLSv11 DISABLED となったことを確認して、[Done] を選択して作成を完了します。
Note
Note
ソースNAT構成でのコンテンツスイッチング設定例¶
ソースNAT構成によるコンテンツスイッチング設定に必要な設定について説明していきます。
重要
事前にウェブサーバーの構築を行ってください。
この手順では、以下の環境を想定しています。
サーバーのグローバル側インターフェースがボンディング構成であること
サーバーとロードバランサー間の通信がアクセス制限などで妨げられないこと
コンテンツスイッチングの有効化¶
- [Configuration] - [System] - [Settings] - [Configure Basic Features] を選択します。
- [Content Switching] と [SSL Offloading] をチェックし、[OK] を選択します。
SSL証明書の登録¶
サーバーの作成¶
コンテンツスイッチングの対象となるサーバーを作成します。
- [Configuration] - [Traffic Management] - [Load Balancing] - [Servers] を選択します。
- [Add] を選択して作成画面に入り、[Create Server] に以下の必須項目を入力し、[Create] を選択します。
Name
任意の名称を入力します
IP Address / Domain Name
「IP Address」を選択します
IPAddress
物理サーバーのIPアドレスを入力します
- これを必要なサーバーの数だけ繰り返します。
サービスグループの作成¶
コンテンツスイッチングの対象となるサービスグループを作成します。
- [Configuration] - [Traffic Management] - [Load Balancing] - [Service Groups] を選択します。
- [Add] を選択して作成画面に入り、[Basic Settings] に以下の必須項目を入力し、[OK] を選択します。
Name
任意の名称を入力します
Protocol
HTTP を選択します
- 画面の遷移後、[OK] を選択して、一旦作成を完了させます。
- 続いて、作成したサービスグループを選択します。
- 画面の遷移後、Use Proxy Port YES となっていることを確認して、[Settings] の項目右の編集ボタンをクリックします。
- 編集画面となるので、[Insert Client IP Address] をチェックし、Header 項目に [X-Forwarded-For] を入力して [OK] を選択します。
- 次にサーバーをサービスグループに紐づけます。[Service Group Members] の [No Service Group Member] を選択します。
- [Create Service Group Member] に以下の必須項目を入力し、[Create] を選択します。
IP Based / Server Based
Server Based を選択します
Select Server
[Click to select] を選択、[Servers] の画面となるので、必要なサーバー全てをチェックして [Select] を選択します
Port
「80」を入力します
- Service Group Members が紐づけられたことと、Insert Client IP Address Enable、Header X-Forwarded-For となったことを確認して、[Done] を選択して設定を終えます。
- これを必要なサービスグループの数だけ繰り返します。
Note
サービスグループにhttpモニタリングを設定¶
- [Configuration]タブ - [Traffic Management] - [Load Balancing] - [Service Groups] と選択します。
- 設定変更するサービスグループにチェックを入れ [Edit] をクリックします。
- 次の画面 [Load Balancing Service Group] 右の [Advanced Settings] 項目から [Monitors] をクリックします。
- 画面下部に [Monitors] の項目が表示されるので、「No service to Load Balancing Monitor Binding」をクリックします。
- 次の画面 [Load Balancing Monitor Binding] から [Click to select] をクリックしモニターの一覧に遷移します。
- 一覧からビルトインモニターの「http」をチェックして、[Select] を選択します。
- [Load Balancing Monitor Binding] へ戻るので、「Select Monitor*」項目に「http」が選択されていることを確認して [Bind] で反映します。
- これを必要なサービスグループの数だけ繰り返します。
Note
振り分け用バーチャルサーバーの作成¶
コンテンツスイッチングの振り分け先はバーチャルサーバーである必要があるため、振り分け用にIPアドレスを持たないバーチャルサーバーを作成します。
- [Configuration] - [Traffic Management] - [Load Balancing] - [Virtual Servers] を選択します。
- [Add] を選択して作成画面に入り、[Basic Settings] に以下の必須項目を入力し、[OK] を選択します。
Name
任意の名称を入力します
Protocol
「HTTP」を選択しますIP Address Type
「Non Addressable」 を選択します
- 画面の遷移後、[Services and Service Groups] 項目の[No Load Balancing Virtual Server ServiceGroup Binding] を選択します。
- [Select Service Group Name] で [Click to select] を選択、[Service Groups] の画面となるので、必要なサービスグループをチェックして [Select] を選択、[Bind] を選択して紐づけます
- [1 Load Balancing Virtual Server ServiceGroup Binding] となったことを確認して、[Continue] を選択します。
- 画面の遷移後、画面右の [Advanced Settings] から [Persistence] を選択します。
- 編集画面となるので、以下の項目を入力し、[OK] を選択します。
SOURCEIP / COOKIEINSERT / OTHERS
「COOKIEINSERT」を選択します
Time-out (mins)
任意のタイムアウト時間を入力します(初期値は2分です)
Cookie Name
任意の名称を入力します
- Persistence COOKIEINSERT となったことを確認し、[Done] を選択して作成を完了します。
- これを必要な振り分け用バーチャルサーバーの数だけ繰り返します。
Note
コンテンツスイッチ用ポリシーの作成¶
コンテンツスイッチ用のポリシーを作成します。
- [Configuration] - [Traffic Management] - [Content Switching] - [Policies] を選択します。
- [Add] を選択して作成画面に入り、以下の必須項目を入力し、[Create] を選択します。
Name
任意の名称を入力します
Expression / URL
「Expression」を選択します。「URL」は提供仕様上ご利用いただけない機能となります。Expression
コンテンツスイッチの条件式を入力します。例として特定のURLを含む条件式を設定する場合は「HTTP.REQ.URL.PATH_AND_QUERY.CONTAINS("URL")」、特定のドメインを含む条件式を設定する場合は「HTTP.REQ.HOSTNAME.EQ("FQDN")」となります。 - これを必要なコンテンツスイッチ用ポリシーの数だけ繰り返します。
Note
バーチャルサーバーの作成¶
コンテンツスイッチでクライアントにサービスを提供するためのバーチャルサーバーを作成します。
- [Configuration] - [Traffic Management] - [Content Switching] - [Virtual Servers] を選択します。
- [Add] を選択して作成画面に入り、[Basic Settings] に以下の必須項目を入力し、[OK] を選択します。
Name
任意の名称を入力します
Protocol
「SSL」を選択しますIP Address Type
「IP Address」 を選択します
IP Addres
任意のIPアドレスを入力します
Port
「443」を入力します
- 画面の遷移後、[Content Switching Policy Binding] 項目の[No Content Switching Policies] を選択します。
- [Policy Binding] 画面となるので、[Select Policy*] の項目に作成したポリシーを、[Target Load Balancing Virtual Server] の項目に振り分け用のバーチャルサーバーをそれぞれ選択し、[Bind] を選択します。
- これを必要なコンテンツスイッチ用ポリシーと振り分け用バーチャルサーバーの数だけ繰り返します。
- [* Content Switching Policies] となったことを確認して、次に [No Default Virtual Server Bound] を選択します。
- [Configure Content Switching Virtual Server to Load Balancing Virtual Server Binding] の画面となるので [Default Load Balancing Virtual Server Name] の項目にポリシーに合致しない場合の振り分け用のバーチャルサーバーを選択し、[Bind] を選択します。
- [* Content Switching Policies] となったこと、[Default Virtual Server Bound] となったことを確認して、[OK] を選択します。
- 画面の遷移後、右メニューの [Certificate] を選択します。
- 画面下部に [Certificate] 項目が追加されるので [No Server Certificate] を選択します。
- [Select Server Certificate] で [Click to select] を選択、[Server Certificates] の画面となるので、登録したSSL証明書をチェックして [Select] を選択、[Bind] を選択して紐づけます。
- [1 Server Certificate] となったことを確認して、次に [SSL Parameters] を選択します。
- 編集画面となるので、[Protocol] 項目で [TLSv1] [TLSv11] のチェックを外し、[OK] を選択します。もし、バランシング先のサービスグループのコンテンツ内でリダイレクトを行われている場合は編集画面で [SSL Redirect] をチェックします。
SSL Redirect
SSL リダイレクトの有効・無効を切り替えます(例示では無効です)
TLSv1
TLS1.0 の有効・無効を切り替えます(例示では無効です)
TLSv11
TLS1.1 の有効・無効を切り替えます(例示では無効です)
- TLSv1 DISABLED、 TLSv11 DISABLED となったことを確認して、[Done] を選択して作成を完了します。
Note