

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

# AWS Cloud Map 服務 DNS 組態
<a name="services-route53"></a>

當您在支援 DNS 查詢執行個體探索的命名空間中建立服務時， 會 AWS Cloud Map 建立 Route 53 DNS 記錄。您必須指定將套用至 AWS Cloud Map 建立之所有 Route 53 DNS 記錄的 Route 53 路由政策和 DNS 記錄類型。

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

路由政策會決定 Route 53 如何回應用於服務執行個體探索的 DNS 查詢。支援的路由政策及其關聯方式 AWS Cloud Map 如下。

**加權路由**  
Route 53 會從您使用相同服務註冊的執行個體中，從一個隨機選取的 AWS Cloud Map AWS Cloud Map 服務執行個體傳回適用的值。所有記錄的權重都相同，因此您無法將更多或更少的流量路由到任何執行個體。  
例如，假設服務包含一個 **A **記錄和運作狀態檢查的組態，而您使用服務註冊 10 個執行個體。Route 53 使用從運作狀態良好的執行個體中隨機選取的執行個體 IP 地址回應 DNS 查詢。如果沒有正常運作的執行個體，Route 53 會回應 DNS 查詢，就好像所有執行個體都正常運作一樣。  
如未定義服務的運作狀態檢查，Route 53 會假設所有執行個體都運作狀況良好，並傳回其中一個隨機選取執行個體的適當值。  
如需詳細資訊，請參閱《*Amazon Route 53 開發人員指南*》中的[加權路由](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-weighted)。

**多值答案路由**  
如果您定義服務的運作狀態檢查，且運作狀態檢查的結果良好，Route 53 會傳回最多八個執行個體的適用值。  
例如，假設服務包含一個 **A **記錄和運作狀態檢查的組態。您使用此服務登錄 10 個執行個體。Route 53 以 IP 地址回應 DNS 查詢，最多八個運作狀態良好的執行個體。如果少於八個執行個體正常運作，Route 53 會使用所有正常運作執行個體的 IP 地址來回應每個 DNS 查詢。  
如不定義服務的運作狀態檢查，Route 53 會假設所有執行個體都運作狀態良好，並傳回最多八個執行個體的值。  
如需詳細資訊，請參閱《*Amazon Route 53 開發人員指南*》中的[多值回答路由](https://docs.aws.amazon.com/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 格式傳回資源的 IP 地址，例如 **192.0.2.44**。

**AAAA**  
 如果您指定此類型，Route 53 會以 IPv6 格式傳回資源的 IP 地址，例如 **2001：0db8：85a3：0000：0000：abcd：0001：2345**。

**CNAME**  
 如果您指定此類型，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`，當您註冊執行個體時， AWS Cloud Map 會使用您為**連接埠** (AWS\_INSTANCE\_PORT) 指定的值。
+ `service-hostname` 的值為以下值的串接：
  + 您在註冊**執行個體時為服務執行個體 ID** (InstanceID) 指定的值
  + 服務的名稱
  + 命名空間的名稱

  例如，假設您在註冊執行個體時將**測試**指定為執行個體 ID。服務的名稱是**後端**，命名空間的名稱是 **example.com**。 AWS Cloud Map 會將下列值指派給 **SRV** 記錄中的 `service-hostname` 屬性：

  `test.backend.example.com`
如果您在註冊執行個體時指定 IPv4 地址、IPv6 地址或兩者的值， AWS Cloud Map 會自動建立與 **SRV** 記錄中 值同名的 **A** 和/或 **AAAA** `service-hostname` 記錄。

您可以使用下列組合來指定記錄類型：
+ **A**
+ **AAAA**
+ **A (A)** 和 **AAAA (AAAA)**
+ **CNAME**
+ **SRV (SRV)**

如果您指定 **A (A)** 和 **AAAA (AAAA)** 記錄類型，您可以在註冊執行個體時指定 IPv4 IP 地址、IPv6 IP 地址或兩者。