VPC内默认的DNS服务器又叫Route53 DNS Resolver
, 它解析VPC内对公网和私网DNS请求:
对于公网的域名请求比较好理解,除此之外,它也负责解析对在Route53 private hosted zone
的域名请求:
DHCP服务器使用Dynamic Host Configuration Protocol (DHCP)
来给机器动态分配IP。对于EC2,它与Amazon的DHCP服务器通讯,获取网络的配置信息,如DNS服务器的IP地址、VPC路由器的地址等
AWS使用DHCP option sets
来配置DHCP服务器的属性
在EC2启动时,它的hostname以及resolv.conf
中的DNS地址,都是通过DHCP来设置的:
这样EC2之间在使用Private DNS
进行通讯时,就默认从AWS DNS Resolver
获取域名的解析:
每个VPC都使用同一份DHCP option set
, 包括两个配置Domain name和Domain name servers:
当在公网中创建一台EC2时,它同时具有一个Public DNS
和一个Private DNS
:
Private DNS
的格式如下:
ip-private-ipv4-address.ec2.internal ( US-East-1 )
ip-private-ipv4-address.region.compute.internal (other regions)
Public DNS
的格式如下:
ec2-public-ipv4-address.compute-1.amazonaws.com (US-East-1)
ec2-public-ipv4-address.region.amazonaws.com (other regions)
VPC有一个属性enableDnsHostname
, 用于控制新创建的EC2是否具有Public DNS
。
对于默认VPC是开启的,对于新创建的VPC则一开始是关闭的。
开启方式如下: