【新機能】VPCのDNSでRFC1918範囲外のプライベートIPアドレス名前解決
先ほど情報収集をしていたところAWSから以下のような発表が出ているのを見つけました。
Announcing EC2 DNS Support for Non-RFC 1918 Address Ranges
要するに、
今まではRFC1918で定義されている範囲内のものしかVPC内のDNSサーバでは名前解決できなかったけど、
その範囲外でも特別な設定不要でできるようになったよ。
ということみたいです。
ちなみにRFC1918で定義されているプライベートIPアドレスは以下のもの。
- 10.0.0.0/8 (クラスA)
- 172.16.0.0/12(クラスB)
- 192.168.0.0/16(クラスC)
プライベート網のアドレス割当(RFC 1918) - JPNIC
私がこれまで関わったAWSのシステムはこの範囲内で済んでいたので困ったことはありませんでした。
あとこの範囲外だとVPCのDNSで名前解決できなかったということも初めて知りました。
試してみます。
今回は28.0.0.0/16というVPCを作成し、そのVPC内に適当なサブネット、ルーティング、セキュリティグループなどを設定し、 同一サブネット内にEC2インスタンスを2つ起動して、片方からもう片方のホスト名で名前解決できるか試します。
EC2インスタンス①:ip-28-0-1-103.ap-northeast-1.compute.internal
EC2インスタンス②:ip-28-0-1-254.ap-northeast-1.compute.internal
インスタンス①にSSHログイン後、以下コマンドを実行します。
[ec2-user@ip-28-0-1-103 ~]$ nslookup ip-28-0-1-254.ap-northeast-1.compute.internal Server: 28.0.0.2 Address: 28.0.0.2#53 ** server can't find ip-28-0-1-254.ap-northeast-1.compute.internal: NXDOMAIN
え。。できませんがwww 東京リージョンは未対応だっけ?
と思いドキュメントをよく見るが、わからず。
「DNSホスト名」設定が無効でした
凡ミスでした。VPCから「DNSホスト名」の設定を有効にしましょう。
改めてチャレンジ。
[ec2-user@ip-28-0-1-103 ~]$ nslookup ip-28-0-1-254.ap-northeast-1.compute.internal Server: 28.0.0.2 Address: 28.0.0.2#53 Non-authoritative answer: Name: ip-28-0-1-254.ap-northeast-1.compute.internal Address: 28.0.1.254
おおー!できたー
この機能を待ちわびていた人もいるんでしょうかね。
またひとつAWSを覚えました。
注意点
ドキュメントにもありますが、2016年10月以前に作成したVPCだとRFC1918範囲外のプライベートIPアドレスの名前解決ができないようです。 どうしてもやりたければサポートに連絡してね。とのことです。