自由気ままに書いちゃおう

好きなことをつらつらと・・・

AWS VPCエンドポイントについて2

前回からの続きです。

www.guri2o1667.work

 

今回は、VPCエンドポイント作成時(=Interface型、PrivateLink作成時)のDNS名についてです。
※Gateway型の場合は、VPCのプライベートDNS設定が有効であっても、DNS名は付与されないようです。。。(S3のエンドポイントを作成してみたのですが、VPC自体のプライベートDNS設定は有効であっても、エンドポイントのPrivateDNSnameはFalseの応対となり、DNS名は付与されませんでした。下図は参考までに)

f:id:guri2o1667:20200506064224p:plain

Gateway型のDNS名は付与されない

 

■公式サイト

エンドポイントサービスのプライベート DNS 名 - Amazon Virtual Private Cloud

 

■VPCエンドポイント作成時のDNS名について


過去の記事でVPCエンドポイントを作成した際、「プライベートDNS名を有効にする」にチェックを入れていました。

f:id:guri2o1667:20200506062844p:plain


ここにチェックを入れた際、出来上がったVPCエンドポイントには以下のようにDNSが設定されています。

f:id:guri2o1667:20200506064625p:plain


それぞれのDNS名は以下のようになっています。
上から順に、
① : リージョン固有のDNSホスト名
② : AZ毎のDNSホスト名
③ : サービス固有のDNSホスト名

f:id:guri2o1667:20200506065117p:plain


リージョン、AZのDNS名を名前解決すると、PrivateLinkのENIのIPアドレスを引けます。
注意点としては、「②のAZ毎のDNSホスト名」は、AZ毎のため、VPCエンドポイント作成時に複数AZを指定していた場合には、名前解決されるIPアドレスも必然的にAZ毎で異なってきます。
サービス固有のDNSホスト名を名前解決すると、グローバルIPアドレスが引けます。

リージョンDNS名(上記①)を基本的には利用し、AZを跨いでいる場合には上記②を利用する感じになるかと。

■プライベートDNSの有効/無効による通信経路について


プライベートDNSの設定値およびアクセス元のパターンにより、DNSホスト名(上記①、②、③)を指定した場合の経路が異なります。
① : リージョン固有のDNSホスト名
② : AZ毎のDNSホスト名
③ : サービス固有のDNSホスト名

f:id:guri2o1667:20200506071112p:plain

■補足1


プライベートDNSの設定は、そもそもVPCの属性(enableDnsHostname , enableDnsSupport)をTrueにする必要があります。

■補足2


上記①~③は、プライベートDNSが有効であればどれを使っても通信可能になります。



以上です。