Global Accelerator (GA) は、ヘルスチェックを実行してエンドポイントのステータスをテストします。 ヘルスチェックは、サービスの信頼性と可用性を向上させ、異常なエンドポイントによるサービスの中断を防ぎます。
ヘルスチェックの概要
GAインスタンスのエンドポイントグループのヘルスチェックを有効にできます。 ヘルスチェックを有効にすると、GAはエンドポイントが正常かどうかを定期的にチェックします。 GAが異常なエンドポイントを検出すると、GAは新しいリクエストを正常なエンドポイントに配信します。 異常なエンドポイントが回復すると、GAはリクエストをエンドポイントに再度配信します。
GAは、TCP、HTTP、およびHTTPSのプロトコルを使用するヘルスチェックをサポートしています。
TCPヘルスチェック
TCPヘルスチェックは、SYNパケットをポートに送信することにより、ネットワーク層でサーバーポートが正常かどうかを調べます。 次の図は、TCPヘルスチェックのプロセスを示しています。
いいえ | 説明 |
① | GAインスタンスは、TCPリスナーのヘルスチェック設定に基づいて、TCP SYNパケットをエンドポイントのIPアドレスとポートに送信します。 |
② | GAインスタンスは、エンドポイントが指定されたタイムアウト期間内にSYN-ACKパケットを返すことができるかどうかに基づいて、エンドポイントのヘルスステータスをチェックします。
説明 応答タイムアウト期間は、ヘルスチェック応答を待機する最大時間を指定します。 エンドポイントが指定されたタイムアウト期間内に応答しない場合、エンドポイントはヘルスチェックに失敗します。 デフォルトでは、タイムアウト時間は3秒に設定されており、変更できません。 |
③ | GAインスタンスがエンドポイントからSYN-ACKパケットを受信した後、GAインスタンスはACKパケットを送信してTCPセッションを確立します。 |
HTTPおよびHTTPSヘルスチェック
HTTPヘルスチェックは、ブラウザから送信されたHTTP GETリクエストをシミュレートすることにより、エンドポイントが正常かどうかを調べます。 次の図は、HTTPヘルスチェックのプロセスを示しています。
いいえ | 説明 |
① | GAインスタンスは、リスナーのヘルスチェック設定に基づいて、HTTP GETリクエストをエンドポイントに送信します。 HTTP GETリクエストは、エンドポイントのIPアドレス + ヘルスチェックポート + ヘルスチェックパスの形式でアドレスに送信されます。 |
② | エンドポイントがリクエストを受信すると、エンドポイントはサービスのステータスをチェックし、関連するHTTPステータスコードを返します。
説明 応答タイムアウト期間は、ヘルスチェック応答を待機する最大時間を指定します。 エンドポイントが指定されたタイムアウト期間内に応答しない場合、エンドポイントはヘルスチェックに失敗します。 デフォルトでは、タイムアウト時間は3秒に設定されており、変更できません。 |
ヘルスチェックタイムウィンドウ
ヘルスチェックにより、サービスの可用性が向上します。 ただし、異常なエンドポイントによって頻繁に発生するフェイルオーバーは、システムの可用性に影響を与える可能性があります。 ヘルスチェックタイムウィンドウは、フェイルオーバーを制御するために導入されます。 フェールオーバーは、エンドポイントが時間ウィンドウ内に特定の数のヘルスチェックに連続して合格または失敗した場合にのみ実行されます。 ヘルスチェックの時間枠は、次の要因によって決まります。
ヘルスチェック間隔: ヘルスチェックが実行される間隔。
応答タイムアウト期間: 応答を待機する時間。
正常しきい値: ヘルスチェックの連続成功または失敗の数。
ヘルスチェック時間ウィンドウは、次の式に基づいて計算されます。
ヘルスチェック失敗のタイムウィンドウ=応答タイムアウト時間 × 正常しきい値 + ヘルスチェック間隔 × (正常しきい値-1)
応答タイムアウト時間が3秒、ヘルスチェック間隔が2秒、正常しきい値が3回の場合の例を次の図に示します。 したがって、ヘルスチェック失敗の時間ウィンドウは、式3 × 3 + 2 × (3 − 1) に基づいて13秒である。
ヘルスチェック成功のタイムウィンドウ=(ヘルスチェック成功の応答時間 × ヘルシーしきい値) + ヒースチェック間隔 × (ヘルシーしきい値-1)
応答時間が1秒、ヘルスチェック間隔が2秒、正常しきい値が3回の場合の例を次の図に示します。 したがって、ヘルスチェック成功の時間ウィンドウは、式1 × 3 + 2 × (3 - 1) に基づいて7秒です。
制限事項
GAインスタンスがUDPリスナーを使用している場合、エンドポイントがTCP、HTTP、またはHTTPSサービスに関連付けられている場合にのみ、エンドポイントのヘルスチェックを有効にできます。 それ以外の場合、エンドポイントは異常としてマークされます。
ヘルスチェックの有効化
GAコンソールにログインします。
インスタンスページで、管理するGAインスタンスを見つけて、リスナーの設定で、アクション列を作成します。
リスナータブで、変更するリスナーを見つけて、変更で、アクション列を作成します。
リスナーの編集ページで、次へをクリックします。
[エンドポイントの設定] ステップで、[ヘルスチェック] セクションの [ヘルスチェック] をオンにし、パラメーターを設定します。 下表にパラメーターを示します。
パラメーター
説明
ヘルスチェックプロトコル
ヘルスチェックに使用するプロトコルを選択します。 有効な値:TCP、HTTP、および HTTPS。
TCPヘルスチェックは、SYNパケットをポートに送信することにより、ネットワーク層でサーバーポートが正常かどうかを調べます。
HTTPヘルスチェックは、ブラウザから送信されたHTTP GETリクエストをシミュレートすることにより、エンドポイントが正常かどうかを調べます。
ポート
ヘルスチェックのためにプローブパケットを送信するエンドポイントのポートを指定します。
有効な値: -1 から 65535
ヘルスチェック間隔
2つの連続したヘルスチェックの間隔を指定します。 単位: 秒。
有効値:1 〜 50 。 デフォルト値:2
URI
ヘルスチェックに使用するパスを指定します。
パスの長さは1 ~ 80文字で、先頭はスラッシュ (/) である必要があります。 パスには、英数字、ハイフン (-) 、スラッシュ (/) 、ピリオド (.) 、パーセント記号 (%) 、疑問符 (?) 、数字記号 (#) 、およびアンパサンド (&) を含めることができます。 パスには、次の拡張文字を含めることもできます。
_ ; ~! ( ) * [ ] @ $ ^ : ' , +
.デフォルトでは、GAはバックエンドサービスのデフォルトのホームページにGETリクエストを送信します。 ヘルスチェックにデフォルトのホームページを使用しない場合は、URIを手動で指定できます。
説明このパラメーターは、HTTPおよびHTTPSヘルスチェックでのみサポートされます。
正常なしきい値
正常なエンドポイントが正常でないと見なされる前に発生する必要がある連続したヘルスチェックの失敗の数、または正常でないエンドポイントが正常であると見なされる前に発生する必要がある連続したヘルスチェックの成功の数。
設定可能な値は 1 から 100 です。 デフォルト値: 3。
[次へ] をクリックします。 [確認] ステップで、ヘルスチェック情報を確認し、[送信] をクリックします。
その他操作
API 操作 | 説明 |
ヘルスチェック設定の変更 |
|
ヘルスチェックの無効化 |
|
関連ドキュメント
CreateEndpointGroup: エンドポイントグループを作成します。 エンドポイントグループの作成時にヘルスチェックを設定できます。
UpdateEndpointGroup: エンドポイントグループを変更します。 エンドポイントグループを変更するときにヘルスチェックを設定できます。
GetHealthStatus: エンドポイントに関するヘルスチェック情報を照会します。