起動処理(restore)

以下の順序で LB Health Check リソースの起動を試みます。

  1. restoreスクリプトは、指定されたリソースIDを使用して、関連するデーモンプロセスがすでに開始されているかどうかを判断します。すでに開始されている場合、restore スクリプトはexit code 0で終了します。
  1. restoreスクリプトはSocketオブジェクトを生成し、ロードバランサーからの接続を待ちます。$HC_TIMEOUT で定義された秒数以内に接続が確認できなかった場合、restoreスクリプトはexit code 1で終了します。
  1. restore スクリプトは lbhcd デーモンスクリプトを起動します。デーモンスクリプトは $HC_TIMEOUTで定義された秒数以内に接続が確認できなかった場合, $id-hc-ngフラグを作成します。 次の接続試行が検出されるとこのフラグは削除され、タイムアウトはリセットされます。 備考: $id-hc-ng フラグは、quickCheck による障害検知に使用します。
  1. restore スクリプトは exit 0で終了します。

停止処理(remove)

以下の順序で LB Health Check リソースの停止を試みます。

  1. removeスクリプトは、指定されたリソースIDに対応する実行中のLB Health CheckデーモンプロセスのPIDを取得します。
  1. removeスクリプトは、ステップ1で見つかったPIDを持つデーモンプロセスがまだ実行中であるかどうかを確認します。すでに停止している場合は、remove スクリプトはexit 0で終了します。
  1. デーモンプロセスがまだ動作している場合は、removeスクリプトがそれを終了させます。
  1. removeスクリプトはexit 0で終了します。

監視処理(quickCheck)

以下の順序で LB Health Check リソースの監視を試みます。

  1. quickCheckスクリプトは、ロードバランサーヘルスチェックリソースのリソースステータスを取得します。ステータスがISPでない場合(つまり、リソースがすでに停止している場合)、quickCheckスクリプトはexit code 0を返して終了します。
  1. quickCheckスクリプトは、lbhcd デーモンが起動しているかチェックします。起動していない場合は recover イベントを発行して、exit code 1 で終了します。
  1. quickCheckスクリプトは、$id-hc-ngフラグの存在をチェックします($id-hc-ngフラグは、$HC_TIMEOUT秒以内に接続試行を受信しなかった場合に、restoreスクリプトのステップ3で生成されるフラグです)。 このフラグが存在する場合、probefail イベントを発行して exit code 1 で終了します。
  1. quickCheckスクリプトは、exit code 0 で終了します。

回復処理(recover)

以下の順序で LB Health Check リソースの回復を試みます。

  1. recovery スクリプトは、指定されたリソースIDを使用して、関連するデーモンプロセスがすでに開始されているかどうかを判断します。すでに開始されている場合、recovery スクリプトはデーモンプロセスを終了させます。
  1. restore スクリプトを呼び出し、restore スクリプトの終了コードを返します。

各処理の実行時間

restore, recover

restore 実行時にロードバランサーから$HC_TIMEOUT秒間接続がない場合、restoreの処理はタイムアウトします。指定したポートのロードバランサーからの接続要求が長時間ない場合、一般に設定エラーまたはネットワークの問題でロードバランサーがサーバーと通信できない可能性があることを示します。

remove, quickCheck

これらの処理に要する時間に制限はありません。

フィードバック

フィードバックありがとうございました

このトピックへフィードバック

送信