ネットワークエンジニア的にはDNSはDNSサーバーまで到達できればOKな感じなのですが、
AWSの場合はDNSでのルーティングがキーの一つかなと思いましたので、
色々と触ってみました。というか、DNSが2つあるし。
それぞれの概要はこんな感じ?
*Amazon Provided DNS
VPC毎に自動で起動。VPCのネットワークアドレスに2を追加したアドレスを持つ
*Route 53
AWS提供のDNS。
Public: 通常のInternet上のDNSと同じ
Private: VPC用?
とりあえずVPCを2つ作成。VPC-tame(10.0.0.0/16)とVPC-tame1(10.1.0.0/16)
それぞれEC2を起動して名前解決がどのように行われるかを調査。
VPCの”DNS resolution”, “DNS hostname”は共にenable
(なおWindowsで実施。。。)
まずは、VPC-tame1(10.1.0.0/16)上のインスタンス(10.1.1.1)から
VPC-tame(10.0.0.0/16)のインスタンス(10.1.1.89 )
に対するアドレス解決(& 同一VPCの10.0.1.52に対しても)
問題なく行われているので、AWSアカウントが同じ場合はAWS Provided DNSでVPC間の名前解決も可能?
なんかしっくりこないのですが、まあこうゆうものと考えましょう。
次にRoute 53。VPC向けはhosted zoneのようなので、VPC-tame1(10.1.0.0/16)に関連付けした
Route 53 Hosted Zoneを作成。
DNS名は適当。使われて無いのを選びました(ちなみに、すでに削除済みなので黒塗りとかは無し)。
関連付けしたVPC-tame1からはtest.z1s2d3c4.com参照可能。
(使用したインスタンスのDNSはAWS Provided DNSの10.1.0.2)
つまり、AWS Provided DNSにはRoute 53 hosted zoneへのフォワーダー設定が自動で入っている???
ちなみにVPC-tame(10.0.0.0/16)内のインスタンスからは参照出来ない。
Route 53 hosted zoneは関連付けしたVPCのみ有効って事で、これは納得。
念のためVPC-tameも関連付ける事で参照可能になりました。
当然の動作確認として、VPCの"DNS resolution"がenableで無い場合は
DNSの解決が同じVPC内であってもNG
ついでにInterface型endpointをVPC-tame1内に作成、アドレス解決出来るか確認。
VPC-tame, VPC-tame1内から共に確認可能。
ここで疑問が
・VPC内でDNSをenableにしなかった場合で(AWS Provided DNSは使わない)、Route 53のみを使う場合
の参照先DNSサーバーのアドレスは???そもそもこうゆう使い方は想定外?
ちなみにインスタンスに付与するZDHCPサーバーの変更はVPC Dashboard内のDHCP Option setの指定で
変更出来る事は確認。