AWS Route53のサブドメインのNSレコード移譲でDNSが不安定になる問題

2024-08-15
山下 徳光
#
#
#

AWS Route53で設定していたDNSが不安定になる現象が発生しました。本記事では、その概要、発生した現象、原因、解決方法を詳しく解説します。

概要

AWS Route53を利用して、ステージング環境と本番環境のDNS設定を行っていました。しかし、ステージング環境の特定のサブドメインに対するDNSクエリが不安定になり、期待通りの結果が返ってこない問題が発生しました。この問題を解決するために行った設定変更とその技術的背景についてご紹介します。

現象

以下のようなDNS設定を行っていました。

ステージング環境の設定

  • stg.app.example.com のホストゾーン

本番環境の設定

  • example.com のホストゾーン
  • app.example.com のホストゾーン

以下のレコードが設定されていました。

  • example.com のホストゾーンに app.example.com のNSレコード
  • example.com のホストゾーンに stg.app.example.com のNSレコード

この設定により、stg.app.example.com のDNSサーバーからレコードの返却が不安定になる現象が発生しました。具体的には、dig +short stg.app.example.com a コマンドでクエリを行うと、結果が返却されたりされなかったりしました。

原因

現象の原因を分析したところ、以下の要因が考えられました。

1. DNSキャッシュの影響

DNSクライアントや中間のリゾルバーがNSレコードやAレコードをキャッシュすることがあります。キャッシュされた情報が古くなっていたり、不完全だったりすると、時折正しい結果が返されないことがあります。

2. 複数のネームサーバー間の同期の問題

example.com ゾーンに存在する stg.app.example.com のNSレコードが、app.example.com ゾーンにある stg.app.example.com のNSレコードと不整合を起こしている可能性があります。この不整合により、DNSクエリが異なるネームサーバーに問い合わせを行い、異なる結果を返すことがあります。

3. DNSデリゲーションの問題

example.com のホストゾーンに stg.app.example.com のNSレコードを追加したことが問題でした。これは、 stg.app.example.com のゾーンデリゲーションを不適切に行っているためです。親ゾーン( example.com )のNSレコードが、適切な子ゾーン( stg.app.example.com )のネームサーバーに指示を出す必要がありますが、 example.com のホストゾーンに設定した stg.app.example.com のNSレコードは、 app.example.com のホストゾーンのNSレコードと競合し、不整合が生じました。

解決方法

以下の設定変更を行うことで、DNSの不安定な挙動を改善しました。

1. example.com のホストゾーンに設定された stg.app.example.com のNSレコードを削除

example.com のホストゾーンから stg.app.example.com のNSレコードを削除しました。これにより、ネームサーバーのデリゲーションの不整合が解消されました。

2. app.example.com のホストゾーンに stg.app.example.com のNSレコードを追加

stg.app.example.com のネームサーバーを app.example.com のホストゾーンに追加しました。これにより、 stg.app.example.com のネームサーバーは適切に app.example.com のサブドメインとしてデリゲーションされ、DNSクエリが正しいネームサーバーに到達し、安定した結果が得られるようになりました。

まとめ

本記事では、AWS Route53で発生したDNSの不安定な挙動について、その原因と解決方法を解説しました。適切なDNSデリゲーション設定を行うことの重要性を再確認できる事例でした。DNS設定においては、ゾーン間のデリゲーションやレコードの整合性を十分に確認することが重要です。今後の設定変更においても、今回の経験を活かして、安定したDNS運用を目指していきましょう。

株式会社Grandreamでは、フルリモートであなたのスキルを活かし、活躍できるエンジニアを募集しております。 詳しくは採用ページをご確認いただき、お気軽にお問い合わせください。

株式会社グランドリームでは、AWSを駆使した開発からUI/UXデザインまで、Webアプリケーションに関するすべての要望に応えます。
まずは一度お気軽にご相談ください。

お問い合わせはこちら