いろいろな設定事例

バランシング設定

ロードバランサーには、以下の2つの代表的なバランシング設定がございます。

  • DSR(Direct Server Return)構成

  • ソースNAT構成

それぞれのバランシング設定の特徴をご紹介します。

DSR構成

「DSR構成」では、図のようにサーバーからのレスポンスがロードバランサーを経由しないため、リクエスト量に対してロードバランサーのキャパシティが増えるというメリットがあり、コンテンツ・ストリーミング配信などのシステムに適しています。

L4でのバランシングのみ利用可能で、サーバーのループバックインターフェースやダミーインターフェースの設定などが必要となります。

<DSR構成でのパケットフロー>
  1. クライアントからのリクエストをロードバランサーが受信

  2. ロードバランサーはバランシングを行い、サーバーにリクエストを転送する

  3. サーバーはレスポンスを直接クライアントに返す

../../../_images/lb_example_dsr.png

DSR構成

ソースNAT構成

「ソースNAT構成」では、L4/L7でのバランシングともに利用可能で、サーバーに特別な設定を行う必要がないというメリットがあります。

サーバーからのレスポンスもロードバランサーを経由するため、SSLオフロードを有効にしてロードバランサーがSSL通信を終端することができます。
半面、ロードバランサー自体がボトルネックとなることがあります。

<ソースNAT構成でのパケットフロー>
  1. クライアントからのリクエストをロードバランサーが受信

  2. ロードバランサーはバランシングを行い、サーバーにリクエストを転送する

  3. サーバーはレスポンスをロードバランサーに返す

  4. ロードバランサーは返ってきたレスポンスをクライアントに返す

../../../_images/lb_example_snat.png

ソースNAT構成

本書で紹介する設定事例

本書では、主にHTTPSのコンテンツの公開を目的とした、DSR構成とソースNAT構成それぞれのバランシング設定事例をご紹介しています。

DSR構成によるHTTPSバランシング設定例

DSR構成によるHTTPSバランシング設定に必要な設定について説明していきます。

重要

  • 事前にウェブサーバーの構築とウェブサーバーへのSSL証明書のインストールを行ってください。

  • この手順では、以下の環境を想定しています。

    • サーバーのグローバル側インターフェースがボンディング構成であること

    • サーバーとロードバランサー間の通信がアクセス制限などで妨げられないこと

MBF(MAC base forwarding)を有効にする

DSRを構成するときは「MBF(MAC base forwarding)」を有効にします。

  1. [Configuration] - [System] - [Settings] - [Configure Modes] を選択します。
  2. [MAC based forwarding] をチェックし、[OK] を選択します。
    ../../../_images/lb_example_dsr_11.png

    画面サンプル: MBF(MAC base forwarding)の有効化

サーバーの作成

負荷分散の対象となるサーバーを作成します。

  1. [Configuration] - [Traffic Management] - [Load Balancing] - [Servers] を選択します。
  2. [Add] を選択して作成画面に入り、[Create Server] に以下の必須項目を入力し、[Create] を選択します。
    ../../../_images/lb_example_dsr_21.png

    画面サンプル: サーバーの作成

    Name

    任意の名称を入力します

    IP Address / Domain Name

    IP Address を選択します

    IPAddress

    物理サーバーのIPアドレスを入力します


  3. これを必要なサーバーの数だけ繰り返します。

サービスの作成

負荷分散の対象となるサーバーごとにサービスを作成します。

  1. [Configuration] - [Traffic Management] - [Load Balancing] - [Services] を選択します。
  2. [Add] を選択して作成画面に入り、[Basic Settings] に以下の必須項目を入力し、[OK] を選択します。
    ../../../_images/lb_example_dsr_31.png

    画面サンプル: サービスの作成(1)

    Service Name

    任意の名称を入力します

    New Server / Existing Server

    「Existing Server」を選択します

    Server

    作成済みのサーバーを選択します

    Protocol

    「ANY」を選択します
    (DSR構成の場合、プロトコルに関わらずANYを選択します)

    Port

    「443」を入力します


  3. 画面の遷移後、[Service Settings] の項目右の編集ボタンをクリックします。
    ../../../_images/lb_example_dsr_32.png

    画面サンプル: サービスの作成(2)


  4. 編集画面となるので、[Use Source IP Address] をチェックし、[OK] を選択します。
    ../../../_images/lb_example_dsr_33.png

    画面サンプル: サービスの作成(3)


  5. 「Use Source IP Address YES」となったことを確認して、[Done] を選択して作成を完了します。
    ../../../_images/lb_example_dsr_34.png

    画面サンプル: サービスの作成(4)


  6. これを必要なサービスの数だけ繰り返します。

サービスのモニタリングをhttpsに変更する

前項でサービスを作成した直後は「Load balancing monitor bind」に「ping-default」が選択されている状態です。
サービスのモニタリングを「https」に変更します。

  1. [Configuration]タブ - [Traffic Management] - [Load Balancing] - [Services] と選択します。
  2. 設定変更するサービスにチェックを入れ [Edit] をクリックします。
    ../../../_images/lb_example_dsr_42.png

    画面サンプル: [Configuration]タブ - [Traffic Management] - [Load Balancing] - [Services]


  3. 次の画面 [Load Balancing Service] を、[Monitors]項目まで下へスクロールします。
  4. 「(数字) service to Load Balancing Monitor Binding」をクリックします。
    ../../../_images/lb_example_dsr_41.png

    画面サンプル: [Load Balancing Service]


  5. 次の画面 [Load Balancing Monitor Binding] から「ping-default」をチェックし[Add Binding]をクリックします。
    ../../../_images/lb_example_dsr_43.png

    画面サンプル: [Load Balancing Monitor Binding](1)


  6. 「Select Monitor*」- [Click to select>]を押下するとモニターの一覧に遷移します。
  7. 一覧からビルトインモニターの「https」をチェックして、[Select] を選択します。
    ../../../_images/lb_example_dsr_44.png

    画面サンプル: [Monitors] - [バインドモニターの選択]


  8. [Load Balancing Monitor Binding] へ戻るので、「Select Monitor*」項目に「https」が選択されていることを確認してから「State」をチェックして [Bind] で反映します。
    ../../../_images/lb_example_dsr_45.png

    画面サンプル: [Load Balancing Monitor Binding](2)


  9. これを必要なサービスの数だけ繰り返します。

Note

モニターには作成済みで変更の出来ないビルトインモニターとカスタマイズ可能なカスタムモニターがあります。
カスタムモニターは [Configuration]タブ - [Traffic Management] - [Load Balancing] - [Monitors] と選択し、[Add] をクリックすることで追加いただけます。
カスタムモニターの詳細につきましては、以下のベンダーマニュアルをご参照ください。

バーチャルサーバーの作成

クライアントにサービスを提供するためのバーチャルサーバーを作成します。


  1. [Configuration] - [Traffic Management] - [Load Balancing] - [Virtual Servers] を選択します。
  2. [Add] を選択して作成画面に入り、[Basic Settings] に以下の必須項目を入力し、[OK] を選択します。
    ../../../_images/lb_example_dsr_51.png

    画面サンプル: バーチャルサーバーの作成(1)

    Name

    任意の名称を入力します

    Protocol

    「ANY」を選択します
    (DSR構成の場合、プロトコルに関わらずANYを選択します)

    IP Address Type

    「IP Address」 を選択します

    IP Address

    任意のIPアドレスを入力します

    Port

    「443」を入力します

    Redirection Mode

    「MAC Based」を選択します


  3. つぎに、[Services and Service Groups」項目の [No Load Balancing Virtual Server Service Binding]を選択します。
    ../../../_images/lb_example_dsr_52.png

    画面サンプル: バーチャルサーバーの作成(2)


  4. [Select Service] で [Click to select] を選択、[Service] の画面となるので、必要なサービスをチェックして [Select] を選択、[Bind] を選択して紐づけます。
    ../../../_images/lb_example_dsr_53.png

    画面サンプル: バーチャルサーバーの作成(3)


  5. [* Load Balancing Virtual Server Service Bindings] となったことを確認して、[Continue] を選択します。
    ../../../_images/lb_example_dsr_54.png

    画面サンプル: バーチャルサーバーの作成(4)


  6. [Method] の項目右の編集ボタンをクリックします。
    ../../../_images/lb_example_dsr_55.png

    画面サンプル: バーチャルサーバーの作成(5)


  7. [Load Balancing Method] のプルダウンメニューから [SOURCEIPHASH] を選択し、[OK] を選択します。
    ../../../_images/lb_example_dsr_56.png

    画面サンプル: バーチャルサーバーの作成(6)


  8. 「Load Balancing Method SOURCEIPHASH」となったことを確認し、に [Persistence] の項目右の編集ボタンをクリックします。
    ../../../_images/lb_example_dsr_57.png

    画面サンプル: バーチャルサーバーの作成(7)


  9. つぎに、以下の項目を入力し、[OK] を選択します。
    ../../../_images/lb_example_dsr_58.png

    画面サンプル: バーチャルサーバーの作成(8)

    SOURCEIP / OTHERS

    「SOURCEIP」を選択します

    Time-out (mins)

    任意のタイムアウト時間を入力します(初期値は2分です)


  10. 「Persistence SOURCEIP」となったことを確認し、次に [Traffic Settings] の項目右の編集ボタンをクリックします。
    ../../../_images/lb_example_dsr_59.png

    画面サンプル: バーチャルサーバーの作成(9)


  11. 編集画面で、[Sessionless load balancing] をチェックし、[OK] を選択します。
    ../../../_images/lb_example_dsr_510.png

    画面サンプル: バーチャルサーバーの作成(10)


  12. 「Sessionless load balancing ENABLE」となったことを確認して、[Done] を選択して作成を完了します。
    ../../../_images/lb_example_dsr_511.png

    画面サンプル: バーチャルサーバーの作成(11)


Note

「Sessionless load balancing」ではロードバランサーの負荷の原因となるロードバランサー上でのクライアント・サーバー間のセッションの保持をおこなわないので、大量のトラフィック処理を必要とする用途に適しています。
その反面、サービスグループをサポートしていないことや、セッションの保持を前提としたLeast Connectionなどの負荷分散メソッドが使用できないなどのいくつかの制限があります。
制限の内容は、以下のベンダーマニュアルを確認してください。

Note

ロードバランサーには同一のクライアントからのリクエストを同一のサーバーへと振り分ける「Persistence」と呼ばれるセッション維持機能があり、例示ではソースIPアドレスを元にセッション維持を行う設定を行っています。
Persistenceの機能については ベンダーマニュアルを確認してください。

OSの設定

「DSR構成」では、バランシングの対象となる物理サーバーに以下の設定を行う必要があります。

  • ループバックインターフェース、あるいはダミーインターフェースにバーチャルサーバーのIPアドレスを設定

  • arpアナウンスの設定

CentOS 8 / CentOS Stream 8 / Red Hat Enterprise Linux 8 / AlmaLinux 8

ダミーインターフェースにバーチャルサーバーIPアドレスを設定します。


  1. ダミーインターフェースの設定を行います。
    # nmcli connection add type dummy ifname [ダミーインターフェース名] ipv4.method manual ipv4.addresses [バーチャルサーバーIPアドレス(IPv4)]/32 ipv6.method ignore
    

  2. 物理サーバーがバーチャルサーバー宛のARPに応答しないようにするために、Non-ARPingの設定を行います。
    sysctl.confファイル設定を記述します。
    /etc/sysctl.conf
     net.ipv4.conf.all.arp_ignore = 1
     net.ipv4.conf.all.arp_announce = 2
    

  3. sysctl.confの設定を反映させます。
    # sudo sysctl -p
    

  4. ネットワークを再起動します。
    # systemctl restart network
    

  5. ネットワークが起動し、設定が反映されていることを確認します。
    # ip addr show
    

Ubuntu 18.04 / Ubuntu 20.04

ループバックインターフェースにバーチャルサーバーIPアドレスを設定します。


  1. netplanの設定ファイル中のethernets項目にループバックインターフェースの設定を追加します。
    /etc/netplan/01-netcfg.yaml
    ethernets:
      lo:
          addresses:
          - [バーチャルサーバーIPアドレス(IPv4)]/32
      eth0:
          dhcp4: no
      eth1:
          dhcp4: no
    

  2. 物理サーバーがバーチャルサーバー宛のARPに応答しないようにするために、Non-ARPingの設定を行います。
    sysctl.confファイルに設定を記述します。
    /etc/sysctl.conf
     net.ipv4.conf.all.arp_ignore = 1
     net.ipv4.conf.all.arp_announce = 2
    

  3. sysctl.confの設定を反映させます。
    # sudo sysctl -p
    

  4. netplanの設定を反映させます。
    # netplan apply
    

  5. 設定が反映されていることを確認します。
    # ip addr show
    

CentOS 7 / Red Hat Enterprise Linux 7

ループバックインターフェースにバーチャルサーバーのIPアドレスを設定します。


  1. ループバックインターフェースの設定を行います。
    /etc/sysconfig/network-scripts/ifcfg-lo:0
     DEVICE=lo:0
     IPADDR=[バーチャルサーバーIPアドレス(IPv4)]
     NETMASK=255.255.255.255
     ONBOOT=yes
     NM_CONTROLLED="no"
    

  2. 物理サーバーがバーチャルサーバー宛のARPに応答しないようにするために、Non-ARPingの設定を行います。
    sysctl.confファイル設定を記述します。
    /etc/sysctl.conf
     net.ipv4.conf.all.arp_ignore = 1
     net.ipv4.conf.all.arp_announce = 2
    

  3. sysctl.confの設定を反映させます。
    # sudo sysctl -p
    

  4. ネットワークを再起動します。
    # systemctl restart network
    

  5. ネットワークが起動し、設定が反映されていることを確認します。
    # ip addr show
    

ソースNAT構成でのHTTPSバランシング設定例

ソースNAT構成によるHTTPSバランシング設定に必要な設定について説明していきます。

重要

  • 事前にウェブサーバーの構築を行ってください。

  • この手順では、以下の環境を想定しています。

    • サーバーのグローバル側インターフェースがボンディング構成であること

    • サーバーとロードバランサー間の通信がアクセス制限などで妨げられないこと

SSLオフロードの有効化

ロードバランサーでSSL通信を終端するため、SSLオフロードの有効化が必要となります。


  1. [Configuration] - [System] - [Settings] - [Configure Basic Features] を選択します。
  2. [SSL Offloading] をチェックし、[OK] を選択します。
    ../../../_images/lb_example_snat_11.png

    画面サンプル: SSLオフロードの有効化

SSL証明書の登録

SSLオフロードを行うためには、ロードバランサー上でのSSL証明書の登録が必要となります。
以下の作業手順を参考にSSL証明書の登録を行ってください。
より詳細な作業手順は以下のベンダーマニュアルをご確認ください。

サーバーの作成

負荷分散の対象となるサーバーを作成します。


  1. [Configuration] - [Traffic Management] - [Load Balancing] - [Servers] を選択します。
  2. [Add] を選択して作成画面に入り、[Create Server] に以下の必須項目を入力し、[Create] を選択します。
    ../../../_images/lb_example_snat_21.png

    画面サンプル: サーバーの作成

    Name

    任意の名称を入力します

    IP Address / Domain Name

    「IP Address」を選択します

    IPAddress

    物理サーバーのIPアドレスを入力します


  3. これを必要なサーバーの数だけ繰り返します。

サービスグループの作成

負荷分散の対象となるサービスグループを作成します。


  1. [Configuration] - [Traffic Management] - [Load Balancing] - [Service Groups] を選択します。
  2. [Add] を選択して作成画面に入り、[Basic Settings] に以下の必須項目を入力し、[OK] を選択します。
    ../../../_images/lb_example_snat_31.png

    画面サンプル: サービスグループの作成(1)

    Name

    任意の名称を入力します

    Protocol

    HTTP を選択します


  3. 画面の遷移後、[OK] を選択して、一旦作成を完了させます。
  4. 続いて、作成したサービスグループを選択します。
    ../../../_images/lb_example_snat_32.png

    画面サンプル: サービスグループの作成(2)


  5. 画面の遷移後、Use Proxy Port YES となっていることを確認して、[Settings] の項目右の編集ボタンをクリックします。
    ../../../_images/lb_example_snat_33.png

    画面サンプル: サービスグループの作成(3)


  6. 編集画面となるので、[Insert Client IP Address] をチェックし、Header 項目に [X-Forwarded-For] を入力して [OK] を選択します。
    ../../../_images/lb_example_snat_34.png

    画面サンプル: サービスグループの作成(4)


  7. 次にサーバーをサービスグループに紐づけます。[Service Group Members] の [No Service Group Member] を選択します。
    ../../../_images/lb_example_snat_35.png

    画面サンプル: サービスグループの作成(5)


  8. [Create Service Group Member] に以下の必須項目を入力し、[Create] を選択します。
    ../../../_images/lb_example_snat_36.png

    画面サンプル: サービスグループの作成(6)

    IP Based / Server Based

    Server Based を選択します

    Select Server

    [Click to select] を選択、[Servers] の画面となるので、必要なサーバー全てをチェックして [Select] を選択します

    Port

    「80」を入力します


  9. Service Group Members が紐づけられたことと、Insert Client IP Address Enable、Header X-Forwarded-For となったことを確認して、[Done] を選択して設定を終えます。

Note

ソースNAT構成では、ロードバランサーで送信元IPアドレスの変換が行われるため、実際のクライアントIPアドレスをサーバー側で知ることができないという問題があります。
ウェブサーバーについては、X-Forwarded-For機能を使用することで、HTTPヘッダの中のフィールドに変換前のクライアントIPアドレスを挿入できるようになり、ウェブサーバー側のロギング設定を挿入したヘッダを解釈できるように変更することで変換前のクライアントIPアドレスでのロギングが可能となります。

サービスグループにhttpモニタリングを設定

前項でサービスグループを作成した直後はサービスグループのモニタリングは設定されていない状態です。
指定したポートの状態監視以上のより詳細なモニタリングを行う場合は「http」モニタリングを設定します。

  1. [Configuration]タブ - [Traffic Management] - [Load Balancing] - [Service Groups] と選択します。
  2. 設定変更するサービスグループにチェックを入れ [Edit] をクリックします。
    ../../../_images/lb_example_snat_37.png

    画面サンプル: サービスグループにhttpモニタリングを設定(1)


  3. 次の画面 [Load Balancing Service Group] 右の [Advanced Settings] 項目から [Monitors] をクリックします。
  4. 画面下部に [Monitors] の項目が表示されるので、「No service to Load Balancing Monitor Binding」をクリックします。
    ../../../_images/lb_example_snat_38.png

    画面サンプル: サービスグループにhttpモニタリングを設定(2)


  5. 次の画面 [Load Balancing Monitor Binding] から [Click to select] をクリックしモニターの一覧に遷移します。
  6. 一覧からビルトインモニターの「http」をチェックして、[Select] を選択します。
    ../../../_images/lb_example_snat_39.png

    画面サンプル: サービスグループにhttpモニタリングを設定(3)


  7. [Load Balancing Monitor Binding] へ戻るので、「Select Monitor*」項目に「http」が選択されていることを確認して [Bind] で反映します。
    ../../../_images/lb_example_snat_40.png

    画面サンプル: サービスグループにhttpモニタリングを設定(4)


Note

モニターには作成済みで変更の出来ないビルトインモニターとカスタマイズ可能なカスタムモニターがあります。
カスタムモニターは [Configuration]タブ - [Traffic Management] - [Load Balancing] - [Monitors] と選択し、[Add] をクリックすることで追加いただけます。
カスタムモニターの詳細につきましては、以下のベンダーマニュアルをご参照ください。

バーチャルサーバーの作成

クライアントにサービスを提供するためのバーチャルサーバーを作成します。


  1. [Configuration] - [Traffic Management] - [Load Balancing] - [Virtual Servers] を選択します。
  2. [Add] を選択して作成画面に入り、[Basic Settings] に以下の必須項目を入力し、[OK] を選択します。
    ../../../_images/lb_example_snat_41.png

    画面サンプル: バーチャルサーバーの作成(1)

    Name

    任意の名称を入力します

    Protocol

    「SSL」を選択します

    IP Address Type

    「IP Address」 を選択します

    IP Address

    任意のIPアドレスを入力します

    Port

    「443」を入力します

    Redirection Mode

    「IP Based」を選択します


  3. 画面の遷移後、[Services and Service Groups] 項目の[No Load Balancing Virtual Server ServiceGroup Binding] を選択します。
    ../../../_images/lb_example_snat_42.png

    画面サンプル: バーチャルサーバーの作成(2)


  4. [Select Service Group Name] で [Click to select] を選択、[Service Groups] の画面となるので、必要なサービスグループをチェックして [Select] を選択、[Bind] を選択して紐づけます
    ../../../_images/lb_example_snat_43.png

    画面サンプル: バーチャルサーバーの作成(3)


  5. [1 Load Balancing Virtual Server ServiceGroup Binding] となったことを確認して、[Continue] を選択します。
    ../../../_images/lb_example_snat_44.png

    画面サンプル: バーチャルサーバーの作成(4)


  6. 画面の遷移後、[Certificate] 項目の [No Server Certificate] を選択します。
    ../../../_images/lb_example_snat_45.png

    画面サンプル: バーチャルサーバーの作成(5)


  7. [Select Server Certificate] で [Click to select] を選択、[Server Certificates] の画面となるので、登録したSSL証明書をチェックして [Select] を選択、[Bind] を選択して紐づけます。
    ../../../_images/lb_example_snat_46.png

    画面サンプル: バーチャルサーバーの作成(6)


  8. [1 Server Certificate] となったことを確認して、[Continue] を選択します。
    ../../../_images/lb_example_snat_47.png

    画面サンプル: バーチャルサーバーの作成(7)


  9. 画面の遷移後、画面右の [Advanced Settings] から [Persistence] を選択します。
    ../../../_images/lb_example_snat_48.png

    画面サンプル: バーチャルサーバーの作成(8)


  10. 編集画面となるので、以下の項目を入力し、[OK] を選択します。
    ../../../_images/lb_example_snat_49.png

    画面サンプル: バーチャルサーバーの作成(9)

    SOURCEIP / COOKIEINSERT / OTHERS

    「COOKIEINSERT」を選択します

    Time-out (mins)

    任意のタイムアウト時間を入力します(初期値は2分です)

    Cookie Name

    任意の名称を入力します


  11. Persistence COOKIEINSERT となったことを確認し、次に [SSL Parameters] を選択します。
    ../../../_images/lb_example_snat_410.png

    画面サンプル: バーチャルサーバーの作成(10)


  12. 編集画面となるので、[Protocol] 項目で [TLSv1] [TLSv11] のチェックを外し、[OK] を選択します。
    もし、バランシング先のサービスグループのコンテンツ内でリダイレクトを行われている場合は編集画面で [SSL Redirect] をチェックします。
    ../../../_images/lb_example_snat_411.png

    画面サンプル: バーチャルサーバーの作成(11)

    SSL Redirect

    SSL リダイレクトの有効・無効を切り替えます(例示では無効です)

    TLSv1

    TLS1.0 の有効・無効を切り替えます(例示では無効です)

    TLSv11

    TLS1.1 の有効・無効を切り替えます(例示では無効です)


  13. TLSv1 DISABLED、 TLSv11 DISABLED となったことを確認して、[Done] を選択して作成を完了します。
    ../../../_images/lb_example_snat_412.png

    画面サンプル: バーチャルサーバーの作成(12)


Note

ロードバランサーには同一のクライアントからのリクエストを同一のサーバーへと振り分けるPersistenceと呼ばれるセッション維持機能があり、例示ではCookieを元にセッション維持を行う設定としております。
Persistenceの詳細につきましては、以下のベンダーマニュアルをご参照ください。

Note

バランシング先のサービスグループのコンテンツ内でリダイレクトを行われている場合は、SSL リダイレクトと必要に応じて SSL ポートリダイレクトの設定が必要となります。
SSL リダイレクトと SSL ポートリダイレクトの詳細につきましては、以下のベンダーマニュアルをご参照ください。

ソースNAT構成でのコンテンツスイッチング設定例

ソースNAT構成によるコンテンツスイッチング設定に必要な設定について説明していきます。

重要

  • 事前にウェブサーバーの構築を行ってください。

  • この手順では、以下の環境を想定しています。

    • サーバーのグローバル側インターフェースがボンディング構成であること

    • サーバーとロードバランサー間の通信がアクセス制限などで妨げられないこと

コンテンツスイッチングの有効化

コンテンツスイッチングを使用する場合は、コンテンツスイッチングの有効化が必要となります。
また、例ではロードバランサーでSSL通信を終端するため、SSLオフロードの有効化も行っています。

  1. [Configuration] - [System] - [Settings] - [Configure Basic Features] を選択します。
  2. [Content Switching] と [SSL Offloading] をチェックし、[OK] を選択します。
    ../../../_images/lb_example_urlswitch_01.png

    画面サンプル: コンテンツスイッチングの有効化

SSL証明書の登録

SSLオフロードを行うためには、ロードバランサー上でのSSL証明書の登録が必要となります。
以下の作業手順を参考にSSL証明書の登録を行ってください。
より詳細な作業手順は以下のベンダーマニュアルをご確認ください。

サーバーの作成

コンテンツスイッチングの対象となるサーバーを作成します。


  1. [Configuration] - [Traffic Management] - [Load Balancing] - [Servers] を選択します。
  2. [Add] を選択して作成画面に入り、[Create Server] に以下の必須項目を入力し、[Create] を選択します。
    ../../../_images/lb_example_snat_21.png

    画面サンプル: サーバーの作成

    Name

    任意の名称を入力します

    IP Address / Domain Name

    「IP Address」を選択します

    IPAddress

    物理サーバーのIPアドレスを入力します


  3. これを必要なサーバーの数だけ繰り返します。

サービスグループの作成

コンテンツスイッチングの対象となるサービスグループを作成します。


  1. [Configuration] - [Traffic Management] - [Load Balancing] - [Service Groups] を選択します。
  2. [Add] を選択して作成画面に入り、[Basic Settings] に以下の必須項目を入力し、[OK] を選択します。
    ../../../_images/lb_example_snat_31.png

    画面サンプル: サービスグループの作成(1)

    Name

    任意の名称を入力します

    Protocol

    HTTP を選択します


  3. 画面の遷移後、[OK] を選択して、一旦作成を完了させます。
  4. 続いて、作成したサービスグループを選択します。
    ../../../_images/lb_example_snat_32.png

    画面サンプル: サービスグループの作成(2)


  5. 画面の遷移後、Use Proxy Port YES となっていることを確認して、[Settings] の項目右の編集ボタンをクリックします。
    ../../../_images/lb_example_snat_33.png

    画面サンプル: サービスグループの作成(3)


  6. 編集画面となるので、[Insert Client IP Address] をチェックし、Header 項目に [X-Forwarded-For] を入力して [OK] を選択します。
    ../../../_images/lb_example_snat_34.png

    画面サンプル: サービスグループの作成(4)


  7. 次にサーバーをサービスグループに紐づけます。[Service Group Members] の [No Service Group Member] を選択します。
    ../../../_images/lb_example_snat_35.png

    画面サンプル: サービスグループの作成(5)


  8. [Create Service Group Member] に以下の必須項目を入力し、[Create] を選択します。
    ../../../_images/lb_example_snat_36.png

    画面サンプル: サービスグループの作成(6)

    IP Based / Server Based

    Server Based を選択します

    Select Server

    [Click to select] を選択、[Servers] の画面となるので、必要なサーバー全てをチェックして [Select] を選択します

    Port

    「80」を入力します


  9. Service Group Members が紐づけられたことと、Insert Client IP Address Enable、Header X-Forwarded-For となったことを確認して、[Done] を選択して設定を終えます。

  10. これを必要なサービスグループの数だけ繰り返します。

Note

ソースNAT構成では、ロードバランサーで送信元IPアドレスの変換が行われるため、実際のクライアントIPアドレスをサーバー側で知ることができないという問題があります。
ウェブサーバーについては、X-Forwarded-For機能を使用することで、HTTPヘッダの中のフィールドに変換前のクライアントIPアドレスを挿入できるようになり、ウェブサーバー側のロギング設定を挿入したヘッダを解釈できるように変更することで変換前のクライアントIPアドレスでのロギングが可能となります。

サービスグループにhttpモニタリングを設定

前項でサービスグループを作成した直後はサービスグループのモニタリングは設定されていない状態です。
指定したポートの状態監視以上のより詳細なモニタリングを行う場合は「http」モニタリングを設定します。

  1. [Configuration]タブ - [Traffic Management] - [Load Balancing] - [Service Groups] と選択します。
  2. 設定変更するサービスグループにチェックを入れ [Edit] をクリックします。
    ../../../_images/lb_example_snat_37.png

    画面サンプル: サービスグループにhttpモニタリングを設定(1)


  3. 次の画面 [Load Balancing Service Group] 右の [Advanced Settings] 項目から [Monitors] をクリックします。
  4. 画面下部に [Monitors] の項目が表示されるので、「No service to Load Balancing Monitor Binding」をクリックします。
    ../../../_images/lb_example_snat_38.png

    画面サンプル: サービスグループにhttpモニタリングを設定(2)


  5. 次の画面 [Load Balancing Monitor Binding] から [Click to select] をクリックしモニターの一覧に遷移します。
  6. 一覧からビルトインモニターの「http」をチェックして、[Select] を選択します。
    ../../../_images/lb_example_snat_39.png

    画面サンプル: サービスグループにhttpモニタリングを設定(3)


  7. [Load Balancing Monitor Binding] へ戻るので、「Select Monitor*」項目に「http」が選択されていることを確認して [Bind] で反映します。
    ../../../_images/lb_example_snat_40.png

    画面サンプル: サービスグループにhttpモニタリングを設定(4)


  8. これを必要なサービスグループの数だけ繰り返します。

Note

モニターには作成済みで変更の出来ないビルトインモニターとカスタマイズ可能なカスタムモニターがあります。
カスタムモニターは [Configuration]タブ - [Traffic Management] - [Load Balancing] - [Monitors] と選択し、[Add] をクリックすることで追加いただけます。
カスタムモニターの詳細につきましては、以下のベンダーマニュアルをご参照ください。

振り分け用バーチャルサーバーの作成

コンテンツスイッチングの振り分け先はバーチャルサーバーである必要があるため、振り分け用にIPアドレスを持たないバーチャルサーバーを作成します。


  1. [Configuration] - [Traffic Management] - [Load Balancing] - [Virtual Servers] を選択します。
  2. [Add] を選択して作成画面に入り、[Basic Settings] に以下の必須項目を入力し、[OK] を選択します。
    ../../../_images/lb_example_urlswitch_02.png

    画面サンプル: 振り分け用バーチャルサーバーの作成(1)

    Name

    任意の名称を入力します

    Protocol

    「HTTP」を選択します

    IP Address Type

    「Non Addressable」 を選択します


  3. 画面の遷移後、[Services and Service Groups] 項目の[No Load Balancing Virtual Server ServiceGroup Binding] を選択します。
    ../../../_images/lb_example_urlswitch_03.png

    画面サンプル: 振り分け用バーチャルサーバーの作成(2)


  4. [Select Service Group Name] で [Click to select] を選択、[Service Groups] の画面となるので、必要なサービスグループをチェックして [Select] を選択、[Bind] を選択して紐づけます
    ../../../_images/lb_example_urlswitch_05.png

    画面サンプル: 振り分け用バーチャルサーバーの作成(3)


  5. [1 Load Balancing Virtual Server ServiceGroup Binding] となったことを確認して、[Continue] を選択します。
    ../../../_images/lb_example_urlswitch_06.png

    画面サンプル: 振り分け用バーチャルサーバーの作成(4)


  6. 画面の遷移後、画面右の [Advanced Settings] から [Persistence] を選択します。
    ../../../_images/lb_example_urlswitch_22.png

    画面サンプル: 振り分け用バーチャルサーバーの作成(5)


  7. 編集画面となるので、以下の項目を入力し、[OK] を選択します。
    ../../../_images/lb_example_urlswitch_23.png

    画面サンプル: 振り分け用バーチャルサーバーの作成(6)

    SOURCEIP / COOKIEINSERT / OTHERS

    「COOKIEINSERT」を選択します

    Time-out (mins)

    任意のタイムアウト時間を入力します(初期値は2分です)

    Cookie Name

    任意の名称を入力します


  8. Persistence COOKIEINSERT となったことを確認し、[Done] を選択して作成を完了します。
    ../../../_images/lb_example_urlswitch_24.png

    画面サンプル: 振り分け用バーチャルサーバーの作成(7)


  9. これを必要な振り分け用バーチャルサーバーの数だけ繰り返します。

Note

ロードバランサーには同一のクライアントからのリクエストを同一のサーバーへと振り分けるPersistenceと呼ばれるセッション維持機能があり、例示ではCookieを元にセッション維持を行う設定としております。
Persistenceの詳細につきましては、以下のベンダーマニュアルをご参照ください。

コンテンツスイッチ用ポリシーの作成

コンテンツスイッチ用のポリシーを作成します。


  1. [Configuration] - [Traffic Management] - [Content Switching] - [Policies] を選択します。
    ../../../_images/lb_example_urlswitch_07.png

    画面サンプル: コンテンツスイッチ用ポリシーの作成(1)


  2. [Add] を選択して作成画面に入り、以下の必須項目を入力し、[Create] を選択します。
    ../../../_images/lb_example_urlswitch_08.png

    画面サンプル: コンテンツスイッチ用ポリシーの作成(2)

    Name

    任意の名称を入力します

    Expression / URL

    「Expression」を選択します。
    「URL」は提供仕様上ご利用いただけない機能となります。

    Expression

    コンテンツスイッチの条件式を入力します。
    例として特定のURLを含む条件式を設定する場合は「HTTP.REQ.URL.PATH_AND_QUERY.CONTAINS("URL")」、
    特定のドメインを含む条件式を設定する場合は「HTTP.REQ.HOSTNAME.EQ("FQDN")」となります。

  3. これを必要なコンテンツスイッチ用ポリシーの数だけ繰り返します。

Note

ポリシーと Expression で指定可能な条件式の詳細につきましては、以下のベンダーマニュアルをご参照ください。

バーチャルサーバーの作成

コンテンツスイッチでクライアントにサービスを提供するためのバーチャルサーバーを作成します。


  1. [Configuration] - [Traffic Management] - [Content Switching] - [Virtual Servers] を選択します。
    ../../../_images/lb_example_urlswitch_09.png

    画面サンプル: バーチャルサーバーの作成(1)


  2. [Add] を選択して作成画面に入り、[Basic Settings] に以下の必須項目を入力し、[OK] を選択します。
    ../../../_images/lb_example_urlswitch_10.png

    画面サンプル: バーチャルサーバーの作成(2)

    Name

    任意の名称を入力します

    Protocol

    「SSL」を選択します

    IP Address Type

    「IP Address」 を選択します

    IP Addres

    任意のIPアドレスを入力します

    Port

    「443」を入力します


  3. 画面の遷移後、[Content Switching Policy Binding] 項目の[No Content Switching Policies] を選択します。
    ../../../_images/lb_example_urlswitch_11.png

    画面サンプル: バーチャルサーバーの作成(3)


  4. [Policy Binding] 画面となるので、[Select Policy*] の項目に作成したポリシーを、[Target Load Balancing Virtual Server] の項目に振り分け用のバーチャルサーバーをそれぞれ選択し、[Bind] を選択します。
    ../../../_images/lb_example_urlswitch_12.png

    画面サンプル: バーチャルサーバーの作成(4)


  5. これを必要なコンテンツスイッチ用ポリシーと振り分け用バーチャルサーバーの数だけ繰り返します。

  6. [* Content Switching Policies] となったことを確認して、次に [No Default Virtual Server Bound] を選択します。
    ../../../_images/lb_example_urlswitch_13.png

    画面サンプル: バーチャルサーバーの作成(5)


  7. [Configure Content Switching Virtual Server to Load Balancing Virtual Server Binding] の画面となるので [Default Load Balancing Virtual Server Name] の項目にポリシーに合致しない場合の振り分け用のバーチャルサーバーを選択し、[Bind] を選択します。
    ../../../_images/lb_example_urlswitch_18.png

    画面サンプル: バーチャルサーバーの作成(6)


  8. [* Content Switching Policies] となったこと、[Default Virtual Server Bound] となったことを確認して、[OK] を選択します。
    ../../../_images/lb_example_urlswitch_19.png

    画面サンプル: バーチャルサーバーの作成(7)


  9. 画面の遷移後、右メニューの [Certificate] を選択します。
    ../../../_images/lb_example_urlswitch_14.png

    画面サンプル: バーチャルサーバーの作成(8)


  10. 画面下部に [Certificate] 項目が追加されるので [No Server Certificate] を選択します。
    ../../../_images/lb_example_urlswitch_15.png

    画面サンプル: バーチャルサーバーの作成(9)


  11. [Select Server Certificate] で [Click to select] を選択、[Server Certificates] の画面となるので、登録したSSL証明書をチェックして [Select] を選択、[Bind] を選択して紐づけます。
    ../../../_images/lb_example_urlswitch_16.png

    画面サンプル: バーチャルサーバーの作成(10)


  12. [1 Server Certificate] となったことを確認して、次に [SSL Parameters] を選択します。
    ../../../_images/lb_example_urlswitch_17.png

    画面サンプル: バーチャルサーバーの作成(11)


  13. 編集画面となるので、[Protocol] 項目で [TLSv1] [TLSv11] のチェックを外し、[OK] を選択します。
    もし、バランシング先のサービスグループのコンテンツ内でリダイレクトを行われている場合は編集画面で [SSL Redirect] をチェックします。
    ../../../_images/lb_example_urlswitch_20.png

    画面サンプル: バーチャルサーバーの作成(12)

    SSL Redirect

    SSL リダイレクトの有効・無効を切り替えます(例示では無効です)

    TLSv1

    TLS1.0 の有効・無効を切り替えます(例示では無効です)

    TLSv11

    TLS1.1 の有効・無効を切り替えます(例示では無効です)


  14. TLSv1 DISABLED、 TLSv11 DISABLED となったことを確認して、[Done] を選択して作成を完了します。
    ../../../_images/lb_example_urlswitch_21.png

    画面サンプル: バーチャルサーバーの作成(13)


Note

バランシング先のサービスグループのコンテンツ内でリダイレクトを行われている場合は、SSL リダイレクトと必要に応じて SSL ポートリダイレクトの設定が必要となります。
SSL リダイレクトと SSL ポートリダイレクトの詳細につきましては、以下のベンダーマニュアルをご参照ください。