2.2. 負荷分散を使用するサービスの設定パラメーター
負荷分散を使用するオーバークラウドの各サービスについて、以下の例を参考にして外部のロードバランサーを設定します。実際の環境に応じてパラメーターの値を調整し、負荷分散を行うサービスごとにセクションをコピーします。
ほとんどのサービスは、デフォルトのヘルスチェック設定を使用します。
- 連続する 2 回のヘルスチェックの間隔を 2000 ミリ秒 (2 秒) に設定します。
- ヘルスチェックに 2 回成功すると、サービスは稼働状態とみなされます。
- ヘルスチェック に 5 回失敗すると、サービスはオフラインとみなされます。
各サービスは、そのサービスのその他の情報 セクションで、デフォルトのヘルスチェックまたは追加のオプションを示します。
aodh
ポート番号: 8042
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen aodh bind 172.16.20.250:8042 bind 172.16.23.250:8042 server overcloud-controller-0 172.16.20.150:8042 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:8042 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:8042 check fall 5 inter 2000 rise 2
ceilometer
ポート番号: 8777
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen ceilometer bind 172.16.20.250:8777 bind 172.16.23.250:8777 server overcloud-controller-0 172.16.20.150:8777 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:8777 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:8777 check fall 5 inter 2000 rise 2
cinder
ポート番号: 8776
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen cinder bind 172.16.20.250:8776 bind 172.16.23.250:8776 server overcloud-controller-0 172.16.20.150:8776 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:8776 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:8776 check fall 5 inter 2000 rise 2
glance_api
ポート番号: 9292
バインド先: storage、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の storage
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen glance_api bind 172.16.23.250:9292 bind 172.16.21.250:9292 server overcloud-controller-0 172.16.21.150:9292 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.21.151:9292 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.21.152:9292 check fall 5 inter 2000 rise 2
glance_registry
ポート番号: 9191
バインド先: internal_api
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen glance_registry bind 172.16.20.250:9191 server overcloud-controller-0 172.16.20.150:9191 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:9191 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:9191 check fall 5 inter 2000 rise 2
gnocchi
ポート番号: 8041
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen gnocchi bind 172.16.20.250:8041 bind 172.16.23.250:8041 server overcloud-controller-0 172.16.20.150:8041 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:8041 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:8041 check fall 5 inter 2000 rise 2
heat_api
ポート番号: 8004
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
- このサービスは、デフォルトの TCP モードの代わりに HTTP モードを使用します。
HAProxy の例:
listen heat_api bind 172.16.20.250:8004 bind 172.16.23.250:8004 mode http server overcloud-controller-0 172.16.20.150:8004 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:8004 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:8004 check fall 5 inter 2000 rise 2
heat_cfn
ポート番号: 8000
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen heat_cfn bind 172.16.20.250:8000 bind 172.16.23.250:8000 server overcloud-controller-0 172.16.20.150:8000 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.152:8000 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.151:8000 check fall 5 inter 2000 rise 2
heat_cloudwatch
ポート番号: 8003
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen heat_cloudwatch bind 172.16.20.250:8003 bind 172.16.23.250:8003 server overcloud-controller-0 172.16.20.150:8003 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:8003 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:8003 check fall 5 inter 2000 rise 2
horizon
ポート番号: 80
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
- このサービスは、デフォルトの TCP モードの代わりに HTTP モードを使用します。
- このサービスは、UI との対話にクッキーベースの永続性を使用します。
HAProxy の例:
listen horizon bind 172.16.20.250:80 bind 172.16.23.250:80 mode http cookie SERVERID insert indirect nocache server overcloud-controller-0 172.16.20.150:80 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:80 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:80 check fall 5 inter 2000 rise 2
keystone_admin
ポート番号: 35357
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen keystone_admin bind 172.16.23.250:35357 bind 172.16.20.250:35357 server overcloud-controller-0 172.16.20.150:35357 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:35357 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:35357 check fall 5 inter 2000 rise 2
keystone_admin_ssh
ポート番号: 22
バインド先: internal_api
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen keystone_admin_ssh bind 172.16.20.250:22 server overcloud-controller-0 172.16.20.150:22 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:22 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:22 check fall 5 inter 2000 rise 2
keystone_public
ポート番号: 5000
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen keystone_public bind 172.16.20.250:5000 bind 172.16.23.250:5000 server overcloud-controller-0 172.16.20.150:5000 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:5000 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:5000 check fall 5 inter 2000 rise 2
mysql
ポート番号: 3306
バインド先: internal_api
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。ただし、ヘルスチェックにはポート 9200 が使用されます。
- このサービスは、1 度に 1 つのサーバーにのみ負荷分散されます。
- 各サーバーは、他のすべてのバックアップ以外のサーバーが使用できない場合にのみ、負荷分散で使用されます。
- サーバーがオフラインの場合、すべての接続は即時に終了します。
- 両側で TCP キープアライブパケットパケットの送信を有効にする必要があります。
- サーバーの正常性を確認するには、HTTP プロトコルを有効にする必要があります。
- IP アドレスを格納するためにスティッキネステーブルを設定すると、永続性を維持するのに役立ちます。
mysql サービスは、Galera を使用して高可用性のデータベースクラスターを提供します。Galera はアクティブ/アクティブ設定をサポートしていますが、ロック競合を回避するために、ロードバランサーにより強制されるアクティブ/パッシブ設定を使用する必要があります。
HAProxy の例:
listen mysql bind 172.16.20.250:3306 option tcpka option httpchk stick on dst stick-table type ip size 1000 timeout client 0 timeout server 0 server overcloud-controller-0 172.16.20.150:3306 backup check fall 5 inter 2000 on-marked-down shutdown-sessions port 9200 rise 2 server overcloud-controller-1 172.16.20.151:3306 backup check fall 5 inter 2000 on-marked-down shutdown-sessions port 9200 rise 2 server overcloud-controller-2 172.16.20.152:3306 backup check fall 5 inter 2000 on-marked-down shutdown-sessions port 9200 rise 2
neutron
ポート番号: 9696
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen neutron bind 172.16.20.250:9696 bind 172.16.23.250:9696 server overcloud-controller-0 172.16.20.150:9696 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:9696 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:9696 check fall 5 inter 2000 rise 2
nova_ec2
ポート番号: 8773
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen nova_ec2 bind 172.16.20.250:8773 bind 172.16.23.250:8773 server overcloud-controller-0 172.16.20.150:8773 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:8773 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:8773 check fall 5 inter 2000 rise 2
nova_metadata
ポート番号: 8775
バインド先: internal_api
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen nova_metadata bind 172.16.20.250:8775 server overcloud-controller-0 172.16.20.150:8775 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:8775 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:8775 check fall 5 inter 2000 rise 2
nova_novncproxy
ポート番号: 6080
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
- デフォルトの負荷分散方法はラウンドロビンです。ただし、このサービスでは source メソッドが使用されます。このメソッドは、ソース IP アドレスをハッシュし、実行中のサーバーの重みの合計で除算します。このメソッドは、リクエストを受信するサーバーも指定し、サーバーが終了/起動しない限り、同じクライアント IP アドレスが常に同じサーバーに到達するようにします。実行中のサーバー数が変更されたためにハッシュの結果が変更された場合、ロードバランサーはクライアントを別のサーバーにリダイレクトします。
HAProxy の例:
listen nova_novncproxy bind 172.16.20.250:6080 bind 172.16.23.250:6080 balance source server overcloud-controller-0 172.16.20.150:6080 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:6080 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:6080 check fall 5 inter 2000 rise 2
nova_osapi
ポート番号: 8774
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen nova_osapi bind 172.16.20.250:8774 bind 172.16.23.250:8774 server overcloud-controller-0 172.16.20.150:8774 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:8774 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:8774 check fall 5 inter 2000 rise 2
nova_placement
ポート番号: 8778
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen nova_placement bind 172.16.20.250:8778 bind 172.16.23.250:8778 server overcloud-controller-0 172.16.20.150:8778 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:8778 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:8778 check fall 5 inter 2000 rise 2
panko
ポート番号: 8779
バインド先: internal_api、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen panko bind 172.16.20.250:8779 bind 172.16.23.250:8779 server overcloud-controller-0 172.16.20.150:8779 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:8779 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:8779 check fall 5 inter 2000 rise 2
redis
ポート番号: 6379
バインド先: internal_api(redis サービス IP)
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の internal_api
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
-
tcp-check
send/expect シーケンスを使用してヘルスチェックを実行します。送信する文字列はinfo\ replication\r\n
で、応答はrole:master
です。 -
Redis サービスは認証にパスワードを使用します。たとえば、HAProxy 設定は、AUTH メソッドと Redis 管理パスワードによる
tcp-check
を使用します。director は通常、ランダムなパスワードを生成しますが、カスタムの Redis パスワードを定義できます。 -
デフォルトの負荷分散方法は
ラウンドロビン
です。ただし、このサービスではfirst
メソッドが使用されます。これにより、利用可能な接続スロットがある最初のサーバーが接続を受け取るようになります。
HAProxy の例:
listen redis bind 172.16.20.249:6379 transparent balance first option tcp-check tcp-check send AUTH\ p@55w0rd!\r\n tcp-check send PING\r\n tcp-check expect string +PONG tcp-check send info\ replication\r\n tcp-check expect string role:master tcp-check send QUIT\r\n tcp-check expect string +OK server overcloud-controller-0 172.16.20.150:6379 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.20.151:6379 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.20.152:6379 check fall 5 inter 2000 rise 2
swift_proxy_server
ポート番号: 8080
バインド先: storage、external
ターゲットネットワークまたはサーバー: overcloud-controller-0、overcloud-controller-1、および overcloud-controller-2 の storage
その他の情報:
- 各ターゲットサーバーはデフォルトのヘルスチェックを使用します。
HAProxy の例:
listen swift_proxy_server bind 172.16.23.250:8080 bind 172.16.21.250:8080 server overcloud-controller-0 172.16.21.150:8080 check fall 5 inter 2000 rise 2 server overcloud-controller-1 172.16.21.151:8080 check fall 5 inter 2000 rise 2 server overcloud-controller-2 172.16.21.152:8080 check fall 5 inter 2000 rise 2