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 がヘルスチェックが正常かどうかを判断する方法
詳細設定 (「エンドポイントの監視」のみ)