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

最終更新日: 2021 年 5 月 20 日

Amazon Route 53 フェイルオーバールーティングポリシーを設定しました。しかし、DNS 解決をテストすると、予期しない結果が表示されます。この問題を解決するには、どうすればよいですか?

簡単な説明

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

プライマリフェイルオーバーレコードのみにヘルスチェックを関連付ける場合:

  • プライマリレコードが異常である場合、DNS クエリへの応答としてセカンダリレコードが返されます
  • セカンダリレコードにヘルスチェックがない場合、セカンダリレコードは常に正常として処理されます

プライマリフェイルオーバーレコードとセカンダリフェイルオーバーレコードの両方にヘルスチェックを関連付ける場合:

  • プライマリレコードが正常な場合、DNS クエリへの応答としてプライマリレコードが返されます
  • プライマリレコードが異常で、セカンダリレコードが正常である場合、DNS クエリへの応答としてセカンダリレコードが返されます
  • 両方のレコードが異常である場合、DNS クエリへの応答としてプライマリレコードが返されます

セカンダリレコードを設定する場合、ヘルスチェックの追加は任意です。セカンダリレコードのヘルスチェックがない場合、プライマリレコードのヘルスチェックエンドポイントが正常でないと、Route 53 はセカンダリレコードを使用して DNS クエリに応答します。この動作は、セカンダリレコードにヘルスチェックが関連付けられていない場合、セカンダリレコードが正常でなくても適用されます。

[Evaluate target health] (ターゲットの正常性の評価) が [true] に設定されたエイリアスフェイルオーバーレコードがある場合、エイリアスレコードが返される前に、エイリアスレコードが参照するリソースの正常性がチェックされます。エイリアスレコードに関連付けられたヘルスチェックがある場合、エイリアスレコードを返すには、ヘルスチェックとエイリアスのターゲットヘルスステータスが正常である必要があります

注: エイリアスターゲットがレコードと同じホストゾーンにある場合、ターゲットレコードにはヘルスチェックが関連付けられている必要があります。関連付けられていない場合、エイリアスレコードは正常であると見なされ、クエリに対する実行可能な応答に含まれます。

解決方法

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

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

$ dig abc.example.com +short
$ nslookup abc.example.com

3.    ステップ 1 と 2 で見つけた情報を使用して、問題がプライマリレコードとセカンダリレコードのどちらに関連しているかを確認します。

4.    ヘルスチェックの設定を確認して、ヘルスチェックが正常と報告しているかどうかを判断します。詳細については、Amazon Route 53 がヘルスチェックの正常性を判断する方法をご参照ください。失敗したヘルスチェックを特定した場合は、ヘルスチェックのステータスと失敗理由を表示するをご覧ください。