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

Amazon Route 53 の単純構成におけるヘルスチェックの動作

example.com を対象とした 2 つ以上のウェブサーバーなど、同じ機能を実行する 2 つ以上のリソースがある場合、ヘルスチェックを使用して、正常なリソースにのみトラフィックをルーティングできます。この単純な構成でヘルスチェックを使用するには、各リソースのヘルスチェックとレコードを作成して、1 つのヘルスチェックを各レコードに関連付けます。ヘルスチェックはリソースのステータスを定期的に評価し、正常であるかどうか確認します。

example.com の DNS クエリを受信した場合、Amazon Route 53 はレコードの 1 つを選択してヘルスチェックのステータスを確認します。ヘルスチェックの結果リソースが正常であれば、Amazon Route 53 はそのレコードを使用して対応するリソースにトラフィックをルーティングします。ヘルスチェックの結果リソースが以上であれば、Amazon Route 53 は別のレコードを選択してプロセスを繰り返します。

この単純な構成でリソースの正常性をチェックするように Amazon Route 53 を設定する方法と、Amazon Route 53 がリソースの正常性に基づいてクエリに応答する方法について以下、大まかに説明します。

  1. どのリソースの正常性を Amazon Route 53 で監視するかを明確にします。たとえば、example.com のリクエストに応答するすべての HTTP サーバーを監視対象にするとします。

  2. リソースのヘルスチェックを作成します。正常性のチェック対象となるエンドポイントに対し、どのようにリクエストを送信するかが、ヘルスチェックによって Amazon Route 53 に伝えられます。具体的には、使用するプロトコル (HTTP、HTTPS、TCP)、使用する IP アドレスとポート、さらに、HTTP/HTTPS ヘルスチェックの場合はドメインの名前とパスが伝えられます。

    リソースごとにヘルスチェックを 1 つ作成し、ヘルスチェックのエンドポイントには、リソースと同じ IP アドレスを使用するのが一般的な構成です。HTTP サーバーの IP アドレスが 192.0.2.117 である場合、IP アドレスが 192.0.2.117 のヘルスチェックを作成します。

    注記

    エンドポイントの IP アドレスの範囲がローカル、プライベート、ルーティング範囲外、マルチキャストのいずれかに該当する場合、Amazon Route 53 は、エンドポイントの正常性をチェックできません。ヘルスチェックを作成できない IP アドレスの詳細については、「RFC 5735, Special Use IPv4 Addresses」と「RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space」を参照してください。

    Amazon Route 53 コンソールを使用したヘルスチェック作成の詳細については、「ヘルスチェックの作成、更新、削除」を参照してください。Route 53 API を使用したヘルスチェックの作成については、『Amazon Route 53 API Reference』の「 CreateHealthCheck」を参照してください。

  3. ヘルスチェックで指定したエンドポイントに Amazon Route 53 が定期的なリクエストを送信できるようにルーターとファイアウォールのルールを設定する必要があります。詳細については、「Amazon Route 53 のヘルスチェックができるようにルーターとファイアウォールのルールを設定する」を参照してください。

  4. 実際のリソースに使用するレコードのグループを作成します (タイプ A のみで構成された加重レコードのグループなど)。ステップ 2 で作成したヘルスチェックを、対応するレコードに関連付けます。完了したら、設定は以下の図のようになります。

     3 つの加重レコードおよび対応するヘルスチェック。

    Amazon Route 53 コンソールを使用したレコード作成の詳細については、「Amazon Route 53 コンソールを使用したリソースレコードセットの作成」を参照してください。Amazon Route 53 API を使用したレコードの作成については、Amazon Route 53 API Reference の「ChangeResourceRecordSets」を参照してください。

  5. Amazon Route 53 は、ヘルスチェックの作成時に指定された各エンドポイントに定期的にリクエストを送信します。つまり、DNS クエリを受信したときにヘルスチェックが実行されるわけではありません。Amazon Route 53 は、その応答に応じてエンドポイントが正常であるかどうかを判断し、その情報をもとにクエリへの応答方法を決定します。詳細については、「Amazon Route 53 がエンドポイントの正常性を判断する方法」を参照してください。

    重要

    Amazon Route 53 によって正常性がチェックされるのは、レコードに指定されたリソース (example.com の A レコードに指定された IP アドレスなど) ではありません。Amazon Route 53 は、レコードにヘルスチェックが関連付けられたとき、ヘルスチェックに指定されたエンドポイントの正常性のチェックを開始します。

  6. Amazon Route 53 が example.com のクエリを受信したときの流れを以下に示します。

    1. Amazon Route 53 が、ルーティングポリシーに基づいてレコードを選択します。このケースでは、重みに基づいてレコードが選択されます。

    2. そのレコードのヘルスチェックのステータスをチェックして、選択されたレコードの現在の正常性を調べます。

    3. 選択されたレコードに異常が見つかった場合、ルーティングポリシーに基づいてレコードを選択するプロセスを繰り返します。このとき、異常のあるレコードは候補から外されます。

    4. 選択された正常なレコードでクエリに応答します。

次の例は、加重レコードのグループを示しています。3 つ目のレコードに異常がみられます。最初、Amazon Route 53 は、3 つすべてのレコードの重みに基づいてレコードを選択します。最初に選択したレコードに異常が見つかると、Amazon Route 53 は、別のレコードを選択します。このとき、3 つ目のレコードの重みは計算から除外されます。

  • 最初、Amazon Route 53 が 3 つすべてのレコードから選択するとき、1 つ目のレコードがリクエストへの応答に使用される時間は全体の 20% (= 10/(10 + 20 + 20)) となります。

  • Amazon Route 53 つ目のレコードに異常があることがわかったとき、1 つ目のレコードがリクエストへの応答に使用される時間は、全体の 33% (=10/(10 + 20)) となります。

 3 つの加重レコードおよび対応するヘルスチェック。

レコードのグループのうち、いずれかまたは複数のレコードを省略した場合、Amazon Route 53 は、それらのレコードを正常と見なします。対応するリソースの正常性を判断するための根拠がないため、Amazon Route 53 が、異常なリソースのレコードを選択する可能性があります。

 3 つの加重レコード (ヘルスチェックが関連付けられているのは 2 つだけ)