第3章 サービス設定のリファレンス
本章では、ロードバランシングを使用するオーバークラウド内の各特定サービスの設定について概説します。この設定は、お使いの外部のロードバランサーを設定するための指針として利用してください。これらのパラメーターおよびその他のパラメーターについての詳しい説明は、コントローラーノード (または haproxy パッケージがインストールされた任意のシステム) の /usr/share/doc/haproxy-*/configuration.txt にある『HAProxy Configuration Manual』を参照してください。
大半のサービスは、デフォルトのヘルスチェック設定を使用します。
- ヘルスチェックの実行間隔が 2000 ミリ秒 (2 秒) に設定されます。
- ヘルスチェックに 2 回成功すると、サーバーは稼働中と見なされます。
- ヘルスチェックに 5 回失敗すると、サービスは停止中と見なされます。
その他の情報 の項には、各サービスのデフォルトのヘルスチェックを記載しています。mysql サービスのヘルスチェックのポートが異なる点に注意してください。
3.1. 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
3.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
3.3. glance_api リンクのコピーリンクがクリップボードにコピーされました!
ポート番号: 9292
バインド先: storage、external
ターゲットのネットワーク/サーバー: overcloud-controller-0、overcloud-controller-1、overcloud-controller-2 上のストレージ
その他の情報:
- 各ターゲットサーバーは、デフォルトのヘルスチェックを使用します。
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
3.4. 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
3.5. 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
3.6. 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
3.7. 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
3.8. horizon リンクのコピーリンクがクリップボードにコピーされました!
ポート番号: 80
バインド先: internal_api、external
ターゲットのネットワーク/サーバー: overcloud-controller-0、overcloud-controller-1、overcloud-controller-2 上の internal_api
その他の情報:
- 各ターゲットサーバーは、デフォルトのヘルスチェックを使用します。
- このサービスは、デフォルトの TCP モードの代わりに HTTP モードを使用します。
- このサービスは、UI との対話に Cookie によるパーシステンスを使用します。
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
3.9. 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
3.10. 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
3.11. 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
3.12. mysql リンクのコピーリンクがクリップボードにコピーされました!
ポート番号: 3306
バインド先: internal_api
ターゲットのネットワーク/サーバー: overcloud-controller-0、overcloud-controller-1、overcloud-controller-2 上の internal_api
その他の情報:
- 各ターゲットサーバーは、デフォルトのヘルスチェックを使用します。ただし、ヘルスチェックにはポート 9200 を使用します。
- このサービスは、一度に 1 サーバーに対してのみに負荷分散されます。
- バックアップ用でないサーバーが利用できない場合には、各サーバーはロードバランシングのみに使用されます。
- サーバーのステータスが down の場合には、全接続が直ちに切断されます。
- TCP キープアライブパケットの送信を両側で有効にします。
- サーバーの正常性をチェックする HTTP プロトコルを有効にします。
- IP アドレスを保管するスティッキネステーブルを設定します。これは、パーシステンスの維持に役立ちます。
mysql サービスは、Galera を使用して高可用性のデータベースクラスターを提供します。Galera は active/active 構成をサポートしますが、ロックの競合を回避するためにロードバランサーによって有効化される active/passive 構成を使用することを推奨します。
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
3.13. 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
3.14. 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
3.15. 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
3.16. nova_novncproxy リンクのコピーリンクがクリップボードにコピーされました!
ポート番号: 6080
バインド先: internal_api、external
ターゲットのネットワーク/サーバー: overcloud-controller-0、overcloud-controller-1、overcloud-controller-2 上の internal_api
その他の情報:
- 各ターゲットサーバーは、デフォルトのヘルスチェックを使用します。
- デフォルトの分散メソッドはラウンドロビン式ですが、このサービスには、ソース メソッドを使用します。このメソッドは、ソース IP アドレスをハッシュ化し、実行中のサーバーの加重値の和で除算します。これにより、要求を受信するサーバーを指定します。こうすることでサーバーが down または up のステータスに切り替わらない限りは、確実に同じクライアント 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
3.17. 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
3.18. 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 設定には、tcp-check に
AUTHメソッドと Redis の管理パスワードを使用します。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
timeout client 0
timeout server 0
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
3.19. swift_proxy_server リンクのコピーリンクがクリップボードにコピーされました!
ポート番号: 8080
バインド先: storage、external
ターゲットのネットワーク/サーバー: overcloud-controller-0、overcloud-controller-1、overcloud-controller-2 上のストレージ
その他の情報:
- 各ターゲットサーバーは、デフォルトのヘルスチェックを使用します。
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