本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
解决与您的网络VPCs之间的DNS查询
解析器包含终端节点,您可以配置这些端点来回应本地环境的DNS查询。
注意
不支持将私人DNS查询从本地DNS服务器转发到任何 VPC CIDR + 2 地址,这可能会导致结果不稳定。我们建议您改用 Resolver 入站端点。
您还可以通过配置转发DNS规则来整合网络上的 Resolver 和DNS解析器之间的解析。您的网络可以包括您可访问的任何网络VPC,例如:
本VPC身
另一个人凝视着 VPC
AWS 与 AWS Direct Connect VPN、或网络地址转换 (NAT) 网关连接的本地网络
在开始转发查询之前,请在连接VPC的中创建 Resolver 入站和/或出站终端节点。这些端点为入站或出站查询提供路径:
- 入站终端节点:您网络上的DNS解析器可以通过此端点将DNS查询转发给 Route 53 Resolver
这样,您的DNS解析器就可以轻松解析 AWS 资源(例如 Route 53 私有托管区域中的EC2实例或记录)的域名。有关更多信息,请参阅 网络上的DNS解析器如何将DNS查询转发到 Route 53 解析器终端节点。
- 出站端点:Resolver 通过此端点有条件地将查询转发到网络上的解析程序
要转发选定的查询,您需要创建解析器规则,为要转发的DNS查询指定域名(例如 example.com),以及网络上要将查询转发到的DNS解析器的 IP 地址。如果查询与多个规则匹配(example.com、acme.example.com),Resolver 会选择匹配最具体的规则 (acme.example.com) 并将查询转发到该规则中指定的 IP 地址。有关更多信息,请参阅 Route 53 解析器端点如何将您的DNS查询转发VPCs到您的网络。
与 Amazon 一样VPC,Resolver 也是区域性的。在您所在的每个区域中VPCs,您可以选择是将查询从您的网络转发VPCs到您的网络(出站查询),还是将查询从您的网络转发到您的网络VPCs(入站查询),或者两者兼而有之。
你不能在自己不拥有的中创建 Resolver 端点。VPC只有VPC所有者才能创建VPC级别的资源,例如入站终端节点。
注意
在创建 Resolver 端点时,您无法指定将实例租期属性设置为的终端节点。VPC dedicated
有关更多信息,请参阅 在中使用为专用实例租期配置VPCs的 Resolver。
要使用入站或出站转发,请在中创建一个 Resolver 端点。VPC作为终端节点定义的一部分,您可以指定要将入站DNS查询转发到的 IP 地址或出站查询所来自的 IP 地址。对于您指定的每个 IP 地址,Resolver 会自动创建一个VPC弹性网络接口。
下图显示了从您网络上的解析器到 Route 53 DNS 解析器终端节点的DNS查询路径。
下图显示了从您的一个EC2实例VPCs到网络上的DNS解析器的DNS查询路径。
有关VPC网络接口的概述,请参阅 Amazon VPC 用户指南中的弹性网络接口。
主题
网络上的DNS解析器如何将DNS查询转发到 Route 53 解析器终端节点
如果要将DNS查询从您的网络转发到某个 AWS 区域中的 Route 53 Resolver 终端节点,请执行以下步骤:
您可以在中创建 Route 53 Resolver 入站终端节点,VPC并指定网络上的解析器将DNS查询转发到的 IP 地址。
对于您为入站终端节点指定的每个 IP 地址,Resolver 都会在您创建入站终端节点VPC的地方创建一个VPC弹性网络接口。
您可以在网络上配置解析器,将对适用域名的DNS查询转发到您在入站终端节点中指定的 IP 地址。有关更多信息,请参阅 创建入站和出站端点的注意事项。
以下是 Resolver 如何解析源自您的网络的DNS查询:
网络上的网络浏览器或其他应用程序会提交对您转发给 Resolver 的域名的DNS查询。
您网络上的解析程序将查询转发到入站端点内的 IP 地址。
入站端点将查询转发到 Resolver。
Resolver 在DNS查询中获取域名的适用值,可以在内部获取,也可以通过对公共名称服务器执行递归查找。
解析程序将值返回到入站端点。
入站端点将值返回到您网络上的解析程序。
您网络上的解析程序将值返回到应用程序。
应用程序使用 Resolver 返回的值提交HTTP请求,例如对 Amazon S3 存储桶中的对象的请求。
创建入站端点不会改变 Resolver 的行为,它只是提供从 AWS 网络外部位置到 Resolver 的路径。
Route 53 解析器端点如何将您的DNS查询转发VPCs到您的网络
当您想要将一个 AWS 区域中一个或多个EC2VPCs实例的DNS查询转发到您的网络时,请执行以下步骤。
您在中创建 Route 53 Resolver 出站终端节点VPC,并指定几个值:
你想让DNS查询在传递给网络上的解析器的途中通过。VPC
你想让 Resolver 从中转发DNS查询的 IP 地址。VPC对于网络上的主机来说,这些是DNS查询的来源 IP 地址。
一个VPC安全组
对于您为出站终端节点指定的每个 IP 地址,Resolver 都会在您指定的中创建一个亚马逊VPC弹性网络接口。VPC有关更多信息,请参阅 创建入站和出站端点的注意事项。
您可以创建一个或多个规则,这些规则指定您希望 Resolver 转发给网络上的解析器的DNS查询的域名。您还可以指定解析程序的 IP 地址。有关更多信息,请参阅 使用规则控制将哪些查询转发到您的网络。
您可以将每条规则与要将VPCsDNS查询转发到您的网络的规则相关联。
使用规则控制将哪些查询转发到您的网络
规则控制哪些DNS查询 Route 53 Resolver 端点转发给网络上的DNS解析器,以及哪些查询 Resolver 会自行回答。
您可以通过多种方法分类规则。一种方法是按照规则的创建者分类:
自动定义的规则 — Resolver 会自动创建自动定义的规则,并将这些规则与您的规则相关联。VPCs这些规则大多适用于 AWS Resolver 回答查询的特定域名。有关更多信息,请参阅 Resolver 为其创建自动定义规则的域名。
自定义规则-您可以创建自定义规则并将这些规则与关联VPCs。目前,您只能创建一种类型的自定义规则,即条件转发规则,也称为转发规则。转发规则会让 Resolver 将您的DNS查询转发VPCs到您网络上DNS解析器的 IP 地址。
如果您为与自动定义的规则相同的域创建转发规则,Resolver 会根据转发规则中的设置将对该域名的查询转发给网络上的DNS解析器。
另一种方法是按照规则执行的操作来分类:
条件转发规则-当您要将针对指定域名的DNS查询转发给网络上的DNS解析器时,可以创建条件转发规则(也称为转发规则)。
系统规则 — 系统规则会导致 Resolver 选择性覆盖转发规则中定义的行为。创建系统规则时,Resolver 会解析对指定子域名的DNS查询,否则这些查询将由网络上的DNS解析器解析。
默认情况下,转发规则会应用到一个域名及其所有子域。如果您希望将对某个域的查询转发到您网络上的解析程序,但不想为某些子域转发查询,则为这些子域创建系统规则。例如,如果您为 example.com 创建一个转发规则,但不希望转发针对 acme.example.com 的查询,则可以创建系统规则,为域名指定 acme.example.com。
递归规则 — Resolver 会自动创建名为 Internet Resolver(互联网解析程序)的递归规则。此规则使 Route 53 Resolver 充当您未为其创建自定义规则以及 Resolver 未为其创建自动定义规则的任何域名的递归解析程序。有关如何覆盖此行为的更多信息,请参阅本主题下文中的“将所有查询转发到您的网络”。
您可以创建适用于特定域名(您的或大多数 AWS 域名)、公共 AWS 域名或所有域名的自定义规则。
- 将对特定域名的查询转发到您的网络
要将对特定域名(例如 example.com)的查询转发到您的网络,您可以创建规则并指定该域名。您还可以指定网络上要将查询转发到的DNS解析器的 IP 地址。然后,您可以将每条规则与要将DNS查询转发到您的网络的规则相关联。VPCs例如,您可以为 example.com、example.org 和 example.net 创建单独的规则。然后,您可以将规则与 AWS 区域VPCs中的任意组合相关联。
- 将对 amazonaws.com 的查询转发到您的网络
域名 amazonaws.com 是EC2实例和 S3 存储桶等 AWS 资源的公共域名。如果要将对 amazonaws.com 的查询转发到您的网络,请创建规则,为域名指定 amazonaws.com,然后为规则类型指定 Forward (转发)。
注意
即使您为 amazonaws.com 创建了转发规则,解析器也不会自动转发对某些 amazonaws.com 子域名的DNS查询。有关更多信息,请参阅 Resolver 为其创建自动定义规则的域名。有关如何覆盖此行为的更多信息,请参阅下文中的“将所有查询转发到您的网络”。
- 将所有查询转发到您的网络
-
如果要将所有查询转发到您的网络,请创建一个规则,指定 “。” (dot) 表示域名,并将该规则与您要将所有DNS查询转发到您的网络的规则相关联。VPCs解析器仍然无法将所有DNS查询转发到您的网络,因为在网络之外使用DNS解析器 AWS 会破坏某些功能。例如,某些内部 AWS 域名的内部 IP 地址范围无法从外部访问 AWS。有关当您创建“.”规则时对其查询不会转发到您网络的域名列表,请参阅Resolver 为其创建自动定义规则的域名。
但是,DNS可以禁用自动定义的反向系统规则,从而允许 “.” 规则将所有反向DNS查询转发到您的网络。有关如何关闭自动定义规则的更多信息,请参阅 Resolver 中反向DNS查询的转发规则。
如果您想尝试将所有域名的DNS查询转发到您的网络,包括默认情况下不允许转发的域名,则可以创建 “.” 规则并执行以下操作之一:
将 t
enableDnsHostnames
o 的标志设置VPC为false
为Resolver 为其创建自动定义规则的域名中列出的域名创建规则
重要
如果将所有域名转发到您的网络,包括在您创建“.”规则时 Resolver 排除的域名,一些功能可能会停止工作。
Resolver 如何确定查询中的域名是否与任何规则匹配
Route 53 Resolver 将DNS查询中的域名与与查询来源关联的规则中的VPC域名进行比较。在下列情况中,Resolver 视为域名匹配:
域名完全匹配
查询中的域名是规则中域名的子域
例如,如果规则中的域名是 acme.example.com,则解析器会认为查询中的以下域名是DNS匹配的:
acme.example.com
zenith.acme.example.com
以下域名不匹配:
example.com
nadir.example.com
如果查询中的域名与多个规则(例如 example.com 和 www.example.com)中的域名匹配,则解析器会使用包含最具体域名的规则 (www.example.com) 路由出站DNS查询。
解析器如何确定将查询转发DNS到哪里
当在EC2实例上运行的应用程序VPC提交DNS查询时,Route 53 Resolver 会执行以下步骤:
解析程序检查规则中的域名。
如果查询中的域名与规则中的域名匹配,Resolver 将查询转发到您在创建出站端点时指定的 IP 地址。出站端点随后将查询转发到您网络上解析程序的 IP 地址,您在创建规则时指定该地址。
有关更多信息,请参阅 Resolver 如何确定查询中的域名是否与任何规则匹配。
解析器端点根据 “.” 规则中的设置转发DNS查询。
如果查询中的域名与任何其它规则中的域名均不匹配,Resolver 会根据自动定义的“.”(句点)规则中的设置转发查询。点阵规则适用于所有域名,但私有托管区域中的某些 AWS 内部域名和记录名称除外。如果DNS查询中的域名与您的自定义转发规则中的任何名称都不匹配,则此规则会让 Resolver 将查询转发到公共名称服务器。如果要将所有查询转发给网络上的DNS解析器,则可以创建自定义转发规则,为域名指定 “.”,在 “类型” 中指定 “转发”,然后指定这些解析器的 IP 地址。
Resolver 将响应返回到提交查询的应用程序。
在多个区域中使用规则
Route 53 Resolver 是一项区域服务,因此您在一个 AWS 区域中创建的对象仅在该区域可用。要在多个区域中使用同一个规则,您必须在各个区域中创建该规则。
创建规则的 AWS 账户可以与其他 AWS 账户共享该规则。有关更多信息,请参阅 与其他 AWS 账户共享解析器规则并使用共享规则。
Resolver 为其创建自动定义规则的域名
解析器自动创建自动定义的系统规则,这些规则定义默认情况下如何解析所选域的查询:
对于私有托管区域和亚马逊EC2特定域名(例如 compute.amazonaws.com 和 compute.internal),如果您为不太具体的域名(例如 “”)创建条件转发规则,则自动定义的规则可确保您的私有托管区域和EC2实例继续解析。 (dot) 或 “com”。
对于公开保留的域名(例如 localhost 和 10.in-addr.arpa),DNS最佳实践建议在本地回答查询,而不是转发到公共域名服务器。参见 RFC6303,本地服务DNS区域
。
注意
如果为 "."(点)或 "com" 创建条件转发规则,我们建议您还为 amazonaws.com 创建系统规则。(系统规则会让 Resolver 在本地解析对特定域和子域名的DNS查询。) 创建此系统规则可以提高性能,减少转发到网络的查询数量,并减少 Resolver 费用。
如果要覆盖自动定义的规则,可以为相同的域名创建条件转发规则。
您还可以禁用某些自动定义的规则。有关更多信息,请参阅 Resolver 中反向DNS查询的转发规则。
解析程序创建以下自动定义规则。
- 私有托管区域的规则
对于您与关联的每个私有托管区域VPC,Resolver 都会创建一个规则并将其与相关联。VPC如果您将私有托管区域与多个托管区域相关联VPCs,Resolver 会将该规则与同一个VPCs区域相关联。
规则的类型为 Forward (转发)。
- 各种 AWS 内部域名的规则
-
此部分中内部域名的所有规则类型均为 Forward(转发)。Resolver 将对这些域名的DNS查询转发到的权威域名服务器。VPC
注意
当你将 a 的
enableDnsHostnames
标志设置为时,Resolver 会创建其中的大部分规则VPC。true
即使您没有使用 Resolver 端点,Resolver 也会创建规则。VPC当您将
enableDnsHostnames
标记设置为时,Resolver 会创建以下自动定义的规则,并将它们与关联起来:VPCtrue
Region-name
.compute.internal,例如 eu-west-1.compute.internal。us-east-1 区域不使用此域名。Region-name
.compute。amazon-domain-name
,例如 eu-west-1.compute.amazonaws.com 或 cn-north-1.compute.amazonaws.com.rproxy.goskope.com.cn。us-east-1 区域不使用此域名。ec2.internal。只有 us-east-1 区域使用此域名。
compute-1.internal。只有 us-east-1 区域使用此域名。
compute-1.amazonaws.com。只有 us-east-1 区域使用此域名。
以下自动定义规则用于反向DNS查找 Resolver 在将
enableDnsHostnames
标志设置为时创建的规则。VPCtrue
10.in-addr.arpa
16.172.in-addr.arpa 到 31.172.in-addr.arpa
168.192.in-addr.arpa
254.169.254.169.in-addr.arpa
的每个CIDR范围的规则VPC. 例如,如果 a VPC 的CIDR范围为 10.0.0.0/23,则解析器会创建以下规则:
0.0.10.in-addr.arpa
1.0.10.in-addr.arpa
VPC当您将
enableDnsHostnames
标志设置为时,还会为与本地主机相关的域创建以下自动定义的规则,并将其与相关联:VPCtrue
localhost
localdomain
127.in-addr.arpa
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa
0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa
Resolver 会创建以下自动定义的规则,并在启用支持的情况下VPC通过传输网关或对VPC等互连VPC与其他规则进行连接VPC时,将它们与DNS您的规则相关联:
反向DNS查找对等方VPC的 IP 地址范围,例如 0.192.in-addr.arpa
如果您向添加IPv4CIDR区块VPC,Resolver 会为新 IP 地址范围添加自动定义的规则。
如果另一个在另一个区域,VPC则使用以下域名:
Region-name
.compute.internal。us-east-1 区域不使用此域名。Region-name
.compute。amazon-domain-name
。us-east-1 区域不使用此域名。ec2.internal。只有 us-east-1 区域使用此域名。
compute-1.amazonaws.com。只有 us-east-1 区域使用此域名。
- 所有其他域的规则
Resolver 创建一个“.”(句点)规则,应用到未在本主题前文指定的所有域名中。“.”的类型为 Recursive(递归),这意味着规则会导致 Resolver 充当递归解析程序。
创建入站和出站端点的注意事项
在 AWS 区域中创建入站和出站 Resolver 终端节点之前,请考虑以下问题。
主题
每个 区域中的入站和出站端点的数量
当你想VPCs在某个 AWS 区域与DNS你的网络集成DNS时,通常需要一个 Resolver 入站终端节点(用于你要转发到你的DNS查询VPCs)和一个出站终端节点(用于你从你转发VPCs到你的网络的查询)。您可以创建多个入站终端节点和多个出站终端节点,但是一个入站或出站终端节点足以处理各个方向的DNS查询。请注意以下几点:
-
对于每个 Resolver 端点,您可以在不同的可用区中指定两个或更多 IP 地址。端点中的每个 IP 地址每秒可以处理大量DNS查询。(有关针对端点中每个 IP 地址当前每秒处理的最大查询数,请参阅Route 53 Resolver 的配额)。如果您需要 Resolver 处理更多查询,则可以向现有端点添加更多 IP 地址,而不是添加其它端点。
-
解析器定价基于终端节点中的 IP 地址数量和终端节点处理的DNS查询数量。每个端点包含至少两个 IP 地址。有关 Resolver 定价的更多信息,请参阅 Amazon Route 53 定价
。 -
每条规则都指定了转发DNS查询的出站终端节点。如果您在一个 AWS 区域中创建了多个出站终端节点,并且想要将部分或全部解析器规则与每个终端节点相关联VPC,则需要创建这些规则的多个副本。
对入站和VPC出站终端节点使用相同的方法
您可以在同一区域的相同VPC或不同VPCs区域中创建入站和出站终端节点。
有关更多信息,请参阅 Amazon Route 53 的最佳实践。
入站端点和私有托管区域
如果您希望 Resolver 使用私有托管区域中的记录来解析入站DNS查询,请将私有托管区域与您在中创建入站终端节点的区域相关联。VPC有关将私有托管区域与关联的信息VPCs,请参阅使用私有托管区。
VPC凝视
无论您选择的终端节点是否与其他VPCs终端节点对等,您都可以将VPC某个 AWS 区域VPC中的任何一个用于入站或出站终端节点。有关更多信息,请参阅亚马逊 Virtual VPC Private Cloud 对等互连。
共享子网中的 IP 地址
创建入站或出站终端节点时,只有当前账户创建了共享子网中的 IP 地址,您才能在共享子网中指定 IP 地址VPC。如果另一个账户创建了一个VPC并VPC与您的账户共享子网,则您无法在该子网中指定 IP 地址。有关共享子网的更多信息,请参阅 Amazon VPC 用户指南VPCs中的使用共享子网。
您的网络与您在其中创建端点的网络之间的连接 VPCs
您的网络与您在其中创建终端节点的VPCs网络之间必须有以下连接之一:
-
入站终端节点 — 您必须在您的网络与为其创建入站终端节点VPC的每个终端节点之间设置连接或AWS Direct Connect VPN连接。
-
出站终端节点-您必须在您的网络和为其创建出站终端节点的每个VPC终端节点之间设置VPN连接、连接或网络地址转换 (NAT) 网关。AWS Direct Connect
在共享规则时,您还会共享出站端点
创建规则时,您需要指定您希望 Resolver 用于将DNS查询转发到您的网络的出站终端节点。如果您与其他 AWS 账户共享该规则,则还会间接共享您在规则中指定的出站终端节点。如果您VPCs在一个 AWS 地区使用多个 AWS 账户进行创建,则可以执行以下操作:
-
在该区域中创建一个出站端点。
-
使用一个 AWS 账户创建规则。
-
与在该地区创建VPCs的所有 AWS 账户共享规则。
这允许您使用一个区域中的一个出站终端节点将来自多个出站终端节点的DNS查询转发到您的网络,VPCs即使VPCs这些查询是使用不同的 AWS 账户创建的。
选择用于端点的协议
端点协议决定如何将数据传输到入站端点和从出站端点传输数据。不需要对VPC流量DNS查询进行加密,因为网络上的每个数据包流都要根据规则单独授权,以便在传输和传送之前验证正确的来源和目的地。未经传输实体和接收实体特别授权,信息基本上不可能在实体之间任意传递。如果将数据包路由到目标,但没有与之匹配的规则,则该数据包将被丢弃。有关更多信息,请参阅VPC功能。
可用的协议包括:
-
Do53:DNS越过端口 53。使用 Route 53 Resolver 中继数据,无需额外加密。虽然外部各方无法读取数据,但可以在 AWS 网络内查看。使用UDP或TCP发送数据包。Do53 主要用于亚马逊内部和亚马逊VPCs之间的流量。
-
DoH:数据通过加密HTTPS会话传输。DoH 可提升安全性,其中未经授权的用户无法解密数据,并且除预期接收方外,任何人都无法读取数据。
-
DoH-FIPS:数据通过符合 FIPS 140-2 加密标准的加密HTTPS会话传输。仅入站端点支持 有关更多信息,请参阅 FIPSPUB140-2
。
对于入站端点,可以按以下方式应用协议:
结合使用 Do53 和 DoH。
Do53 和 DoH-组合在一起FIPS。
单独使用 Do53。
单独使用 DoH。
卫生部-FIPS 独自一人。
无,即视为 Do53。
对于出站端点,可以按以下方式应用协议:
结合使用 Do53 和 DoH。
单独使用 Do53。
单独使用 DoH。
无,即视为 Do53。
另请参阅 创建或编辑入站端点时指定的值 和 创建或编辑出站端点时指定的值。
在中使用为专用实例租期配置VPCs的 Resolver
在创建 Resolver 端点时,您无法指定将实例租期属性设置为的终端节点。VPC dedicated
Resolver 不在单一租户硬件上运行。
您仍然可以使用 Resolver 来解析源自的DNS查询。VPC至少创建一个VPC实例租期属性设置为default
,并在创建入站和出站终端节点VPC时指定该属性。
创建转发规则时,无论实例租期属性的设置如何VPC,都可以将其与任何转发规则相关联。