ヘルスチェックが設定されている場合に Amazon Route 53 がレコードを選択する方法 - Amazon Route 53

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ヘルスチェックが設定されている場合に Amazon Route 53 がレコードを選択する方法

同じ名前、同じタイプ (A または AAAA など)、および同じルーティングポリシー (加重またはフェイルオーバーなど) を持つレコードグループ内のすべてのレコードのヘルスチェックを設定すると、Route 53 は正常なレコードを選択し、そのレコードから該当する値を返すことによって、DNS クエリに応答します。

例えば、3 つの加重された A レコードを作成し、そのすべてにヘルスチェックを割り当てたとします。1 つのレコードでヘルスチェックが正常でない場合、Route 53 は他の 2 つのレコードのいずれかの IP アドレスで DNS クエリに応答します。

正常なレコードを Route 53 が選択する際の動作を以下に示します。

  1. 最初に Route 53 は、ルーティングポリシーと各レコードに指定した値に基づいてレコードを選択します。例えば、加重レコードの場合、Route 53 は各レコードに指定した重みに基づいてレコードを選択します。

  2. Route 53 は、レコードが正常であるかどうかを判断します。

    • 関連付けられたヘルスチェックを持つ非エイリアスレコード – ヘルスチェックを非エイリアスレコードに関連付けた場合、Route 53 はヘルスチェックの現在のステータスをチェックします。

      Route 53 は、ヘルスチェックで指定されたエンドポイントの正常性を定期的にチェックします。DNS クエリが到着した時点でヘルスチェックを実行するわけではありません。

      ヘルスチェックはエイリアスレコードに関連付けることができますが、ヘルスチェックはエイリアス以外のレコードにのみ関連付けることをお勧めします。詳細については、「エイリアスレコードにヘルスチェックを関連付けるとどうなるか」を参照してください。

    • [Evaluate Target Health (ターゲットの正常性の評価)] が [Yes (あり)] に設定されたエイリアスレコード – Route 53 は、エイリアスレコードが参照するリソース (例えば、ELB ロードバランサーまたは同じホストゾーン内の別のレコード) のヘルスステータスをチェックします。

  3. レコードが正常であれば、Route 53 は、適切な値 (IP アドレスなど) でクエリに応答します。

    レコードが異常である場合、Route 53 は同じ基準で別のレコードを選択し、正常なレコードが見つかるまでそのプロセスを繰り返します。

レコードを選択する際、Route 53 は以下の基準を使用します。

ヘルスチェックのないレコードは常に正常

同じ名前とタイプを持つレコードのグループ内で、レコードに関連付けられているヘルスチェックがない場合、Route 53 はそのレコードを常に正常と見なします。クエリへの応答の候補には、そのレコードが常に含まれます。

レコードが正常でない場合は、すべてのレコードが正常

レコードのグループ内に正常なレコードが 1 つも存在しなかった場合でも、Route 53 は DNS クエリへの応答として何かを返す必要がありますが、レコードの優劣を選択するための判断材料がありません。この状況では、グループに含まれるすべてのレコードが正常と見なされ、Route 53 はルーティングポリシーと各レコードに指定した値に基づいて 1 つを選択します。

重みが 0 である加重レコード

加重レコードのグループ内のすべてのレコードにヘルスチェックを追加する一方で、一部のレコードにゼロ以外の重みを付け、他のレコードの重みをゼロにした場合、ヘルスチェックは、次の例外を除いて、すべてのレコードの重みがゼロ以外の場合と同様に動作します。

  • 最初に Route 53 は、ゼロ以外の加重レコード (存在する場合) のみを対象とします。

  • 重みが 0 より大きいレコードがいずれも異常であった場合、Route 53 は、重みがゼロである加重レコードを対象にします。

一部の状況では Route 53 は重みがゼロである加重レコードを考慮するので、重みがゼロのターゲットにも DNS クエリに対する実行可能な回答があるようにすることが重要です。

加重レコードの詳細については、「ヘルスチェックと加重ルーティング」を参照してください。

エイリアスレコード

各エイリアスレコードに対して [ターゲットの正常性の評価] を [Yes (あり)] に設定することで、エイリアスレコードのヘルスチェックを設定することもできます。これにより Route 53 は、レコードがトラフィックをルーティングする先のリソース (例えば、ELB ロードバランサーまたは同じホストされたゾーン内の別のレコード) で、その正常性を評価します。

例えば、エイリアスレコードのエイリアスターゲットが、一連の加重レコードから成るグループであり、そのグループの加重レコードの重みがいずれもゼロ以外であるとします。

  • 正常な加重レコードが 1 つでもあれば、Route 53 は、そのエイリアスレコードを正常と見なします。

  • 正常な加重レコードが存在しない場合、Route 53 は、そのエイリアスレコードを異常と見なします。

  • 少なくとも 1 つの加重レコードが正常に戻るまで、Route 53 は、そのツリーのブランチのレコードを候補から除外します。

詳細については、「Amazon Route 53 の複雑な構成でのヘルスチェックの動作」を参照してください。

フェイルオーバーレコード

フェイルオーバーレコードは、通常、他のルーティングタイプと同じように動作します。ヘルスチェックを作成し、それらを非エイリアスレコードに関連付けて、エイリアスレコードの [ターゲットの正常性の評価] を [Yes (あり)] に設定します。次の点に注意してください。

  • プライマリレコードとセカンダリレコードは、どちらも非エイリアスレコードまたはエイリアスレコードです。

  • プライマリフェイルオーバーレコードとセカンダリフェイルオーバーレコードの両方にヘルスチェックが関連付けられている場合、Route 53 は、リクエストに対して次のように応答します。

    • プライマリレコードが正常 (ヘルスチェックのエンドポイントが正常) であると判断した Route 53 は、 DNS クエリへの応答としてプライマリレコードのみを返します。

    • プライマリレコードが異常でありセカンダリレコードが正常であると Route 53 が判断した場合は、セカンダリレコードが返されます。

    • プライマリレコードとセカンダリレコードの両方が異常であると Route 53 が判断した場合は、プライマリレコードが返されます。

  • セカンダリレコードを設定する際、ヘルスチェックを追加するかどうかは任意です。セカンダリのヘルスチェックが省略されていて、プライマリレコードのヘルスチェックエンドポイントが異常だった場合、Route 53 は常にセカンダリレコードで DNS クエリに応答します。セカンダリレコードが異常であったとしても同様です。

詳細については、以下のトピックを参照してください。