Target Group の作成と管理

Prev Next

VPC環境で利用できます。

Target Groupは1つ以上の登録された対象にリクエストを分配するために使われます。つまり、リクエストを処理する対象(サーバ)の集合であり、Load Balancerサービスでのみ使用されます。Load Balancerのリスナーを作成する時、動作に対する Target Groupを指定し、条件によってトラフィックを分配します。

  • Target Groupは登録対象に対して定義したヘルスチェックを実行します。サービスを実行する対象のプロトコルによって L4、L7レベルで状態を確認します。
  • Target Groupは Zoneと Subnetに関係なく、同じ VPC内のすべての対象(サーバ)を登録できます。
  • Target Groupは、接続されたロードバランサの追加リスナーでは再使用できますが、他のロードバランサとの重複接続はサポートしません。

Target Group作成

Target Groupを作成する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Networking > Load Balancer メニューを順にクリックします。
  2. Target Group メニューをクリックします。
  3. [Target Group作成] ボタンをクリックします。
  4. Target Groupの作成画面が表示されたら、以下の手順を順に行います。

1. Target Group作成

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

  • Targetタイプ : 一般 VPCサーバと Transit VPCサーバを選択します。

  • VPC : 登録する Target(サーバ)が含まれている VPCを選択します。

  • プロトコル : Targetのロールに応じてプロトコルを選択します。

  • 選択したプロトコルに応じて接続できる Load Balancerのタイプが異なり、プロトコル別の Load Balancerのタイプは次の通りです。

    プロトコル ロードバランサ
    TCP, UDP Network Load Balancer
    PROXY_TCP Network Proxy Load Balancer
    HTTP, HTTPS Application Load Balancer
    IP Inline Load Balancer
  • ポート : 各 Targetがサービス(Listen)中のポート番号を入力します。

  • 入力されたポートでトラフィックを伝達します。

  • Transit VPC Serverタイプを選択すると無効になります。

2. Health Check設定

Target Groupの Health Checkポリシーを設定して [次へ] ボタンをクリックします。

  • プロトコル : Targetの状態を確認できるプロトコルを選択します。
  • Target Groupのプロトコルが TCP /PROXY_TCP /IP の場合は TCP のみ選択でき、HTTP /HTTPS の場合は HTTP または HTTPS を選択できます。
  • ポート : Targetの状態を確認できるポート番号を入力します。
  • 状態を確認できる場合、1. Target Group作成で入力したポート番号と一致する必要はありません。
  • 1. Target Group作成HTTP または HTTPS プロトコルを選択した場合、 URL PathHTTP Method を入力します。
    • URL Method : Targetの状態を確認する URLパスを入力します。
      • Health Check URLの制限: 先頭は「/」で、a-z、A-Z、0-9および@:%_+.~#?&/=-文字のみ使用可能(最大1024字))
    • HTTP Method : Targetの状態を確認する HTTP Method( HEAD / GET )を選択します。
  • Health Checkの周期(秒) : Health Checkの周期を5~300秒までの数値を入力します。
  • Targetの状態が変更されるしきい値を入力します。
    • 正常しきい値 : 異常な Targetを再びサービスに投入するために必要なヘルスチェックでの成功回数
    • 失敗しきい値 : 正常な Targetが失敗して異常な状態に切り替わり、負荷分散の Targetから外れる回数

3. Target追加

  1. 全 Target 領域で Target Groupに含める Targetを選択します。
  • 全 Targetは、VPC内のすべてのサーバが対象となります。
  • Transit VPC Serverタイプの Target Groupは、3rd Partyイメージで作成されたサーバのみ表示されます。
  1. [>] ボタンをクリックして適用 Target 領域に移動します。
  • 適用 Target 領域に含まれている Targetを削除するには、削除する Targetを選択して [<] をクリックします。
  1. [次へ] ボタンをクリックします。

4. 設定情報を見る

Target Groupの設定情報を確認して [Target Groupの作成] ボタンをクリックします。

Target Group管理

作成した Target Groupは設定を変更したり、Targetを追加/削除したり、Health Check設定を変更でき、モニタリング情報をグラフで確認できます。

Target Group設定

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

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Networking > Load Balancer メニューを順にクリックします。
  2. Target Group メニューをクリックします。
  3. 設定情報を確認するか、変更する Target Groupを選択して [TargetGroup設定] ボタンをクリックします。
    • Target Groupの設定のポップアップが表示され、Target Groupの設定情報を確認できます。
  4. 変更事項を適用し、 [確認] ボタンをクリックします。
    • Sticky Session設定の有無、Proxy Protocol適用の有無、ロードバランシングアルゴリズムを変更できます。
    • Sticky Sessionはヘッダにサーバの固有 IDを追加し、以下のリクエストが発生しても同じサーバにのみ伝達する機能です。
      • Target Groupのプロトコルが TCP /UDP /HTTP /HTTPS の場合にのみチェックボックスが有効になります。
    • Proxy Protocolは、Target Groupのプロトコルが PROXY_TCP の場合にのみ有効になります。
      • Proxy Protocolの設定の詳細については Proxy Protocolをご参照ください。
    • ロードバランシングアルゴリズムは Round Robin /Least Connection /Source Ip Hash の中から選択できます。
      • Target Groupのプロトコルが TCP , UDP および IP の場合、Least Connection はオプションから除外されます。
      • ロードバランシングアルゴリズムに関する詳細は、NAVERクラウドプラットフォームポータルのサービス > Networking > Load Balancer または本ガイドの FAQをご参照ください。

Health Checkの設定

Target Groupに設定された Health Checkポリシーを確認して設定を変更する方法は次の通りです。

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Networking > Load Balancer メニューを順にクリックします。
  2. Target Group メニューをクリックします。
  3. Health Checkポリシーを設定する Target Groupを選択して [Health Check設定] ボタンをクリックします。
    • Health Checkの設定ポップアップが表示され、Health Checkポリシーを確認できます。
  4. 変更事項を適用し、 [確認] ボタンをクリックします。
    • Health Checkポリシーの設定の各項目に関する詳しい説明は、2. Health Check設定ご参照ください。

Target設定

Target Groupに含まれている Targetを確認して追加/削除する方法は、次の通りです。

参考

Load Balancerに適用されているサーバを変更したい場合、Load Balancerに追加した Target Groupの Targetを変更してください。

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Networking > Load Balancer メニューを順にクリックします。
  2. Target Group メニューをクリックします。
  3. Targetを設定する Target Groupを選択して [Target設定] ボタンをクリックします。
    • Target設定のポップアップが表示され、Target Groupに含まれている Targetを確認できます。
  4. Targetを追加する場合、 全 Target 領域で追加する Targetを選択して [>] ボタンをクリックします。
    • 全サーバは、VPC内のすべてのサーバが対象となります。
    • Transit VPC Serverタイプの Target Groupは、3rd Partyイメージで作成されたサーバのみ表示されます。
  5. 含まれている Targetを削除する場合、 適用 Target 領域から削除する Targetを選択して [>] ボタンをクリックします。
  6. [確認] ボタンをクリックします。

Target状態確認

Targetの状態を確認する方法は次の通りです。

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Networking > Load Balancer メニューを順にクリックします。
  2. Target Group メニューをクリックします。
  3. Targetの状態を確認する Target Groupを選択して [Target状態確認] ボタンをクリックします。
    • Target状態のポップアップが表示され、設定された Health Checkポリシーに従って Target Group内の Targetの状態を確認できます。

Target Groupのモニタリング

一定周期で収集した Available Host Countと Unavailable Host Count情報をそれぞれグラフで確認できます。

参考

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

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

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

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

Target Group削除

参考

Target Groupが Load Balancerに接続している場合、Target Groupは削除できません。まず Load Balancerを削除して Target Groupを削除してください。

Target Groupを削除する方法は、次の通りです。

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

Proxy Protocol

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

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

プロトコル 方法
HTTP, HTTPS X-Forwarded-For
TCP, TLS 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. ロードバランサ作成段階で 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     }
}