Generic リソース作成時に、本スクリプトを restore、remove、quickCheck に登録頂くことでそれぞれの動作で起動します。具体的には実際のスクリプトを参照して下さい。
説明の各所で実行コマンドラインや関連ファイル名 / パスを例示します。
具体的には実際のスクリプトを参照して下さい。
起動処理(restore)
以下の順序で Load Balancer probe reply リソースの起動を試みます。
- コマンドラインオプションから自リソースのタグ名を取得します。
- 自リソースのタグ名からリソース情報(AppInfo : < Port番号 > [応答メッセージ])を取得します。失敗した際は、exit 1で処理を異常終了します。
- タグ ID からデーモンが起動されていないことを確認します。既に起動されている場合は、exit 1 で処理を異常終了します。
- Socket オブジェクトを生成し、Load Balancer からの接続を待ち受けます。 $HC_TIMEOUT ( スクリプトのパラメーター一覧 に記載) 秒待ち、接続がない場合は、exit 1 で処理を異常終了します。
- 4 をデーモンとしてバックグラウンドで実行します。$HC_TIMEOUT ( スクリプトのパラメーター一覧 に記載) 秒待ち、接続がない場合は、$id-hc-ng フラグが生成されます。再度接続を確認したらフラグは削除され、タイムアウトもリセットされます。 注記: $id-hc-ng フラグは、quickCheck での異常検知に使用されます。
- exit 0 で処理を正常終了します。
停止処理(remove)
以下の順序で Load Balancer probe reply リソースの停止を試みます。
- コマンドラインオプションから自リソースのタグ名を取得します。
- 自リソースの ID から、デーモンの PID を取得します。
- PID からデーモンが起動されていることを確認します。既に停止している場合は exit 0 で処理を正常終了します。
- TERM シグナルでプロセスを停止します。
- exit 0 で処理を正常終了します。
監視処理(quickCheck)
以下の順序で Load Balancer probe reply リソースの監視を試みます。
- コマンドラインオプションから自リソースのタグ名を取得します。
- 自リソースのタグ名から、リソースの起動状態を取得します。ISP 以外の場合は、既に停止していると判断し、exit 0 で正常終了します。
- 起動処理(restore)の⑤で生成される、$id-hc-ng フラグの有無を確認します。存在する場合は、Load Balancer からの接続が $HC_TIMEOUT 秒 ないことを意味し、exit 1 で処理を異常終了します。
- exit 0 で処理を正常終了します
スクリプトの実行時間
restore
restore 実行時に、Load Balancer から $HC_TIMEOUT 秒 接続がないと処理がタイムアウトします。
remove, quickCheck
これらのスクリプトの処理に要する時間に制限はありません。
このトピックへフィードバック