

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

# 使用域名将流量路由到 Amazon API Gateway API
<a name="routing-to-api-gateway"></a>

您可以使用 Amazon API Gateway 来创建、发布、维护、监控和保护 APIs。除了存储在 AWS 云中的数据外APIs ，您还可以创建访问 AWS 服务或其他 Web 服务。

用于将域流量路由到 API Gateway API 的方法取决于您创建的是区域 API Gateway 终端节点，还是边缘优化的 API Gateway 终端节点。如果您创建私有 API Gateway 端点，则过程略有不同。
+ **区域 API 端点**：您创建将流量路由到区域 API 端点的 Route 53 别名记录。
+ **边缘优化的 API 端点**：您创建将流量路由到边缘优化 API 的 Route 53 别名记录。这会导致流量被路由到与边缘优化 API 关联的 CloudFront 分发。
+ **私有 API 端点**：您创建一个 Route 53 别名记录，该记录使用私有托管区中 API Gateway 的接口 VPC 端点将流量路由到您的私有 API 端点。

别名记录是对 DNS 的 Route 53 扩展，类似于 CNAME 记录。有关别名记录和 CNAME 记录的比较，请参阅[在别名记录和非别名记录之间进行选择](resource-record-sets-choosing-alias-non-alias.md)。

**注意**  
Route 53 不对对 API Gateway APIs 或其他 AWS 资源的别名查询收费。

**Topics**
+ [先决条件](#routing-to-api-gateway-prereqs)
+ [配置 Route 53 以将流量路由到 API Gateway 终端节点](#routing-to-api-gateway-config)

## 先决条件
<a name="routing-to-api-gateway-prereqs"></a>

要开始使用，您需要满足以下条件：
+ 具有自定义域名的 API Gateway API（如 api.example.com），此域名与您要创建的 Route 53 记录的名称匹配。

  有关更多信息，请参阅以下主题：
  +  APIs在《*亚马逊 API Gateway 开发者指南*》中@@ [为 HTTP 设置自定义域名](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-custom-domain-names.html)。
  + 在 *Amazon API Gateway 开发者指南 APIs*中@@ [为 REST 设置自定义域名](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)。
  + 在 *Amazon API Gateway 开发者指南 WebSocket APIs*中@@ [设置自定义域名](https://docs.aws.amazon.com/apigateway/latest/developerguide/websocket-api-custom-domain-names.html)。
  + *亚马逊 API Gateway 开发者指南 APIs 中的 API Gatewa* [y 中私有域名的自定义域名](https://docs.aws.amazon.com//apigateway/latest/developerguide/apigateway-private-custom-domains.html)。
+ 注册的域名。您可以使用 Amazon Route 53 作为您的域注册商，也可以使用其他注册商。
+ Route 53 用作域的 DNS 服务。如果您使用 Route 53 注册域名，我们会自动将 Route 53 配置为该域的 DNS 服务。

  有关将 Route 53 用作域的 DNS 服务提供商的信息，请参阅 [将 Amazon Route 53 作为现有域的 DNS 服务将 Route 53 作为现有域的 DNS 服务](MigratingDNS.md)。

## 配置 Route 53 以将流量路由到 API Gateway 终端节点
<a name="routing-to-api-gateway-config"></a>

要配置 Route 53 以将流量路由到 API Gateway 终端节点，请执行以下过程。

------
#### [ Custom domain names for public APIs ]

以下过程介绍如何将流量路由到 API Gateway 终端节点，以获取公共自定义域名 APIs。<a name="routing-to-api-gateway-config-procedure"></a>

**将流量路由到 API Gateway 端点**

1. 如果您使用相同账户创建了 Route 53 托管区和端点，请跳到步骤 2。

   如果您使用不同账户创建了托管区和端点，请获取您要使用的自定义域名的目标域名：

   1. 登录 AWS 管理控制台 并打开 API Gateway 控制台，网址为[https://console.aws.amazon.com/apigateway/](https://console.aws.amazon.com/apigateway/)。

   1. 在导航窗格中，选择**自定义域名**。

   1. 选择您希望使用的自定义域名，并获取 **API Gateway 域名**的值。

1. 打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones（托管区域）**。

1. 选择具有要用于将流量路由到 API 的域名的托管区域的名称。

1. 选择**创建记录**。

1. 指定以下值：
**重要**  
建议开启别名。对于未使用 Route 53 别名记录的域名，如果您使用的 VPC 启用了私有 DNS 来调用私有 API，则可能会遇到问题。私有 DNS 会覆盖 VPC 中的默认 DNS 解析行为，这可能会导致与外部 DNS 记录发生冲突。  
**路由策略**  
选择适用的路由策略。有关更多信息，请参阅 [选择路由策略](routing-policy.md)。  
**记录名称**  
输入要用于将流量路由到 API 的域名。  
您要将流量路由到的 API 必须包含自定义域名（如 api.example.com），此域名与您要创建的 Route 53 记录的名称匹配。  
**Alias**  
如果您使用 **Quick create（快速创建）**记录创建方法，请启用 **Alias（别名）**。  
**值/流量路由至**  
选择 **Alias to API Gateway API**（API Gateway API 的别名），然后选择终端节点所在的区域。  
如何指定 E **ndpoint** 的值取决于您是使用相同的 AWS 账户还是不同的账户创建托管区域和 API：  
   + **相同账户**-目标域名列表仅 APIs 包括自定义域名与您为**记录名称指定的值相匹配的域名**。选择适用的值。
   + **不同账户** - 输入您在此过程的步骤 1 中获得的值。  
**记录类型**  
选择 **A — IPv4 地址**。  
**评估目标运行状况**  
要控制 DNS 故障转移，请配置自定义运行状况检查。有关示例，请参阅 *API Gateway user guide*（《API Gateway 用户指南》）中的 [Configure custom health checks for DNS failover](https://docs.aws.amazon.com/apigateway/latest/developerguide/dns-failover.html)（为 DNS 故障转移配置自定义运行状况检查）。

1. 选择**创建记录**。

   更改通常在 60 秒内传播到所有 Route 53 服务器。传播完成后，您将能够使用在此步骤中创建的别名记录的名称将流量路由到 API。

------
#### [ Custom domain names for private APIs ]

以下过程介绍如何将流量路由到私有自定义域名的 API Gateway 终端节点 APIs。<a name="routing-to-api-gateway-config-procedure"></a>

**将流量路由到 API Gateway 端点**

1. 打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **Hosted zones（托管区域）**。

1. 选择具有要用于将流量路由到 API 的域名的私有托管区的名称。

1. 选择**创建记录**。

1. 指定以下值：  
**路由策略**  
选择适用的路由策略。有关更多信息，请参阅 [选择路由策略](routing-policy.md)。  
**记录名称**  
输入要用于将流量路由到 API 的域名。  
您要将流量路由到的 API 必须包含自定义域名（如 api.example.com），此域名与您要创建的 Route 53 记录的名称匹配。  
**Alias**  
开启**别名**。  
**值/流量路由至**  
选择 **VPC 端点的别名**。选择端点所在的区域，然后选择 VPC 端点。  
**记录类型**  
如果您使用 IPv6 您的 VPC 终端节点，请创建 AAAA 记录类型。如果您为 VPC 端点使用双堆栈，请创建 AAAA 和 A 记录类型。  
**评估目标运行状况**  
要控制 DNS 故障转移，请配置自定义运行状况检查。有关示例，请参阅 *API Gateway user guide*（《API Gateway 用户指南》）中的 [Configure custom health checks for DNS failover](https://docs.aws.amazon.com/apigateway/latest/developerguide/dns-failover.html)（为 DNS 故障转移配置自定义运行状况检查）。

1. 选择**创建记录**。

   更改通常在 60 秒内传播到所有 Route 53 服务器。传播完成后，您将能够使用在此步骤中创建的别名记录的名称将流量路由到 API。

------