

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

您可以使用 Amazon API Gateway 來建立、發佈、維護、監控 API，並保護其安全。除了存放在 AWS 雲端的資料之外，您還可以建立 APIs 來存取 AWS 服務或其他 Web 服務。

無論您是否已建立區域 API Gateway 端點或邊緣最佳化 API Gateway 端點，用來將網域流量路由到 API Gateway API 的方法都是相同的。如果您建立私有 API Gateway 端點，程序會略有不同。
+ **區域 API 端點**：您建立將流量路由到區域 API 端點的 Route 53 別名記錄。
+ **邊緣最佳化 API 端點**：您會建立將流量路由到邊緣最佳化 API 的 Route 53 別名記錄。這會導致流量路由傳送至 CloudFront 分佈，此分佈與邊緣最佳化 API 相關聯。
+ **私有 API 端點**：您可以建立 Route 53 別名記錄，使用私有託管區域中 API Gateway 的介面 VPC 端點，將流量路由到您的私有 API 端點。

別名記錄是與 CNAME 記錄類似的 DNS 的 Route 53 延伸。如需別名和 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 記錄名稱。

  如需詳細資訊，請參閱下列主題：
  + 《*Amazon API Gateway 開發人員指南*》中的「[設定 HTTP API 的自訂網域名稱](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-custom-domain-names.html)」
  + 《*Amazon API Gateway 開發人員指南*》中的「[設定 REST API 的自訂網域名稱](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)」
  + 《*Amazon API Gateway 開發人員指南*》中的「[設定 WebSocket API 的自訂網域名稱](https://docs.aws.amazon.com/apigateway/latest/developerguide/websocket-api-custom-domain-names.html)」
  + 《Amazon[ APIs》中的 API Gateway 中私有 API 的自訂網域名稱](https://docs.aws.amazon.com//apigateway/latest/developerguide/apigateway-private-custom-domains.html)。 *Amazon API Gateway *
+ 註冊的網域名稱。您可以使用 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 自訂網域名稱的 APIs端點。<a name="routing-to-api-gateway-config-procedure"></a>

**若要將流量路由到 API Gateway 端點**

1. 如果您已使用相同的帳戶建立 Route 53 託管區域和端點，請跳到步驟 2。

   如果您使用不同的帳戶建立託管區域和端點，請取得您要使用的自訂網域名稱的目標網域名稱：

   1. 登入 AWS 管理主控台 並開啟 API Gateway 主控台，網址為 https：//[https://console.aws.amazon.com/apigateway/](https://console.aws.amazon.com/apigateway/)。

   1. 在導覽窗格中，選擇 **Custom domain names (自訂網域名稱)**。

   1. 選擇您要使用的自訂網域名稱，並取得 **API Gateway domain name** (API Gateway 網域名稱) 的值。

1. 請在 [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/) 開啟 Route 53 主控台。

1. 在導覽窗格中，選擇 **Hosted zones (託管區域)**。

1. 選擇託管區域的名稱，該託管區域具有要用來將流量路由到 API 的網域名稱。

1. 選擇**建立記錄**。

1. 指定下列值：
**重要**  
建議您開啟別名。對於不使用 Route 53 別名記錄的網域名稱，如果您使用已啟用私有 DNS 的 VPC 來叫用私有 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 的別名)**，然後選擇端點所來自的區域。  
指定**端點**值的方式取決於您是否使用相同 AWS 帳戶或不同帳戶建立託管區域和 API：  
   + **相同帳戶** – 目標網域名稱的清單僅包含具有自訂網域名稱，且該名稱與您為 **Record name (記錄名稱)** 指定的值相符的 API。請選擇適用的值。
   + **不同帳戶** – 輸入您在此程序的步驟 1 中取得的值。  
**記錄類型**  
選擇 **A – IPv4 地址**。  
**評估目標運作狀態**  
為了控制 DNS 備援功能，請設定自訂運作狀態檢查。如需範例，請參閱*《API Gateway 使用者指南》*中的[設定 DNS 備援的自訂運作狀態檢查](https://docs.aws.amazon.com/apigateway/latest/developerguide/dns-failover.html)。

1. 選擇**建立記錄**。

   變更通常會在 60 秒內傳播至所有 Route 53 伺服器。當傳播完成，您就可以使用在此程序中建立的別名記錄的名稱，將流量路由到 API。

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

下列程序說明如何將流量路由到私有 API 自訂網域名稱的 APIs端點。<a name="routing-to-api-gateway-config-procedure"></a>

**若要將流量路由到 API Gateway 端點**

1. 請在 [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/) 開啟 Route 53 主控台。

1. 在導覽窗格中，選擇 **Hosted zones (託管區域)**。

1. 選擇具有您要用來將流量路由至 API 之網域名稱的私有託管區域的名稱。

1. 選擇**建立記錄**。

1. 指定下列值：  
**路由政策**  
請選擇適用的路由政策。如需詳細資訊，請參閱[選擇路由政策](routing-policy.md)。  
**記錄名稱**  
輸入要將流量路由到 API 所使用的網域名稱。  
您要路由流量的目的地 API 必須具有自訂網域名稱 (如 api.example.com)，且符合 Route 53 記錄的名稱。  
**Alias (別名)**  
開啟**別名**。  
**值/將流量路由到**  
選擇 **VPC 端點的別名**。選擇端點的來源區域，然後選取您的 VPC 端點。  
**記錄類型**  
如果您針對 VPC 端點使用 IPv6，請建立 AAAA 記錄類型。如果您為 VPC 端點使用雙堆疊，請同時建立 AAAA 和 A 記錄類型。  
**評估目標運作狀態**  
為了控制 DNS 備援功能，請設定自訂運作狀態檢查。如需範例，請參閱*《API Gateway 使用者指南》*中的[設定 DNS 備援的自訂運作狀態檢查](https://docs.aws.amazon.com/apigateway/latest/developerguide/dns-failover.html)。

1. 選擇**建立記錄**。

   變更通常會在 60 秒內傳播至所有 Route 53 伺服器。當傳播完成，您就可以使用在此程序中建立的別名記錄的名稱，將流量路由到 API。

------