メニュー
Amazon Route 53
開発者ガイド (API Version 2013-04-01)

Amazon Route 53 がエンドポイントの正常性を判断する方法

ヘルスチェックが正常かどうかを判断するために Amazon Route 53 が使用する方法は、ヘルスチェックのタイプによって異なります。

エンドポイントをモニタリングするヘルスチェック

Route 53 は、世界各地にヘルスチェッカーを持っています。エンドポイントをモニタリングするヘルスチェックを作成すると、ヘルスチェッカーは、エンドポイントが正常であるかどうかを判断するためにユーザーが指定するエンドポイントにリクエストの送信を開始します (Route 53 で使用する場所を選択し、チェックの間隔 (10 秒ごと、または 30 秒ごと) を指定できます)。各ヘルスチェッカーは、次の 2 つの値に基づいてエンドポイントの正常性を評価します。

  • 応答時間

  • エンドポイントが、指定した連続する回数のヘルスチェックに応答するかどうか (失敗のしきい値)

Route 53 はヘルスチェッカーからデータを集計し、エンドポイントが正常であるかどうかを判断します。

  • 18% を超えるヘルスチェッカーがエンドポイントを正常であるとレポートした場合、Route 53 はそのエンドポイントを正常と見なします。

  • 18% 以下のヘルスチェッカーがエンドポイントを正常であるとレポートした場合、Route 53 はそのエンドポイントを異常と見なします。

18% という値が選ばれたのは、複数のリージョンのヘルスチェッカーが確実にエンドポイントを正常であると見なすようにするためです。これにより、ネットワークの状態によって一部のヘルスチェックの場所からエンドポイントが分離されたというだけで、エンドポイントを異常と見なすことを回避できます。この値は、将来のリリースで変更される可能性があります。

個々のヘルスチェッカーが、エンドポイントが正常であるかどうかを判断するために使用する応答時間は、ヘルスチェックのタイプによって異なります。

  • HTTP/HTTPS ヘルスチェック – Route 53 が、エンドポイントとの TCP 接続を 4 秒以内に確立できることが必要です。加えて、接続後 2 秒以内に、HTTP ステータスコード 200 以上、400 未満でエンドポイントが応答する必要があります。

  • TCP ヘルスチェック - – Route 53 が、エンドポイントとの TCP 接続を 10 秒以内に確立できることが必要です。

  • HTTP/HTTPS ヘルスチェックと文字列一致 – HTTP と HTTPS のヘルスチェックと同様、Route 53 は、エンドポイントとの TCP 接続を 4 秒以内に確立し、エンドポイントは接続後 2 秒以内に、200 以上、400 未満の HTTP ステータスコードで応答する必要があります。

    Route 53 ヘルスチェッカーは、HTTP ステータスコードを受信後、続けて 2 秒以内にエンドポイントからレスポンス本文を受信する必要があります。Route 53 は、指定された文字列をレスポンス本文から検索します。その際、検索文字列全体が、レスポンス本文の最初の 5,120 バイト内に出現している必要があります。それ以外の場合、エンドポイントはヘルスチェックで不合格となります。Route 53 コンソールを使用している場合は、[Search String] フィールドに文字列を指定します。Route 53 API を使用している場合は、ヘルスチェックの作成時に、SearchString 要素で文字列を指定します。

他のヘルスチェックをモニタリングするヘルスチェック

他のヘルスチェックのステータスをモニタリングするヘルスチェックの場合、Route 53 は Route 53 ヘルスチェッカーが正常であると見なすヘルスチェックの数を加算します。Route 53 はその後、正常と見なされるヘルスチェックのステータスについて正常でなければならない子ヘルスチェック数と、その数を比較します。

CloudWatch アラームをモニタリングするヘルスチェック

CloudWatch アラームの状態が [OK] であれば、ヘルスチェックは正常と見なされます。状態が "Alarm" であれば、ヘルスチェックは異常と見なされます。状態が "OK" か "Alarm" かを判断するために十分なデータが CloudWatch にない場合、ヘルスチェックステータスは [Health check status] の設定 ("healthy"、"unhealthy"、"last known status") によって決まります (Route 53 API では、この設定は InsufficientDataHealthStatus です)。