VPC Private DNSに関する雑多
対象VPC: sandbox
VPC
以下の属性をtrueに設定
- enableDnsHostnames
- enableDnsSupport
Route53
Hosted Zoneを作成
- Domain Name:
sandbox.local
- Comment:
private domain
- Type:
Private Hosted Zone for Amazon VPC
- VPC ID: (sandbox VPCを選択)
レコードを登録
2つ登録
sandboxdbinstance.sandbox.local. IN CNAME <RDS FQDN> suzaku.sandbox.local. IN A <VPC instance local IP>
動作確認
VPC内部のホストで実行
名前解決できる。
$ dig sandboxdbinstance.sandbox.local ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.36.amzn1 <<>> sandboxdbinstance.sandbox.local ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29203 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
$ dig suzaku.sandbox.local ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.36.amzn1 <<>> suzaku.sandbox.local ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47609 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
VPC外部のホストで実行
当然だが、名前解決できない。
$ dig sandboxdbinstance.sandbox.local ; <<>> DiG 9.8.3-P1 <<>> sandboxdbinstance.sandbox.local ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 14262 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
$ dig sandboxdbinstance.sandbox.local ; <<>> DiG 9.8.3-P1 <<>> sandboxdbinstance.sandbox.local ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 50346 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
余談
Publicly AccessibleのRDSのEndpointに対しdig
Public ELBのDNS Nameに対しdig
- VPC内部・外部: パブリックIPが解決される