VPCのDNS hostnames設定とRDSのエンドポイント名の名前解決の関係

記事タイトルとURLをコピーする

 こんにちは。takada@福岡オフィスです。VPCのDNS設定とRDSの名前解決について書きます。

VPCのDNS hostnames設定とは 

 VPCの設定項目の1つです。詳細は、当社の紅林がblogの記事を書いていますので、こちらをご覧ください。
以下、AmazonProviedDNSを利用する設定のDNS Resolutionが有効であることを前提の動作となります。

 

EC2インスタンスに与える影響

 VPCでDNS hostnamesが有効であるとき、EC2インスタンスには、以下のようなPublic DNS名が付与されます。


ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com

一方、DNS hostnamesが無効であるときは、Public DNS名は付与されません。

RDSインスタンスに与える影響

RDSインスタンスが、VPC外からのアクセスを許可する設定であるPublicly Accessibleが無効である場合は、影響はありません。Publicly Accessibleが有効である場合に、影響があります。

 

RDSのPublicly Accessible設定の有効/無効での名前解決の違い

RDSのPublicly Accessible設定が無効の場合

Publicly Accessible設定が無効の場合、VPC内からRDSのエンドポイント名を名前解決した場合、以下のようにAレコードとしてプライベートIPアドレスが返ります。また、VPC外から名前解決をした場合も同様です。(この挙動は、VPCのDNS hostnames設定の影響は受けません。)

;; ANSWER SECTION:
zzz.cnymoeai4mqa.ap-northeast-1.rds.amazonaws.com. 5 IN A cnymoeai4mqa.ap-northeast-1.rds.amazonaws.com. 5 IN A 

RDSのPublicly Accessible設定が有効かつVPCのDNS hostnames設定が無効の場合

VPC内からRDSのエンドポイント名を名前解決すると、以下のようにCNAMEレコードを経由して、AレコードとしてパブリックIPアドレスが返ります。また、VPC外から名前解決をした場合も同様です。この場合、VPC内のインターネットへの経路を持たないリソースは、RDSにアクセスできなくなります。

;; ANSWER SECTION:
hoge.cnymoeai4mqa.ap-northeast-1.rds.amazonaws.com. 5 IN CNAME ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com.
ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amamonaws.com. 60 IN A xxx.xxx.xxx.xxx

RDSのPublicly Accessible設定が無効かつVPCのDNS hostnames設定が有効の場合

VPC内からRDSのエンドポイント名を名前解決すると、以下のようにCNAMEレコードを経由して、AレコードとしてプライベートIPアドレスが返ります。

;; ANSWER SECTION:
hoge.cnymoeai4mqa.ap-northeast-1.rds.amazonaws.com. 3 IN CNAME ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com.
ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com. 14 IN A 172.31.15.163

また、VPC外から名前解決をした場合は、以下のようにPC外から名前解決をした場合は、以下のようにNAMEレコードを経由して、AレコードとしてパブリックIPアドレスが返ります。

;; ANSWER SECTION:
hoge.cnymoeai4mqa.ap-northeast-1.rds.amazonaws.com. 5 IN CNAME ececxxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com.
ecc-xxx-xxx-xxx-xxx.ap-northeasttheast1.compute.amamonaws.com. 60 IN A xxx.xxx.xxx.xxx

 

以下にまとめます。

繰り返しになりますが、 上記表の3番のケースですと、インターネットへの経路を持たないVPC内のAWSリソースは、RDSにアクセスできなくなりますので、注意が必要です。