Generic リソース作成時に、本スクリプトを restore、remove、quickCheck に登録頂くことでそれぞれの動作で起動します。具体的には実際のスクリプトを参照して下さい。

説明の各所で実行コマンドラインや関連ファイル名 / パスを例示します。
具体的には実際のスクリプトを参照して下さい。

起動処理(restore)

以下の順序で Load Balancer probe reply リソースの起動を試みます。

  1. コマンドラインオプションから自リソースのタグ名を取得します。
  1. 自リソースのタグ名からリソース情報(AppInfo : < Port番号 > [応答メッセージ])を取得します。失敗した際は、exit 1で処理を異常終了します。
  1. タグ ID からデーモンが起動されていないことを確認します。既に起動されている場合は、exit 1 で処理を異常終了します。
  1. Socket オブジェクトを生成し、Load Balancer からの接続を待ち受けます。 $HC_TIMEOUT ( スクリプトのパラメーター一覧 に記載) 秒待ち、接続がない場合は、exit 1 で処理を異常終了します。
  1. 4 をデーモンとしてバックグラウンドで実行します。$HC_TIMEOUT ( スクリプトのパラメーター一覧 に記載) 秒待ち、接続がない場合は、$id-hc-ng フラグが生成されます。再度接続を確認したらフラグは削除され、タイムアウトもリセットされます。 注記: $id-hc-ng フラグは、quickCheck での異常検知に使用されます。
  1. exit 0 で処理を正常終了します。

停止処理(remove)

以下の順序で Load Balancer probe reply リソースの停止を試みます。

  1. コマンドラインオプションから自リソースのタグ名を取得します。
  1. 自リソースの ID から、デーモンの PID を取得します。
  1. PID からデーモンが起動されていることを確認します。既に停止している場合は exit 0 で処理を正常終了します。
  1. TERM シグナルでプロセスを停止します。
  1. exit 0 で処理を正常終了します。

監視処理(quickCheck)

以下の順序で Load Balancer probe reply リソースの監視を試みます。

  1. コマンドラインオプションから自リソースのタグ名を取得します。
  1. 自リソースのタグ名から、リソースの起動状態を取得します。ISP 以外の場合は、既に停止していると判断し、exit 0 で正常終了します。
  1. 起動処理(restore)の⑤で生成される、$id-hc-ng フラグの有無を確認します。存在する場合は、Load Balancer からの接続が $HC_TIMEOUT 秒 ないことを意味し、exit 1 で処理を異常終了します。
  1. exit 0 で処理を正常終了します

スクリプトの実行時間

restore

restore 実行時に、Load Balancer から $HC_TIMEOUT 秒 接続がないと処理がタイムアウトします。

remove, quickCheck

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

フィードバック

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

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

送信