Route 53 フェイルオーバールーティングポリシーの問題をトラブルシューティングする方法を教えてください。

所要時間1分
0

Amazon Route 53 フェイルオーバールーティングポリシーを設定しました。しかし、DNS 解像度をテストすると、予期しない結果が表示されます。

簡単な説明

**メモ:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、最新の AWS CLI バージョンを使用していることを確認してください

ヘルスチェックをプライマリフェイルオーバーレコードのみに関連付けると、次のシナリオが発生します:

  • プライマリレコードに異常がある場合は、DNS クエリによってセカンダリレコードが返されます。
  • セカンダリレコードのヘルスチェックが行われない場合、セカンダリレコードは常に正常として扱われます。
  • プライマリヘルスチェックが再び正常になると、Route 53 はプライマリレコードにフェイルオーバーし、DNS クエリに応答します。

ヘルスチェックをプライマリフェイルオーバーレコードとセカンダリフェイルオーバーレコードの両方に関連付けると、次のシナリオが発生します:

  • プライマリレコードが正常であれば、DNS クエリによってプライマリレコードが返されます。
  • プライマリレコードに異常があり、セカンダリレコードが正常な場合、DNS クエリはセカンダリレコードを返します。
  • 両方のレコードに異常がある場合、DNS クエリはプライマリレコードを返します。

セカンダリレコードを設定する場合、ヘルスチェックの追加は任意です。セカンダリレコードのヘルスチェックが行われず、プライマリレコードに異常がある場合、Route 53 はセカンダリレコードを使用して DNS クエリに応答します。これは、セカンダリレコードにマップされているリソースに異常がある場合にも当てはまります。セカンダリレコードにヘルスチェックが関連付けられていない場合、Route 53 はセカンダリレコードを返します。

エイリアスレコードタイプのヘルスチェックを設定し、Evaluate target health (ETH) を** true**に設定したとします。この場合、Route 53 はエイリアスレコードを返す前に、エイリアスレコードが参照するリソースの状態を確認します。ヘルスチェックをエイリアスレコードに関連付ける場合、エイリアスレコードを返すには、ヘルスチェックとエイリアスの ETH が正常である必要があります。

**メモ:**エイリアスレコードセットが同じホストゾーン内の別のレコード (ターゲット) を指している場合、ターゲットレコードには関連するヘルスチェックが必要です。それ以外の場合、Route 53 はエイリアスレコードが正常であると判断し、クエリへの応答候補に含めます。

解決策

1. レコードセットの設定をテストするには、DNS チェックツールを使用します。

2.DNS 構成をクエリするには、dig または nslookup ツールを使用します。次のコマンドのプレースホルダー URL は、必ず対応する値に置き換えてください:

$ dig abc.example.com

$ nslookup abc.example.com

3.手順 1 ~ 2 で見つけた情報を使用して、問題がプライマリレコードとセカンダリレコードのどちらに関係しているかを判断します。

4.ヘルスチェックの設定をチェックして、ヘルスチェックが正常と報告されているかどうかを確認します。詳細については、「Amazon Route 53 がリソースの状態をチェックする方法」を参照してください。ヘルスチェックで不合格になった場合は、「ヘルスチェックのステータスと失敗した理由の表示」を参照してください。

5.ヘルスチェックは正常だが、それでも予期しない結果が表示される場合は、レコードの解像度を確認してください。これを行うには、ドメインホストゾーンの権限のあるネームサーバーまたは別のパブリックリゾルバーにクエリを送信します:

$ dig abc.example.com @AuthoritativeNameServer

$ nslookup abc.example.com AuthoritativeNameServer

$ dig abc.example.com @DNSResolver_IP

$ nslookup abc.example.com DNSResolver_IP

**メモ:**AuthoritativeName Server を自分のネームサーバーに置き換えます。DNSResolver\ _IP をパブリックリゾルバー IP アドレスに置き換えてください。

期待どおりの出力が表示される場合、問題は中間またはローカルの DNS リゾルバーキャッシュの問題である可能性が高いです。

関連情報

DNS フェイルオーバーの設定

Amazon Route 53 がヘルスチェックが正常かどうかを判断する方法

詳細設定 (「エンドポイントの監視」のみ)

AWS公式
AWS公式更新しました 2年前
コメントはありません