Load Balancer の作成と管理

Prev Next

Classic環境で利用できます。

Classic環境では Proxyベースの Load Balancerを提供します。

Load Balancer作成

Load Balancerを作成する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの Classic環境で、i_menu > Services > Networking > Load Balancerメニューを順にクリックします。
  2. Load Balancerメニューをクリックします。
  3. [ロードバランサ作成] メニューをクリックします。
    loadbalancer-classiclb-classic_button_ko
  4. ロードバランサの作成画面が表示されたら、以下のステップを順に行います。
参考

2.Certificateの設定ステップと3.Cipher設定ステップは1.ロードバランサ作成ステップで HTTPSまたは SSLプロトコルを追加した場合のみ表示されるステップです。
HTTPまたは TCPプロトコルのみ追加した場合、2.Certificateの設定ステップと3.Cipher設定ステップを除いて順に行います。

1.ロードバランサ作成

作成する Load Balancerの情報を入力して [次へ] ボタンをクリックします。

loadbalancer-classiclb-classic_create_ko

  • ネットワーク: Load Balancerのネットワークタイプを選択します。

    • インターネットサービスに利用する場合、Public IPを選択します。
    • 外部に公開せずに内部で負荷分散する必要がある場合、Private IPを選択します。
      • Private IP Load Balancerの使用方法は Public IPアドレスに基づく Load Balancerと同じで、ドメインを使用せずに提供された Private IPアドレスを利用してアクセスできます。
      • Globalリージョンで Private IP Load Balancerを使用する場合、専用ネットワークを使用することで安定かつ迅速に負荷を分散できます。
  • Load Balancerを作成する Zoneを選択します。

    • 韓国リージョンでネットワークタイプとして Public IPを選択した場合、サポートされる2つの Zoneをすべて選択すると、サービスの可用性をより高めることができます。

    • Load Balancerが位置する Zoneに関係なくアカウントが保有しているすべてのサーバに接続できます。

      注意

      NAVERクラウドプラットフォームの Security Monitoringサービスユーザーの場合、追加費用が発生することがありますので必ず確認してください。

  • ロードバランサの設定に適切な値を入力して [追加] ボタンをクリックします。

    • 20個まで追加でき、追加した設定値はすべての適用サーバに反映されます。
    • プロトコルを選択します。
    • ロードバランサのポート番号とサーバのポート番号を入力します。
      • ロードバランサのポート番号は重複できませんが、サーバのポート番号は重複が許可されます。
      • 22、3389、18080~18095、64000、65130、65131ポートは、Load Balancer管理用として使用され、ロードバランサのポートとしては使用できません。
    • HTTPまたは HTTPSプロトコルを選択した場合、L7 Health Checkを入力します。
      • 先頭文字はスラッシュ(/)にする必要があり、Health Checkしたいコンテンツのパスを入力します。
        例) /somedir/index.html
        例) /index.html, /dir/index.html
      • Proxy ProtocolTCPSSLプロトコルを選択した場合にのみチェックボックスが有効になります。Proxy Protocolの設定の詳細については Proxy Protocolをご参照ください。
    • HTTP/2HTTPSプロトコルを選択した場合にのみチェックボックスが有効になります。
    • HTTPSプロトコルを選択した場合、Server Protocolを選択します。
    • 追加した設定を削除するには、 [削除] ボタンをクリックします。
    参考

    SSL設定の場合、SSL Offloading方式で SSL認証を処理しているため、Load Balancerに接続しているサーバには重複して SSL設定をする必要がありません。Load Balancerのポートと同様、サーバのポートを443に設定せず、サーバーのポートは80ポートに設定することをお勧めします。サーバでも HTTPSでサービスを提供する必要がある場合、Server ProtocolHTTPSに選択して構成できます。

  • ロードバランシングアルゴリズムを選択します。

    • ロードバランシングアルゴリズムに関する詳細は、NAVERクラウドプラットフォームポータルの サービス > Networking > Load Balancer または本ガイドの FAQをご参照ください。

2.Certificateの設定

参考

Certificateの設定は1.ロードバランサ作成ステップで HTTPSまたは SSLプロトコルを追加した場合のみ表示されます。

Certificate Managerに登録されている証明書のうちサービスに適した証明書を選択した後、 [次へ] ボタンをクリックします。

3.Cipher設定

サポート可能な SSL Protocolと Ciphers適用テンプレート、適用された SSL Ciphersを確認した後、 [次へ] ボタンをクリックします。

  • SSLと TLSでサポートできるバージョンを確認します。
    • TLSv1、TLSv1.1、TLSv1.2をサポートします。
  • 適用された SSL Ciphersを確認します。
    • すべての Ciphersのうち、チェックされた項目で SSL通信が行われると、Load Balancerにより接続が許可される Ciphersです。

4.サーバ追加

loadbalancer-classiclb-classic_addserver_ko

  1. 必要な場合、サーバを検索して全サーバ領域から Load Balancerに適用するサーバを選択します。
  2. [>] ボタンをクリックして適用サーバ領域に移動します。
    • 適用サーバ領域に含まれているサーバを削除するには、削除するサーバを選択した後に[<]をクリックします。
  3. [次へ] ボタンをクリックします。

5.設定情報を見る

Load Balancerの設定情報を確認して [ロードバランサ作成] ボタンをクリックします。

  • Load Balancerが停止ステータスで作成されます。

Proxy Protocol

Proxy Protocolは Load Balancerで TCP、SSLプロトコルを利用する際に Proxy環境で接続をリクエストするクライアントの IPアドレス(Original Client IP address)を確認できるプロトコルです。

Load Balancerを設定の際にプロトコル別にクライアント IPアドレスを確認する方法は次の通りです。

プロトコル 方法
HTTP, HTTPS X-Forwarded-For
TCP, SSL Proxy Protocol

Load Balancerのルールを設定する際に Proxy Protocolの使用を選択すると、Load Balancerで以下のように requestを呼び出します。

PROXY_STRING + single space + INET_PROTOCOL + single space + CLIENT_IP + single space + PROXY_IP + single space + CLIENT_PORT + single space + PROXY_PORT + "\r\n“

例)

PROXY TCP4 125.209.237.10 125.209.192.12 43321 80\r\n

Proxy Protocolをサポートする Apacheと NginXのバージョンは次の通りです。

  • Apache 2.2
  • Apache 2.4
  • NginX 1.11.12

Proxy Protocol設定

Proxy Protocolを設定する方法は次の通りです。

  1. Load Balancer作成時 1.1. ロードバランサ作成ステップで TCPまたは SSLプロトコルを選択した後、Proxy Protocolチェックボックスをクリックして選択します。
  2. バージョンに従って次のステップを確認して設定します。

Apache 2.2

Apache 2.2バージョンで Proxy Protocolを設定する方法は次の通りです。

$ wget --no-check-certificate https://raw.githubusercontent.com/ggrandes/apache22-modules/master/mod_myfixip.c
$ /{Apacheがインストールされたパス}/bin/apxs -c -i mod_myfixip.c
  • /{Apacheがインストールされたパス}/conf/httpd.confファイルに以下の設定を追加します。

    LoadModule myfixip_module modules/mod_myfixip.so
    
    <IfModule mod_myfixip.c>
    RewriteIPResetHeader off
    RewriteIPAllow 10.31.0.0/16  #LB IPアドレス帯域に設定(e.g.LB IPアドレスが125.209.197.92の場合125.209.0.0/16)
    </IfModule mod_myfixip.c>
    

Apache 2.4

Apache 2.4バージョンで Proxy Protocolを設定する方法は次の通りです。

$ wget --no-check-certificate https://raw.githubusercontent.com/ggrandes/apache24-modules/master/mod_myfixip.c
$ /{Apacheがインストールされたパス}/bin/apxs -c -i mod_myfixip.c
  • apxsパスを確認できない場合、http-develパッケージをインストールして確認します。

  • /{Apacheがインストールされたパス}/conf/httpd.confファイルに以下の設定を追加

    LoadModule myfixip_module modules/mod_myfixip.so
    
    <IfModule mod_myfixip.c>
    RewriteIPResetHeader off
    RewriteIPAllow 10.31.0.0/16  #LB IPアドレス帯域に設定(e.g.LB IPアドレスが125.209.197.92の場合125.209.0.0/16)
    </IfModule mod_myfixip.c>
    

Nginx 1.11.12

Nginx 1.11.12バージョンで Proxy Protocolを設定する方法は次の通りです。

  1. Nginxに HTTPモジュールが含まれているか確認します。
$ nginx -V 2>&1 | grep – 'http_realip_module'
  1. Nginx confファイルに以下の設定を追加します。
http {
proxy_set_header X-Real-IP         $proxy_protocol_addr;
proxy_set_header X-Forwarded-For   $proxy_protocol_addr;
log_format main ' $proxy_protocol_addr - $remote_user [$time_local]'
#既存のログフォーマットに追加
                 '"$request" $status $body_bytes_sent'
                 '"$http_referer" "$http_user_agent"';
server
{ listen 80  proxy_protocol;
  set_real_ip_from LB IPアドレス帯域1(192.168.0.0/16);
  set_real_ip_from LB IPアドレス帯域2(192.168.0.0/16);
  real_ip_header proxy_protocol     }
}

Load Balancerの管理

作成した Load Balancerのステータスを変更・確認でき、Load Balancerの設定を変更できます。

Load Balancerのステータス変更

Load Balancerのステータスが運用中の場合のみ正常に作動します。ステータスを運用中に変更するには、ACGとサーバを設定する必要があります。

ACG設定

NAVERクラウドプラットフォームが提供する Load Balancerは、Private IP Load Balancerの機能を提供します。Load Balancerを設定する際に指定された Load Balancerのポートは、Any帯域(0.0.0.0/0)でオープンします。

Load Balancerに適用されたサーバの ACGには Load Balancerに対する許可ルールを適用する必要があります。

ACGに作成した Load Balancerに対する許可ルールを適用する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの Classic環境で、i_menu > Services > Compute > Serverメニューを順にクリックします。
  2. ACGメニューをクリックします。
  3. Load Balancerに適用したサーバの ACGを選択した後、 [ACGの設定] ボタンをクリックします。
  4. 作成する Load Balancerのプロトコル、アクセスソース、許可ポートを入力して [次へ] ボタンをクリックします。
    • アクセスソースに ncloud-load-balancerを入力します(Load Balancer詳細情報の AccessControlGroupソース項目で確認できます)。
    • 許可ポートに Load Balancerを作成する際に入力したサーバのポート番号を入力します。
    • 追加したルールを削除するには、 [X] ボタンをクリックします。
  5. [適用] ボタンをクリックします。

サーバ設定

Load Balancerのステータスを運用中に変更するには、Load Balancerに設定したサーバのポートとバインドされたサーバの Listeningポートが一致する必要があります。

サーバのポートをサーバの Listeningポートに変更する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの Classic環境で、i_menu > Services > Networking > Load Balancerメニューを順にクリックします。
  2. サーバのポートを変更する Load Balancerをクリックした後、 [ロードバランサ設定変更] ボタンをクリックします。
  3. サーバのポートをサーバの Listeningポートと同様に変更した後、 [追加] ボタンをクリックします。
  4. [確認] ボタンをクリックします。
    • 設定が完了すると、ステータスが運用中に変わります。

    • [ロードバランサステータス確認] ボタンをクリックすると、Load Balancerでサーバのポートに Health Checkした結果値を確認できます。

      注意

      ncloud-load-balancerグループの場合、ACG許可ルールを追加後にルールを削除しても、VMに対して Load Balancerの継続的な Health Checkリクエストがあれば許可ルールがなくても VMと通信できる場合があります。通信を確実に遮断するには、接続された Load Balancerを再起動します。

Load Balancerの設定

Load Balancerの設定情報を確認して設定を変更する方法は、次の通りです。

参考

Load Balancerに適用されたサーバは [適用サーバ] ボタンをクリックして変更できます。詳細は、適用サーバ変更をご参照ください。

  1. NAVERクラウドプラットフォームコンソールの Classic環境で、i_menu > Services > Networking > Load Balancerメニューを順にクリックします。

  2. Load Balancerメニューをクリックします。

  3. 設定情報を確認するか、変更する Load Balancerを選択し、 [ロードバランサ設定変更] ボタンをクリックします。

    • ロードバランサの設定の変更ポップアップが表示され、Load Balancerの設定情報を確認できます。
  4. 変更事項を適用した後、 [確認] ボタンをクリックします。

    loadbalancer-classiclb-classic_edit_ko

    • ロードバランサ設定を変更できます。
    • ロードバランシングアルゴリズムを変更できます。

適用サーバ変更

Load Balancerに適用されたサーバを確認して追加/削除する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの Classic環境で、i_menu > Services > Networking > Load Balancerメニューを順にクリックします。

  2. Load Balancerメニューをクリックします。

  3. 適用サーバを変更する Load Balancerを選択して適用サーバ変更ボタンをクリックします。

    • 適用サーバの変更ポップアップが表示され、Load Balancerに適用されているサーバを確認できます。

    loadbalancer-classiclb-classic_server_ko

  4. サーバを追加する場合、全サーバ領域で追加するサーバを選択して [>] ボタンをクリックします。

  5. 適用されたサーバを削除する場合、適用サーバ領域で削除するサーバを選択して [<] ボタンをクリックします。

  6. [確認] ボタンをクリックします。

SSL証明書の管理

Certificate Listメニューで SSL証明書を管理できます。

Certificate Listメニューに移動するには、 [SSL証明書の管理] ボタンをクリックした後、 [Certificate Managerに移動する] をクリックするか、i_menu > Services > Security > Certificate Manager > Certificate Listメニューを順にクリックします。

SSL証明書の管理の詳細は、Certificate Manager ご利用ガイドをご参照ください。

Load Balancerのステータス確認

Load Balancerとサーバの接続ステータスを確認する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの Classic環境で、i_menu > Services > Networking > Load Balancerメニューを順にクリックします。
  2. ステータスを確認する Load Balancerをクリックした後、 [ロードバランサのステータス確認] ボタンをクリックします。
    • ロードバランサのステータスを見るポップアップが表示され、Load Balancerとサーバの接続ステータスを確認できます。

Load Balancerのモニタリング

選択した期間に応じて一定周期で収集した Concurrent Connectionと Connection per Second、Traffic In、Traffic Out情報をそれぞれグラフで確認できます。

参考

選択した期間に応じて収集周期は異なり、負荷分散を処理して収集されたモニタリング情報は最小1分から最大直近1年まで設定して確認できます。

集計周期(Interval) 照会期間
1分周期 最大6時間
5分周期 最大1日
30分周期 最大1週間
2時間周期 最大1か月
1日周期 1か月超え

Load Balancerのモニタリング情報を確認する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの Classic環境で、i_menu > Services > Networking > Load Balancerメニューを順にクリックします。
  2. Load Balancerメニューをクリックします。
  3. モニタリングする Load Balancerを選択して [モニタリング] ボタンをクリックします。
    • Load Balancerの基本モニタリングのポップアップが表示され、モニタリング情報をグラフで確認できます。
    • 期間を選択して選択された期間に収集したモニタリング情報を確認できます。
    • [更新] ボタンをクリックすると、照会されたグラフが更新されます。

HTTP Keep-alive適用有無の変更

HTTP Keep-aliveは接続された connectionを一定時間維持しながら、再接続をリクエストすると接続された connectionを再使用するオプションです。

HTTP Keep-alive適用の有無を変更する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの Classic環境で、i_menu > Services > Networking > Load Balancerメニューを順にクリックします。
  2. 適用の有無を変更する Load Balancerをクリックします。
    • その Load Balancerの詳細情報が表示されます。
  3. HTTP Keep-alive適用i_loadbalancer_editをクリックします。
  4. 適用の有無を変更した後、 [変更] ボタンをクリックします。

Connection Idle Timeout設定

Connection Idle Timeoutは Load Balancerと接続された connectionを維持する時間で、その時間が経過すれば connectionが強制的に closeされて接続が解除されます。Long transactionをサポートするアプリケーションが必要な場合、そのオプションを調整して connectionの接続時間を設定します。Defaultは60秒であり、60~3,600秒に設定できます。

Connection Idle Timeoutを設定する方法は次の通りです。

  1. NAVERクラウドプラットフォームコンソールの Classic環境で、i_menu > Services > Networking > Load Balancerメニューを順にクリックします。
  2. 設定する Load Balancerをクリックします。
    • その Load Balancerの詳細情報が表示されます。
  3. Connection Idle Timeoutの設定(default: 60秒)i_loadbalancer_editをクリックします。
  4. 設定値を変更した後、 [変更] ボタンをクリックします。

Load Balancerの削除

Load Balancerを削除する方法は次の通りです。

  1. NAVERクラウドプラットフォームコンソールの Classic環境で、i_menu > Services > Networking > Load Balancerメニューを順にクリックします。
  2. 削除する Load Balancerを選択して [ロードバランサ削除] ボタンをクリックします。
  3. ロードバランサ削除のポップアップの内容を確認し、 [削除] ボタンをクリックします。
    • 選択した Load Balancerが削除されます。