10.2. ヘルスモニターを使用した UDP ロードバランサーの作成
UDP ポート上のネットワークトラフィックを管理する必要がある場合が、ロードバランサーを作成することができます。バックエンドメンバーを利用できる状態に保つためのヘルスモニターも作成するのがベストプラクティスです。
前提条件
- インターネットから到達できる共有外部 (パブリック) サブネット。
- ICMP Destination Unreachable メッセージ (ICMP タイプ 3) をブロックするセキュリティールールはありません。
手順
Source コマンドで認証情報ファイルを読み込みます。
例
source ~/overcloudrc
$ source ~/overcloudrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プライベートサブネット (
private_subnet
) にロードバランサー (lb1
) を作成します。注記丸かっこ内の値は、この手順のコマンド例で使用されるサンプルの値です。これらのサンプル値を、実際のサイトに適した値に置き換えてください。
例
openstack loadbalancer create --name lb1 \ --vip-subnet-id private_subnet --wait
$ openstack loadbalancer create --name lb1 \ --vip-subnet-id private_subnet --wait
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ポート (
1234
) にリスナー (listener1
) を作成します。例
openstack loadbalancer listener create --name listener1 \ --protocol UDP --protocol-port 1234 lb1
$ openstack loadbalancer listener create --name listener1 \ --protocol UDP --protocol-port 1234 lb1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow リスナーのデフォルトプール (
pool1
) を作成します。例
この例のコマンドは、UDP ポートを使用するように設定された 1 つ以上のアプリケーションをホストするバックエンドサーバーを含むプライベートサブネットを使用するプールを作成します。
openstack loadbalancer pool create --name pool1 \ --lb-algorithm ROUND_ROBIN --listener listener1 --protocol UDP
$ openstack loadbalancer pool create --name pool1 \ --lb-algorithm ROUND_ROBIN --listener listener1 --protocol UDP
Copy to Clipboard Copied! Toggle word wrap Toggle overflow UDP (
UDP-CONNECT
) を使用してバックエンドサーバーに接続するヘルスモニター (healthmon1
) を、プール (pool1
) 上に作成します。ヘルスチェックは推奨されていますが、必須ではありません。ヘルスモニターが定義されていない場合、メンバーサーバーは
ONLINE
とみなされます。例
openstack loadbalancer healthmonitor create --name healthmon1 \ --delay 5 --max-retries 2 --timeout 3 --type UDP-CONNECT pool1
$ openstack loadbalancer healthmonitor create --name healthmon1 \ --delay 5 --max-retries 2 --timeout 3 --type UDP-CONNECT pool1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プライベートサブネット (
private_subnet
) 上のバックエンドサーバー (192.0.2.10
および192.0.2.11
) を、デフォルトプールに追加します。例
この例では、バックエンドサーバー
192.0.2.10
および192.0.2.11
の名前は、それぞれmember1
およびmember2
です。openstack loadbalancer member create --name member1 --subnet-id \ private_subnet --address 192.0.2.10 --protocol-port 1234 pool1 openstack loadbalancer member create --name member2 --subnet-id \ private_subnet --address 192.0.2.11 --protocol-port 1234 pool1
$ openstack loadbalancer member create --name member1 --subnet-id \ private_subnet --address 192.0.2.10 --protocol-port 1234 pool1 $ openstack loadbalancer member create --name member2 --subnet-id \ private_subnet --address 192.0.2.11 --protocol-port 1234 pool1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ロードバランサー (
lb1
) の設定を表示して確認します。例
openstack loadbalancer show lb1
$ openstack loadbalancer show lb1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヘルスモニターが存在し正常に機能する場合は、各メンバーのステータスを確認することができます。
例
openstack loadbalancer member show pool1 member1
$ openstack loadbalancer member show pool1 member1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 動作中のメンバー (
member1
) のoperating_status
値はONLINE
です。出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow