Generic Applicationリソースは、適切なrestore、remove、quickCheck、recoverスクリプトを指定することで作成されます。詳細は実際のスクリプトを参照してください。

コマンドラインに関連するファイル名とパスの例は、以下の説明で述べます。詳細は実際のスクリプトを参照してください。

リソースの起動 (restoreスクリプト)

Load Balancer Health Checkリソースを起動するために、restoreスクリプトによって次のステップが実行されます。

  1. Load Balancer Health Checkリソースのタグ名とリソースIDはそれぞれ -t-i のコマンドラインオプションで取得します。
  1. ポート番号と応答メッセージは、ロードバランサーヘルスチェックリソースのinfoフィールドから取得されます。リソース情報を取得できない場合restoreスクリプトはexit 1で終了します。
  1. restoreスクリプトは、指定されたリソースIDを使用して、関連するデーモンプロセスがすでに開始されているかどうかを判断します。すでに開始されている場合、リストア スクリプトはexit 1で終了します。
  1. restoreスクリプトはSocketオブジェクトを生成し、ロードバランサーからの接続を待ちます。$HC_TIMEOUT(スクリプトパラメーターリスト に情報があります。) で定義された秒数以内に接続が確認できなかった場合、restoreスクリプトはexit code 1で終了します。
  1. ステップ 4 で説明したヘルスプローブリスニングプロセスはバックグラウンドでデーモンとして実行されます。$HC_TIMEOUTで定義された秒数以内に接続が確認できなかった場合, $id-hc-ngフラグを作成します。 次の接続試行が検出されるとこのフラグは削除され、タイムアウトはリセットされます。 備考: $id-hc-ng フラグは、quickCheck による障害検知に使用します。
  1. restoreの親プロセスがexit 0で終了します

リソースの停止 (removeスクリプト)

Load Balancer Health Checkのリソースを停止するために、removeスクリプトは次のステップを実行します。

  1. Load Balancer Health Checkリソースのタグ名とリソースIDは、それぞれ-t と -i のコマンドラインオプションで取得します。
  1. 指定されたリソースIDに対応する実行中のLoad Balancer Health CheckデーモンプロセスのPIDを取得します。
  1. removeスクリプトは、ステップ2で見つかったPIDを持つデーモンプロセスがまだ実行中であるかどうかを確認します。すでに停止している場合は、remove スクリプトはexit 0で終了します。
  1. デーモンプロセスがまだ動作している場合は、removeスクリプトがそれを終了させます。
  1. removeスクリプトはexit 0で終了します。

リソースの監視(quickCheckスクリプト)

Load Balancer Health Checkリソースを監視するために、quickCheckスクリプトは次のステップを実行します。

  1. Load Balancer Health Checkリソースのタグ名とリソースIDは、それぞれ-t と -i のコマンドラインオプションで取得します。
  1. ロードバランサーヘルスチェックリソースのリソースステータスを取得します。ステータスがISPでない場合(つまり、リソースがすでに停止している場合)、quickCheckスクリプトはexit 0を返して終了します。
  1. quickCheckスクリプトは、$id-hc-ngフラグの存在をチェックします。$id-hc-ngフラグは、$HC_TIMEOUT秒以内に接続試行を受信しなかった場合に、restoreスクリプトのステップ5で生成されるフラグです。 このフラグが存在する場合、quickCheck スクリプトはexit 1 で終了します。
  1. quickCheckスクリプトexit 0 で終了します。

スクリプトの実行時間

restore

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

remove, quickCheck

これらのスクリプトのために必要な実行時間はありません。

フィードバック

お役に立ちましたか?

はい いいえ
お役に立ちましたか
理由をお聞かせください
フィードバックありがとうございました

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

送信