Amazon Route 53 の正規名レコード (CNAME) レコードを、パブリックホストゾーンとプライベートホストゾーンで正しく解決させたいです。
解決策
仮想プライベートクラウド (VPC) とホストゾーンで DNS クエリのログ記録を構成します。CNAME レコード解決の問題を特定し、ログで見つかった問題に応じて次の手順を実行します。
CNAME ターゲットは IPv6 をサポートしていない場合
CNAME レコードが IPv6 アドレス未設定のリソースを指している場合、AAAA レコードへの DNS クエリは、IPv6 アドレスを含まない CNAME 応答を返します。この問題を解決するには、構成に応じて、次のいずれかの解決策を実施します。
注: 本番環境に適用する前に、非本番環境で変更をテストすることをおすすめします。
Application Load Balancer
Application Load Balancer の IP アドレスタイプを更新し、IPv4、IPv6 両方のアドレスを使用するよう設定します。
Amazon CloudFront ディストリビューション
ホストゾーンに AAAA レコードを作成します。次に、その AAAA レコードにディストリビューションの IPv6 アドレスを追加します。
CNAME レコードがプライベートホストゾーンでは解決されない場合
CNAME レコードがプライベートホストゾーンでは解決されない場合は、次の手順を実行します。
- プライベートホストゾーンで CNAME レコードが正しく設定されているかどうかを確認します。レコードが正しいドメイン名またはエイリアスを指しており、余分なサフィックスやプレフィックスが含まれていないことを確認してください。
- AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) において、DNS リゾルバーの設定は、クエリを正しい Route 53 Resolver エンドポイントに転送しているかどうかを確認します。
- VPC セキュリティグループのルールは、AWS Managed Microsoft AD から Route 53 Resolver エンドポイントへのインバウンド DNS トラフィックを許可しているかどうかを確認します。次に、ルールは Route 53 Resolver エンドポイントからマネージド Active Directory へのアウトバウンド DNS トラフィックを許可しているかどうかを確認します。
問題が解消されない場合は、新しいプライベートホストゾーンを作成し、マネージド AD の DNS 設定を再構成してください。DNS 解決をテストし、問題が解決したかどうかを確認します。
CNAME がアカウント間で解決されない場合
CNAME レコードが AWS リソースを指しており、特定の AWS アカウントでは "NXDOMAIN" エラーが返される場合は、次の手順を実行します。
- ドメインの Resolver を稼働中アカウントと非稼働中アカウントと共有しているかどうかを確認します。詳細については、「他の AWS アカウントとの共有ステータスおよび共有ルールを確認する方法」および「Route 53 Resolver DNS ファイアウォールのルールグループを複数 AWS アカウントで共有する」を参照してください。
- 非稼働中アカウントのプライベートホストゾーンにおいて、重複するドメイン、サブドメイン、ルートドメインがないかを確認します。たとえば、ドメイン p-southeast-1.amazonaws.com、サブドメイン efs.ap-southeast-1.amazonaws.com、ルートドメイン amazonaws.com は重複しています。
- Resolver ルールで CNAME 値をターゲット IP アドレスに対して解決し、動作をデフォルト VPC DNS リゾルバーの動作と比較します。
DNS の伝達の遅延または障害
Route 53 で CNAME レコードを追加または変更すると、DNS 伝達に遅延または障害が発生する可能性があります。ネームサーバーが応答 "SERVFAIL" を返す場合は、DNS 伝達の遅延をトラブルシューティングします。
新しい CNAME レコードまたは変更した CNAME レコードと同じ名前を持つ、既存のレコードがないか確認します。同名のレコードが存在する場合は、レコードの TTL (保持期間) 値を小さくします。詳細については、「レコードの操作」を参照してください。
次のいずれかの DNS トラブルシューティングツールで DNS 解決を追跡し、障害が発生したネームサーバーを特定します。
特定の DNS リゾルバーのみがこの問題の影響を受けている場合は、ドメインレジストラにサポートを要請してください。
DNS ファイアウォールにより CNAME 解決が妨げられる
Route 53 Resolver DNS ファイアウォールの許可リストに VPC の CNAME 値が含まれていない場合、CNAME レコードは解決されません。ドメインが指す CNAME レコードがDNS ファイアウォールの許可リストに含まれているかどうかを確認し、欠けている場合は追加します。
注: ルールグループを更新した後、変更が反映されるまで数分待機してください。
詳細については、「Route 53 Resolver DNS ファイアウォールの動作」を参照してください。
その他の DNS に関連する問題のトラブルシューティングと解決
部分的または断続的な DNS 障害が発生する場合は、「DNS の動作および、部分的または断続的な DNS 障害のトラブルシューティング方法を教えてください」を参照してください。
Route 53 Resolver エンドポイントのヘルスステータスを確認します。ヘルスチェックに合格できない場合は、「Route 53 のヘルスチェックで異常があった場合のトラブルシューティング方法を教えてください」を参照してください。DNS リゾルバーとエンドポイント間のネットワーク接続を確認します。セキュリティグループとネットワークアクセスコントロールリスト (ネットワーク ACL) で必要なポートを許可していることを確認します。詳細については、「Route 53 リゾルバーのエンドポイントでの、DNS 解決に関する問題のトラブルシューティング方法を教えてください」を参照してください。
問題が特定のリソースまたはインスタンスに関連する場合は、インスタンスのネットワークインターフェイス、セキュリティグループルール、および DNS が正しく設定されていることを確認してください。
関連情報
VPC とネットワーク間の DNS クエリを解決する
プライベートホストゾーンを使用する際の考慮事項