DNS Server

VPC内默认的DNS服务器又叫Route53 DNS Resolver, 它解析VPC内对公网和私网DNS请求:

image-20220911151234236

对于公网的域名请求比较好理解,除此之外,它也负责解析对在Route53 private hosted zone的域名请求:

image-20220912160408143

DHCP - VPC怎么知道默认的DNS服务器

DHCP服务器使用Dynamic Host Configuration Protocol (DHCP)来给机器动态分配IP。对于EC2,它与Amazon的DHCP服务器通讯,获取网络的配置信息,如DNS服务器的IP地址、VPC路由器的地址等

AWS使用DHCP option sets来配置DHCP服务器的属性


在EC2启动时,它的hostname以及resolv.conf中的DNS地址,都是通过DHCP来设置的:

image-20220911151550283

这样EC2之间在使用Private DNS进行通讯时,就默认从AWS DNS Resolver获取域名的解析:

image-20220911151737622

每个VPC都使用同一份DHCP option set, 包括两个配置Domain nameDomain name servers

image-20220911151654175

Private and Public DNS name

当在公网中创建一台EC2时,它同时具有一个Public DNS和一个Private DNS:

image-20220911151031391

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)

enableDNSHostname

VPC有一个属性enableDnsHostname, 用于控制新创建的EC2是否具有Public DNS

对于默认VPC是开启的,对于新创建的VPC则一开始是关闭的。

开启方式如下:

image-20220911161127719