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

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

フィードバック

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

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

送信