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