

AWS App Runner 不再開放給新客戶。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[AWS App Runner 可用性變更](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html)。

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

# 管理 App Runner 服務的自訂網域名稱
<a name="manage-custom-domains"></a>

當您建立 AWS App Runner 服務時，App Runner 會為其配置網域名稱。這是 App Runner 所擁有`awsapprunner.com`網域中的子網域。您可以使用網域名稱來存取服務中執行的 Web 應用程式。

**注意**  
為了增強 App Runner 應用程式的安全性，在[公有尾碼清單 (PSL) 中註冊](https://publicsuffix.org/) *\*.awsapprunner.com *網域。為了進一步提高安全性，如果您需要在 App Runner 應用程式的預設網域名稱中設定敏感 Cookie，建議您使用字`__Host-`首為 的 Cookie。此做法將有助於保護您的網域免受跨站請求偽造 (CSRF) 攻擊。如需更多資訊，請參閱 Mozilla 開發人員網路中的[設定 Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#cookie_prefixes) 頁面。

如果您擁有網域名稱，您可以將其與 App Runner 服務建立關聯。在 App Runner 驗證您的新網域之後，除了 App Runner 網域之外，您還可以使用您的網域來存取您的應用程式。您最多可以關聯五個自訂網域。

**注意**  
您可以選擇性地包含網域的`www`子網域。不過，這目前僅由 API 支援。App Runner 主控台不支援包含網域的`www`子網域。

**注意**  
AWS App Runner 不支援使用 Route 53 私有託管區域。私有託管區域可自訂 Amazon VPC 流量的網域名稱解析。如需私有託管區域的詳細資訊，請參閱 Route 53 文件中的[使用私有託管區域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html)。

## 將自訂網域與您的服務建立關聯 （連結）
<a name="manage-custom-domains.associate-custom-domain"></a>

當您將自訂網域與服務建立關聯時，您必須將 CNAME 記錄和 DNS 目標記錄新增至您的 DNS 伺服器。下列各節提供 CNAME 記錄和 DNS 目標記錄的資訊，以及如何使用這些記錄。

**注意**  
如果您使用 Amazon Route 53 做為 DNS 供應商，App Runner 會使用必要的憑證驗證和 DNS 記錄自動設定您的自訂網域，以連結至您的 App Runner Web 應用程式。當您使用 App Runner 主控台將自訂網域連結至服務時，就會發生這種情況。以下[管理自訂網域](#manage-custom-domains.manage)主題提供更多資訊。

### CNAME 記錄
<a name="manage-custom-domains.cname-records"></a>

當您將自訂網域與服務建立關聯時，App Runner 會為您提供一組憑證驗證記錄，以進行憑證驗證。您必須將這些憑證驗證記錄新增至您的網域名稱系統 (DNS) 伺服器。將 App Runner 提供的憑證驗證記錄新增至您的 DNS 伺服器。如此一來，App Runner 就可以驗證您擁有或控制網域。

**注意**  
若要自動續約自訂網域憑證，請確定您不會從 DNS 伺服器刪除憑證驗證記錄。如需如何解決憑證續約相關問題的詳細資訊，請參閱 [自訂網域憑證續約](manage-custom-domain-troubleshoot.md#certificate-renewal.troubleshoot)。

App Runner 使用 ACM 來驗證網域。如果您在 DNS 記錄中使用 CAA 記錄，請確定至少有一個 CAA 記錄參考 `amazon.com`。否則，ACM 無法驗證網域並成功建立您的網域。

如果您收到與 CAA 相關的錯誤，請參閱以下連結以了解如何解決這些問題：
+  [憑證授權機構授權 (CAA) 問題](https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting-caa.html) 
+  [如何解決發行或續約 ACM 憑證的 CAA 錯誤？](https://aws.amazon.com/premiumsupport/knowledge-center/acm-troubleshoot-caa-errors/) 
+  [自訂網域名稱](manage-custom-domain-troubleshoot.md) 

**注意**  
如果您使用 Amazon Route 53 做為 DNS 供應商，App Runner 會使用必要的憑證驗證和 DNS 記錄自動設定您的自訂網域，以連結至您的 App Runner Web 應用程式。當您使用 App Runner 主控台將自訂網域連結至服務時，就會發生這種情況。以下[管理自訂網域](#manage-custom-domains.manage)主題提供更多資訊。

### DNS 目標記錄
<a name="manage-custom-domains.DNS-target"></a>

將 DNS 目標記錄新增至您的 DNS 伺服器，以將 App Runner 網域設為目標。如果您選擇此選項，請為自訂網域新增一筆記錄，並為`www`子網域新增一筆記錄。然後，在 App Runner 主控台中等待自訂網域狀態變為**作用中**。這通常需要幾分鐘的時間，但最多可能需要 24-48 小時 (1-2 天）。驗證您的自訂網域時，App Runner 會開始將此網域的流量路由到您的 Web 應用程式。

**注意**  
為了提高與 App Runner 服務的相容性，我們建議您使用 Amazon Route 53 做為 DNS 供應商。如果您未使用 Amazon Route 53 來管理公有 DNS 記錄，請聯絡您的 DNS 供應商以了解如何新增記錄。  
如果您使用 Amazon Route 53 做為 DNS 供應商，則可以為*子網域*新增 CNAME 或別名記錄。對於*根網域*，請確定您使用別名記錄。

您可以從 Amazon Route 53 或其他供應商購買網域名稱。若要使用 Amazon Route 53 購買網域名稱，請參閱《*Amazon Route 53 開發人員指南*》中的[註冊新的網域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html)。

如需如何在 Route 53 中設定 DNS 目標的指示，請參閱《*Amazon Route 53 開發人員指南*》中的[將流量路由到您的 資源](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-routing-traffic-to-resources.html)。

如需如何在其他註冊商上設定 DNS 目標的指示，例如 GoDaddy、Shopify、Hover 等，請參閱其新增 DNS 目標記錄的特定文件。

### 指定要與您的 App Runner 服務建立關聯的網域
<a name="manage-custom-domains.specify-domain"></a>

您可以透過下列方式指定要與 App Runner 服務建立關聯的網域：
+ *根網域* – DNS 有一些固有限制，可能會阻止您為根網域名稱建立 CNAME 記錄。例如，如果您的網域名稱是 `example.com`，您可以建立 CNAME 記錄，將 的流量路由`acme.example.com`到您的 App Runner 服務。不過，您無法建立將 流量路由`example.com`至 App Runner 服務的 CNAME 記錄。若要建立根網域，請確定您新增別名記錄。

  別名記錄是 Route 53 特有的，相較於 CNAME 記錄，具有下列優點：
  +  Route 53 為您提供更多彈性，因為可以為根網域或子網域建立別名記錄。例如，如果您的網域名稱是 `example.com`，您可以建立記錄，將 `example.com`或 的請求路由`acme.example.com`到您的 App Runner 服務。
  +  它更具成本效益。這是因為 Route 53 不會針對使用別名記錄來路由流量的請求收費。
+ *子網域* – 例如 `login.example.com`或 `admin.login.example.com`。您也可以選擇性地將`www`子網域關聯為相同操作的一部分。您可以為子網域新增 CNAME 或別名記錄。
+ *萬用字元* – 例如 `*.example.com`。在此情況下，您無法使用 `www`選項。您只能將萬用字元指定為根網域的直接子網域，而且只能自行指定。這些不是有效的規格：`login*.example.com`、`*.login.example.com`。此萬用字元規格會關聯所有立即的子網域，而不會關聯根網域本身。根網域必須在個別操作中建立關聯。

更具體的網域關聯會覆寫較不具體的網域關聯。例如， 會`login.example.com`覆寫 `*.example.com`。會使用更特定關聯的憑證和 CNAME。

下列範例示範如何使用多個自訂網域關聯：

1. `example.com` 與您服務的首頁建立關聯。啟用 `www`以關聯 `www.example.com`。

1. `login.example.com` 與服務的登入頁面建立關聯。

1. `*.example.com` 與自訂「找不到」頁面建立關聯。

## 取消關聯 （取消連結） 自訂網域
<a name="manage-custom-domains.disassociate-custom-domain"></a>

您可以將自訂網域與 App Runner 服務取消關聯 （取消連結）。當您取消連結網域時，App Runner 會停止將此網域的流量路由到您的 Web 應用程式。

**注意**  
您必須刪除與 DNS 伺服器取消關聯的網域記錄。

App Runner 會在內部建立追蹤網域有效性的憑證。這些憑證存放在 AWS Certificate Manager (ACM) 中。App Runner 會在網域與您的服務取消關聯後或刪除服務後 7 天內刪除這些憑證。

## 管理自訂網域
<a name="manage-custom-domains.manage"></a>

使用下列其中一種方法來管理 App Runner 服務的自訂網域：

**注意**  
為了提高與 App Runner 服務的相容性，我們建議您使用 Amazon Route 53 做為 DNS 供應商。如果您未使用 Amazon Route 53 來管理公有 DNS 記錄，請聯絡您的 DNS 供應商以了解如何新增記錄。  
如果您使用 Amazon Route 53 做為 DNS 供應商，您可以新增*子網域*的 CNAME 或別名記錄。對於*根網域*，請確定您使用別名記錄。

------
#### [ App Runner console ]

**使用 App Runner 主控台關聯 （連結） 自訂網域**

1. 開啟 [App Runner 主控台](https://console.aws.amazon.com/apprunner)，然後在**區域**清單中選取您的 AWS 區域。

1. 在導覽窗格中，選擇**服務**，然後選擇您的 App Runner 服務。

   主控台會顯示服務儀表板，其中包含**服務概觀**。  
![App Runner 服務儀表板頁面，顯示活動清單](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/console-dashboard.png)

1. 在服務儀表板頁面上，選擇**自訂網域**索引標籤。

   主控台會顯示與您的服務相關聯的自訂網域，或**沒有自訂網域**。  
![App Runner 服務儀表板頁面上的自訂網域索引標籤，顯示沒有相關聯的自訂網域](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/service-dashboad-domains-empty.png)  
![App Runner 服務儀表板頁面上的自訂網域索引標籤，顯示一個待定關聯的自訂網域。](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/service-dashboad-domains-one-pending.png)

1. 在**自訂網域**索引標籤上，選擇**連結網域**。

1. 隨即顯示**連結自訂網域**頁面。
   + 如果您的自訂網域已向 Amazon Route 53 註冊，請選取**網域註冊商**的 **Amazon Route 53**。

     1. 從下拉式清單中選取**網域名稱**。此清單會顯示 Route 53 網域名稱的名稱和託管區域 ID。
**注意**  
您必須先從用來管理其他 App Runner 資源的相同 AWS 帳戶使用 Amazon Route 53 服務建立 Route 53 網域。

     1. 選取 **DNS 記錄類型**。

     1. 選擇**連結網域**。  
![連結自訂網域頁面，顯示 Amazon Route 53 為選取的網域提供者。](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/service-domains-link-r53.png)
**注意**  
如果 App Runner 顯示錯誤訊息，指出自動組態嘗試失敗，您可以手動設定 DNS 記錄以繼續。如果先前從服務取消連結相同的網域名稱，而 DNS 提供者記錄指向之後要刪除的服務，則可能會發生此問題。在此情況下，App Runner 會遭到封鎖，無法自動覆寫這些記錄。若要完成 DNS 組態，請略過此程序中的其餘步驟，然後遵循 中的指示[設定 Amazon Route 53 別名記錄](manage-custom-domains-route53.md)。
   + 如果您的自訂網域已向另一個網域註冊商註冊，請選取**非 Amazon** for **Domain 註冊商**。

     1. 輸入**網域名稱**。

     1.  選擇**連結網域**。  
![連結自訂網域頁面，顯示非 Amazon 作為選取的網域提供者。](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/service-domains-link-non-amzn.png)

1. **設定 DNS** 頁面隨即顯示。
   + 如果 Amazon Route 53 是您的 DNS 供應商，則此步驟為選用。

     此時，App Runner 已使用所需的憑證驗證和 DNS 記錄自動設定 Route 53 網域。
**注意**  
如果此相同的網域名稱先前已從服務取消連結，而沒有 DNS 提供者記錄指向之後要刪除的服務，App Runner 嘗試的自動組態可能會失敗。若要解決此問題並完成 DNS 關聯，請繼續**設定 DNS** 頁面上的步驟 **(1)** 和 **(2)**，將目前的目標和憑證記錄複製到 DNS 供應商。

     1. 複製憑證驗證記錄和 DNS 目標記錄，並將其新增至您的 DNS 伺服器。然後，App Runner 可以驗證您擁有或控制網域。
**注意**  
若要自動續約自訂網域憑證，請務必不要從 DNS 伺服器刪除憑證驗證記錄。
       +  如需**設定憑證驗證**的詳細資訊，請參閱*[AWS Certificate Manager 《 使用者指南](https://docs.aws.amazon.com/acm/latest/userguide/)*》中的 [DNS 驗證](https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html)。
       +  如需如何使用 Amazon Route 53 別名記錄**設定 DNS 目標**的詳細資訊，請參閱 [設定目標 DNS 的 Amazon Route 53 別名記錄](manage-custom-domains-route53.md)。
   + 如果您使用的是 Amazon Route 53 以外的 DNS 供應商，請遵循下列步驟。

     1. 複製憑證驗證記錄和 DNS 目標記錄，並將其新增至您的 DNS 伺服器。然後，App Runner 可以驗證您擁有或控制網域。
**注意**  
若要自動續約自訂網域憑證，請務必不要從 DNS 伺服器刪除憑證驗證記錄。
       +  如需**設定憑證驗證**的詳細資訊，請參閱*[AWS Certificate Manager 《 使用者指南](https://docs.aws.amazon.com/acm/latest/userguide/)*》中的 [DNS 驗證](https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html)。
       + 如需如何在其他登錄器上設定 DNS 目標的指示，例如 GoDaddy、Shopify、Hover 等，請參閱其新增 DNS 目標的特定文件。  
![設定 DNS 頁面，顯示憑證驗證和要新增至 DNS 的 DNS 目標記錄。](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/custom-domain-configure.png)

1. 選擇**關閉**

   主控台會再次顯示儀表板。**自訂網域**索引標籤有新的圖磚，顯示您剛在**待定憑證 DNS 驗證**狀態中連結的網域。  
![App Runner 服務儀表板頁面上的自訂網域索引標籤，顯示自訂網域圖磚](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/service-dashboad-domains-tile.png)

1. 當網域狀態變更為**作用中**時，請瀏覽網域以驗證該網域是否適用於路由流量。  
![App Runner 服務儀表板頁面上的自訂網域索引標籤，顯示自訂網域圖磚](http://docs.aws.amazon.com/zh_tw/apprunner/latest/dg/images/service-dashboad-domains-tile-active.png)

**注意**  
如需如何對與自訂網域相關的錯誤進行故障診斷的說明，請參閱 [自訂網域名稱](manage-custom-domain-troubleshoot.md)。

**使用 App Runner 主控台取消關聯 （取消連結） 自訂網域**

1. 在**自訂網域**索引標籤上，選取您要取消關聯的網域圖磚，然後選擇**取消連結網域**。

1. 在**取消連結網域**對話方塊中，選擇**取消連結網域**來驗證動作。
**注意**  
您必須刪除與 DNS 伺服器取消關聯的網域記錄。

------
#### [ App Runner API or AWS CLI ]

若要使用 App Runner API 或 將自訂網域與服務建立關聯 AWS CLI，請呼叫 [AssociateCustomDomain](https://docs.aws.amazon.com/apprunner/latest/api/API_AssociateCustomDomain.html) API 動作。當呼叫成功時，會傳回描述與服務相關聯之自訂網域的 [CustomDomain](https://docs.aws.amazon.com/apprunner/latest/api/API_CustomDomain.html) 物件。物件會顯示`CREATING`狀態，並包含 [CertificateValidationRecord](https://docs.aws.amazon.com/apprunner/latest/api/API_CertificateValidationRecord.html) 物件的清單。呼叫也會傳回可用來設定 DNS 目標的目標別名。這些是您可以新增至 DNS 的記錄。

若要使用 App Runner API 或 取消自訂網域與服務的關聯 AWS CLI，請呼叫 [DisassociateCustomDomain](https://docs.aws.amazon.com/apprunner/latest/api/API_DisassociateCustomDomain.html) API 動作。當呼叫成功時，會傳回 [CustomDomain](https://docs.aws.amazon.com/apprunner/latest/api/API_CustomDomain.html) 物件，描述要與您的服務取消關聯的自訂網域。物件會顯示`DELETING`狀態。

------

**Topics**
+ [將自訂網域與您的服務建立關聯 （連結）](#manage-custom-domains.associate-custom-domain)
+ [取消關聯 （取消連結） 自訂網域](#manage-custom-domains.disassociate-custom-domain)
+ [管理自訂網域](#manage-custom-domains.manage)
+ [設定目標 DNS 的 Amazon Route 53 別名記錄](manage-custom-domains-route53.md)