公開ゾーンexample.comにはwww.example.comの公開用Aレコードがあり、内部名のレコードはない。VPCではenableDnsSupportとenableDnsHostnamesがtrueで、EC2はVPC Resolverを使い、競合するprivate zoneや転送ルールはない。
db.internal.example.comをVPC内で10.30.0.10へ解決し、内部IPは公開DNSへ載せない。VPCからwww.example.comも従来どおり解決したい。今回はハイブリッドのinbound Resolverは構成しない。
適切なゾーンとレコードの設定はどれか。
内部サブドメインのprivate zoneを関連付け、他の公開名を覆わず内部レコードを解決する。
詳細解説
RFC1918の値を使っても公開DNSのレコード自体が非公開になるわけではない。IPの到達性とDNS情報の可視性を区別する。
本問ではwwwの名前がprivate zoneに存在しないため、公開DNSへフォールバックせずNXDOMAINとなる。親ゾーンを広く覆うと既存の公開名の解決にも影響する。
内部サブドメインだけをprivate zoneで扱い、www.example.comはこのゾーンの外なので通常の公開DNSで解決できる。privateな値を公開ゾーンへ置く必要はない。
private zoneを作っただけでは対象VPCのResolverが利用する関連付けにならない。対象VPCとの関連付けとDNS属性を確認する。
公式資料で確認する
以下の項目を公式資料の記述と照合して確認します。
承認された検証ドメインでVPC関連付け・両DNS属性・private zoneのAレコードを確認する。VPC Resolverへの内部名と公開wwwの問い合わせ、VPC外の公開DNS応答を比較し、private zone内の未作成名の応答も調べる。
参考にした公式資料
確認できる内容
関連VPC内では内部名が10.30.0.10となり、wwwは従来の公開値を返す。外部公開DNSから内部private値は返らない。private zone内の欠落レコードが公開DNSへ自動でフォールバックするとは扱わない。
理解のポイント
- private hosted zone
- VPC関連付け
- NXDOMAIN
確認時の注意
- 確認環境: AWS公式SOA-C03試験ガイドとAWS公式ドキュメントの確認
- AWS公式SOA-C03試験ガイドと各サービスの公式ドキュメントを確認する。
基礎のおさらい
必要な名前空間だけをprivateにする
internal.example.comをprivate zoneとし、dbのAレコードと対象VPCの関連付けを設定する。VPCのDNS属性も確認する。www.example.comはprivate zoneの範囲外なので、公開ゾーンへの通常の名前解決を維持できる。
欠落時の公開フォールバックを前提にしない
一致するprivate zoneを使い、本問のように問い合わせた名前がそのzoneに存在しなければNXDOMAINとなる。公開example.comと同じprivate親ゾーンを作る場合は必要な名前を揃える等、名前空間全体への影響を確認する。
名前解決とネットワーク許可を分ける
private IPを公開Aレコードへ書いてもDNS情報は非公開にならない。private zoneの解決が成功してもルートやSGの接続権限を付与したことにはならない。一般には構成済みのinbound Resolver経由でハイブリッド側からも解決できるが、本問はその経路を構成しない。