フロントエンドIPリソースの作成
IP 転送を無効にしたGoogle Cloudロードバランサーを使用する場合( Google Cloud – 内部ロードバランサーの使用 の「IP転送を無効にする」セクションを参照)、ロードバランサーのフロントエンドに関連付けられたIPアドレスを、ネットワークマスク/32(255.255.255.255に相当)を使用して各バックエンドサーバーのローカルネットワークインターフェースに追加する必要があります。これらの構成では、ロードバランサーのフロントエンドIPアドレスは、クラウドエージェントプロセスによってネットワークインターフェースに自動的に追加されません。代わりに、各バックエンドサーバーのゲストオペレーティングシステム内で手動で追加する必要があります。これを実現する最も簡単な方法は、ロードバランサーのフロントエンドIPアドレスごとに、LifeKeeper IPリソースを作成し、次のセクションで作成するLB Health Checkリソースの依存関係として追加することです。
IPリソースの作成 の手順に従って、次のパラメーターを使用して、ロードバランサーの各フロントエンドIPアドレスにIPリソースを作成および拡張します。
| Create Resource ウィザード | |
|---|---|
| Switchback Type | intelligent |
| Server | node-a |
| IP Resource | <Frontend IP Address> |
| Netmask | 255.255.255.255 |
| Network Interface | <Network Interface> |
| IP Resource Tag | <Resource Tag> |
| Pre-Extend ウィザード | |
| Target Server | node-b |
| Switchback Type | intelligent |
| Template Priority | 1 |
| Target Priority | 10 |
| Extend comm/ip Resource Hierarchy ウィザード | |
| IP Resource | <Frontend IP Address> |
| Netmask | 255.255.255.255 |
| Network Interface | <Network Interface> |
| IP Resource Tag | <Resource Tag> |
ロードバランサーのフロントエンドIPアドレスごとにIPリソースが作成されたため、ロードバランサーのヘルスチェックプローブに応答するLB Health Checkリソースを作成できます。
LB Health Checkリソースの作成
この例では、TCPポート54321でListenするサーバーnode-a上にサンプルのLB Health Checkリソースを作成します。
- LifeKeeper Web Management Consoleで、“Operations“ドロップダウンをクリックし、ドロップダウンから“Create Resource Hierarchy“をクリックして“Create Resource“画面を開きます。“Server”で対象のプライマリーノードを選択し、Application Recovery Kitで“LB Health Check”を選択します。

- プロンプトが表示されたら使用する“Reply Daemon Port”を入力し、“Next”をクリックします。

- リソース作成ウィザードに以下の値を入力し、プロンプトが表示されたら“Create“をクリックします。
アイコンは、デフォルトのオプションが選択されていることを示します。
| Reply daemon message | None (Empty) |
| LB Health Check Resource Tag | lbhc-54321 |
| Switchback Type | Intelligent |

リソースが作成され、正常にサービスが開始されたら、“Next“をクリックして確認画面に進みます。準備ができたら、“Execute“をクリックします。

- リソースの作成と復元が完了したら、“Extend Resource Hierarchy”ボタンを選択します。
- “Extend Resource Hierarchy“画面に以下の値を入力してください。
アイコンは、デフォルトのオプションが選択されていることを示します。
| Target Server | node-a |
| Template Priority | 1 |
| Target Server | node-b |
| Target Priority | 10 |
事前拡張チェックに合格したら、“Next“をクリックして、Extend Resource Hierarchyウィザードに進みます。

- “Additional Settings”画面で、スイッチバックタイプとして“Intelligent”を選択し、“Next”をクリックします。

- “Confirm”画面で選択したオプションを確認し、続行する準備ができたら“Execute”を選択します。

- “Close”をクリックして、LifeKeeper Web Managementコンソールに戻ります。
- LifeKeeper Web Managementコンソールに戻ると、新しく作成されたlbhc-54321リソースがノードaでアクティブ、ノードbでスタンバイになっていることがわかります。この状態では、ポート54321でTCPヘルスチェックを実行するTCPロードバランサーは、ノードaを正常、ノードbを異常とみなし、すべてのロードバランサートラフィックをノードaにルーティングします。このリソースを保護対象アプリケーションと同じリソース階層に配置すると、ロードバランサートラフィックは常にアプリケーションが現在実行されているサーバーにルーティングされます。

LB Health Checkリソースの依存関係としてフロントエンドIPリソースを追加する
IP転送を無効にしてGoogle Cloudロードバランサーを使用する場合 ( Google Cloud – 内部ロードバランサーの使用 IPアドレスを保護するIPリソース(ネットワークマスク 255.255.255.255 を使用)は、LB Health Checkリソースの依存関係として追加する必要があります。上記の「フロントエンドIPリソースの作成」セクションで作成したIPリソースごとに、次の手順を実行します。
- ilb-test-54321リソースを右クリックし、ドロップダウンメニューから“Create Dependency…“を選択します。
- 子リソースタグにロードバランサーのフロントエンドIPアドレスを保護するリソースを指定します。
- “Next“をクリックして続行し、 “Create Dependency“をクリックして依存関係を作成します。
IP リソースが依存関係として追加されると、階層は次のようになります

LB Health Checkリソースのスイッチオーバーとフェイルオーバーをテストする
このセクションでは、node-aとnode-bをバックエンドターゲットとして使用し、次のプロパティを持つ内部ロードバランサーを作成していると想定します。
- フロントエンド内部 IP:10.20.0.10
- ポート54321でのTCPヘルスチェック
また、前のセクションで作成した“ilb-test-54321” LB Health Checkリソースは、現在node-aでアクティブになっているとします。
便宜上、各サーバーのホスト名を返すだけの一時的な Apache Webサーバーをセットアップします。 node-aとnode-bの両方 で次のコマンドを実行します。SLESサーバーにインストールする場合は、コマンドを適宜調整してください(例:zypper installを使用)。
# yum install -y httpd # systemctl start httpd # echo $(hostname) > /var/www/html/index.html
続行する前に、node-aおよびnode-bのTCPポート80でトラフィックが許可されていることを確認してください。
次に、ilb-test-54321 LB Health Checkリソースのスイッチオーバーおよびフェイルオーバー機能をテストします。
- ilb-test-54321リソースがnode-aでアクティブでnode-bでスタンバイの場合、各サーバーで次のコマンドの出力を確認します。
[root@node-a ~]# curl http://10.20.0.10 node-a [root@node-b ~]# curl http://10.20.0.10 node-a
- node-aで以下のコマンドを実行します。
[root@node-a ~]# while true; do curl http://10.20.0.10; sleep 1; done
そして、 ilb-test-54321リソースのnode-bへのスイッチオーバーを開始します。スイッチオーバーが正常に完了したら、Ctrl-C(SIGINT)を使用して、node-aで実行中のコマンドを終了させます。
コマンドの出力は次のようになります。
…
node-a
node-a
node-a
[switchover occurs]
node-b
node-b
node-b
…
特に、ロードバランサーは、node-bへのルーティングを開始する前に、node-aへのトラフィックのルーティングを完全に停止する必要があります。スイッチオーバーポイント付近の出力が次のようになっている場合:
…
node-a
[switchover occurs]
node-b
node-a
node-b
node-a
node-b
node-a
node-b
node-b
node-b
…
ヘルスチェックのプロパティを編集して、バックエンドインスタンスが異常と判定されてロードバランサープールから削除される前に、ヘルスチェックスローブ間の時間を短くしたり、ヘルスチェックスローブの失敗の最小回数を減らしたりする必要がある場合があります。詳しくは、「ロードバランサーのヘルスチェックパラメーターのチューニング」のセクションを参照してください。
- node-bでilb-test-54321リソースがアクティブになっている状態で、node-aで次のコマンドを実行します。
[root@node-a ~]# while true; do curl http://10.20.0.10; sleep 1; done
node-bを強制的に再起動して、ilb-test-54321リソースのnode-aへのフェイルオーバーを開始します。
[root@node-b ~]# echo b > /proc/sysrq-trigger
フェイルオーバーが正常に終了したら,Ctrl-C(SIGINT)でnode-a上の実行中のコマンドを終了させます。
node-aでのコマンドの出力は以下のようなものになります。
…
node-b
node-b
node-b
[failover occurs]
node-a
node-a
node-a
…
この時点で、LB Health Checkリソースの動作の基本的な検証は完了です。必要に応じて追加のテストを実行し、スイッチオーバーやフェイルオーバー時のLB Health Checkリソースと保護対象のアプリケーション間の相互作用を検証します。LB Health Checkリソースの機能テストが終了したら、node-aとnode-bの両方で次のコマンドを実行して、一時的なApache Webサーバーを削除することができます。
# systemctl stop httpd # rm -f /var/www/html/index.html # yum remove -y httpd
ロードバランサーヘルスチェックパラメーターのチューニング
ロードバランサーヘルスチェックパラメーターのチューニング をご覧ください。



アイコンは、デフォルトのオプションが選択されていることを示します。
このトピックへフィードバック