以前、AWS基盤の障害でAmazon DNSサーバーと通信できず、名前解決ができなくなるということが起きました。
解決方法としては、VPCのDHCPオプションセットで、セカンダリのDNSサーバーを指定することで解決できるとのことでしたので、以下に設定方法を記載します。
DHCPオプションセット
http://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html
1. マネジメントコンソールにログインして、"VPC"をクリックする
2. 左のメニューから"DHCPオプションセット"をクリックする
3. 上部の"DHCPオプションセットの作成"をクリックする
4. 設定する
ネームタグ:DHCPオプションセットの名前(つけなくても設定できる)
ドメイン名:既存の設定に合わせる(東京リージョンなら"ap-northeast-1.compute.internal")
ドメインネームサーバー:設定するDNSサーバーを指定(AmazonProvidedDNSは Amazon DNS サーバーで、セカンダリを指定するときはカンマで区切ります)
5. 左メニューの"VPC"をクリックする
6. DHCPオプションセットを変更するVPCを選択する
7. 上部の"アクション"の"DHCP オプションセットの編集"をクリック
8. 先ほど作成したDHCPオプションセットに変更して保存をクリック
9. 即時反映する場合はネットワークの再起動をしますが、そのまま放っておいても反映します(だいたい30分以内に反映します)。
■即時反映したとき
[ec2-user@ip-10-0-0-187 etc]$ cat resolv.conf
; generated by /sbin/dhclient-script
search ap-northeast-1.compute.internal
nameserver 10.0.0.2[ec2-user@ip-10-0-0-187 etc]$ sudo service network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0:
Determining IP information for eth0... done.
[ OK ]
[ec2-user@ip-10-0-0-187 etc]$ cat resolv.conf
; generated by /sbin/dhclient-script
search ap-northeast-1.compute.internal
nameserver 10.0.0.2
nameserver 8.8.8.8
■放っておいたとき
[ec2-user@ip-10-0-0-187 ~]$ cat /var/log/messages
~省略~
Nov 11 13:17:08 ip-10-0-0-187 dhclient[17798]: DHCPREQUEST on eth0 to 10.0.0.1 port 67 (xid=0x476f5916)
Nov 11 13:17:08 ip-10-0-0-187 dhclient[17798]: DHCPACK from 10.0.0.1 (xid=0x476f5916)
Nov 11 13:17:11 ip-10-0-0-187 NET[22365]: /sbin/dhclient-script : updated /etc/resolv.conf
Nov 11 13:17:11 ip-10-0-0-187 dhclient[17798]: bound to 10.0.0.187 -- renewal in 1591 seconds.
Nov 11 13:17:11 ip-10-0-0-187 ec2net: [get_meta] Trying to get http://169.254.169.254/latest/meta-data/network/interfaces/macs/06:94:95:b5:63:d7/local-ipv4s
Nov 11 13:17:11 ip-10-0-0-187 ec2net: [rewrite_aliases] Rewriting aliases of eth0