

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Cloud Map 服务 DNS 配置
<a name="services-route53"></a>

当您在支持通过 DNS 查询发现实例的命名空间中创建服务时， Amazon Cloud Map 会创建 Route 53 DNS 记录。您必须指定适用于 Amazon Cloud Map 创建的所有 Route 53 DNS 记录的 Route 53 路由策略和 DNS 记录类型。

## 路由策略
<a name="services-dns-routing-policy"></a>

路由策略确定 Route 53 如何响应用于发现服务实例的 DNS 查询。支持的路由策略及其关联方式 Amazon Cloud Map 如下。

**加权路由**  
Route 53 从您使用同一 Amazon Cloud Map 服务注册的实例中随机选择的一个 Amazon Cloud Map 服务实例返回适用的值。所有记录都具有相同的权重，因此，您无法将更多或更少的流量路由到任何实例。  
例如，假设服务包含针对一条 **A** 记录和一个运行状况检查的配置，并且您使用服务注册 10 个实例。Route 53 使用来自运行正常的实例中的一个随机选定实例的 IP 地址来响应 DNS 查询。如果没有运行正常的实例，Route 53 会像所有实例都运行正常那样响应 DNS 查询。  
如果您没有为服务定义运行状况检查，Route 53 会假定所有实例都运行正常，并为随机选择的一个实例返回适用的值。  
有关更多信息，请参阅 *Amazon Route 53 开发人员指南*中的[加权路由](https://docs.amazonaws.cn/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-weighted)。

**多值应答路由**  
如果您为服务定义了运行状况检查，并且运行状况检查的结果为正常，则 Route 53 将为最多 8 个实例返回适用的值。  
例如，假设服务包含针对一条 **A** 记录和一个运行状况检查的配置。您使用服务注册 10 个实例。Route 53 将使用最多 8 个正常运行的实例的 IP 地址来响应 DNS 查询。如果正常运行的实例少于 8 个，Route 53 将使用所有正常运行的实例的 IP 地址来响应每个 DNS 查询。  
如果您没有为服务定义运行状况检查，Route 53 将假定所有实例都是正常运行的，并为最多 8 个实例返回值。  
有关更多信息，请参阅 *Amazon Route 53 开发人员指南*中的[多值应答路由](https://docs.amazonaws.cn/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-multivalue)。

## 记录类型
<a name="services-dns-record-type"></a>

Route 53 DNS 记录类型决定了 Route 53 在响应用于发现服务实例的 DNS 查询时返回的值的类型。您可以指定的不同 DNS 记录类型以及 Route 53 在响应查询时返回的关联值如下所示。

**A**  
如果您指定此类型，则 Route 53 会以 IPv4 格式（例如 **192.0.2.44**）返回资源的 IP 地址。

**AAAA**  
 如果您指定此类型，则 Route 53 会以 IPv6 格式返回资源的 IP 地址，例如 **2001:0 db 8:85 a 3:0000:00:00:abcd: 0001:2345**。

**别名记录**  
 如果您指定此类型，则 Route 53 会返回资源的域名（例如 www.example.com）。  
+ 要配置 **CNAME** DNS 记录，必须指定**加权路由**策略。
+ 在配置 **CNAME** DNS 记录时，您无法配置 Route 53 运行状况检查。

**SRV**  
如果您指定此类型，Route 53 将返回`SRV`记录的值。**SRV** 记录的值使用以下值：  
`priority weight port service-hostname`  
请考虑以下事项：  
+ `priority` 和 `weight` 的值都设置为 1，且无法更改。
+ 对于`port`， Amazon Cloud Map 使用您在注册实例时为**端口** (AWS\$1INSTANCE\$1PORT) 指定的值。
+ `service-hostname` 的值可以是以下值的联接：
  + 您在注册**实例时为服务实例 ID**（实例 ID）指定的值
  + 服务的名称
  + 命名空间的名称

  例如，假设您在注册实例时将 t **est** 指定为实例 ID。服务的名称是 **backend**，命名空间的名称是 **example.com**。 Amazon Cloud Map 为 **SRV** 记录中的`service-hostname`属性分配以下值：

  `test.backend.example.com`
如果您在注册实例时指定了值、 IPv6 地址或两者兼而有之，则 Amazon Cloud Map 会自动**创建**与 **SRV** 记录`service-hostname`中的值同名的 and/or **A AAAA** 记录。 IPv4 

您可按以下组合指定记录类型：
+ **A**
+ **AAAA**
+ **A** 和 **AAAA**
+ **别名记录**
+ **SRV**

如果您指定 **A** 和 **AAAA** 记录类型，则可以在注册实例时指定 IPv6 IP 地址、IP 地址或两者兼而有之。 IPv4 