

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

# 在 中使用自訂網域啟用安全 Web 存取 Lightsail
<a name="amazon-lightsail-enabling-container-services-custom-domains"></a>

啟用 Amazon Lightsail 容器服務的自訂網域，以在您的服務中使用已註冊網域名稱。在您啟用自訂網域前，在首次建立容器服務時，其僅接受與服務相關聯的預設網域 (例如 `containerservicename.123456abcdef.us-west-2.cs.amazonlightsail.com`) 流量。在您啟用自訂網域時，請選擇您為要搭配容器服務使用之網域所建立的 Lightsail SSL/TLS 憑證，然後從該憑證中選擇要使用的網域。啟用自訂網域之後，容器服務會接受與所選憑證相關聯之所有網域的流量。

**重要**  
如果選擇 Lightsail 容器服務作為分發的原始伺服器，Lightsail 自動將分發的預設網域名新增為容器服務的自訂網域。這樣就可以在分發和容器服務之間路由流量。但是，在某些情況下，您可能需要手動將分發的預設網域名新增至容器服務。如需詳細資訊，請參閱[將分發的預設域新增至容器服務](amazon-lightsail-adding-distribution-default-domain-to-container-service.md)。

**內容**
+ [容器服務自訂網域限制](#container-service-custom-domains-prerequisites)
+ [先決條件](#container-service-custom-domains-prerequisites)
+ [檢視容器服務的自訂網域](#container-service-view-custom-domains)
+ [啟用容器服務的自訂網域](#container-service-enable-custom-domains)
+ [停用容器服務的自訂網域](#container-service-disable-custom-domains)

## 容器服務自訂網域限制
<a name="container-service-custom-domains-limits"></a>

以下限制會套用至容器服務自訂網域：
+ 您可以在每項 Lightsail 容器服務中使用最多 4 個自訂網域，且不可在多項服務上使用相同的網域。
+ 如果您使用 Lightsail DNS 區域來管理網域的 DNS，則您可以將網域頂點 (例如 `example.com`) 和子網域 (例如 `www.example.com`) 的流量，路由到容器服務。

## 先決條件
<a name="container-service-custom-domains-prerequisites"></a>

開始之前，您需要建立 Lightsail 容器服務。如需詳細資訊，請參閱[建立 Amazon Lightsail 容器服務](amazon-lightsail-creating-container-services.md)。

您也應為容器服務建立和驗證 SSL/TLS 憑證。如需詳細資訊，請參閱[建立容器服務 SSL/TLS 憑證](amazon-lightsail-creating-container-services-certificates.md)和[驗證容器服務 SSL/TLS 憑證](amazon-lightsail-validating-container-services-certificates.md)。

## 檢視容器服務的自訂網域
<a name="container-service-view-custom-domains"></a>

請完成以下程序，以檢視目前已為容器服務啟用的自訂網域。

1. 登入 [Lightsail 主控台](https://lightsail.aws.amazon.com/)。

1. 在左側導覽窗格中，選擇**容器**。

1. 選擇您要檢視已啟用自訂網域之容器服務的名稱。

1. 在容器服務管理頁面的標頭中找到自訂網域值，如以下範例所示。這些是目前已為容器服務啟用的自訂網域。  
![\[Lightsail 主控台中容器服務的自訂網域\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/container-service-custom-domains-heading.png)

1. 在容器服務管理頁面上，選擇 **Custom domains** (自訂網域) 索引標籤。

   已連接憑證下使用的自訂網域，皆列於頁面的 **Custom domain SSL/TLS certificates** (自訂網域 SSL/TLS 憑證) 區段下。目前連接至您容器服務的憑證，會列於 **Attached certificates** (連接的憑證) 區段下。

## 啟用容器服務的自訂網域
<a name="container-service-enable-custom-domains"></a>

完成以下程序，以藉由將憑證連接至服務來為 Lightsail 容器服務啟用自訂網域。

1. 登入 [Lightsail 主控台](https://lightsail.aws.amazon.com/)。

1. 在左側導覽窗格中，選擇**容器**。

1. 選擇要為其啟用自訂網域之容器服務的名稱。

1. 在容器服務管理頁面上，選擇 **Custom domains** (自訂網域) 索引標籤。

   **Custom domains** (自訂網域) 頁面會顯示目前連接至容器服務的 SSL/TLS 憑證 (若有)。

1. 選擇 **Attach certificate** (連接憑證)。

   若您沒有憑證，則必須先為您的網域建立並驗證 SSL/TLS 憑證，再將其連接至容器服務。如需詳細資訊，請參閱[建立容器服務 SSL/TLS 憑證](amazon-lightsail-creating-container-services-certificates.md)。

1. 在顯示的下拉式選單中，為您要搭配容器服務使用的網域選取有效憑證。

1. 確認憑證資訊正確無誤，然後選擇 **Attach** (連接)。

1. 容器服務的 **Status** (狀態) 會變更為 **Updating** (正在更新)。狀態變更為 **Ready** (就緒) 後，憑證的網域就會出現在 **Custom domains** (自訂網域) 區段中。

1. 選擇 **Add domain assignment** (新增網域指派)，將網域指向您的容器服務

1. 確認憑證和 DNS 資訊正確無誤，然後選擇 **Add assignment** (新增指派)。稍待片刻後，容器服務就會開始接受您所選網域的流量。

1. 新增網域指派後，請開啟新的瀏覽器視窗，並瀏覽至已為容器服務啟用的自訂網域。若有任何在容器服務上執行的應用程式，應將其載入。

## 停用容器服務的自訂網域
<a name="container-service-disable-custom-domains"></a>

完成以下程序，以藉由將憑證與您的服務中斷連結，或取消選取先前選取的網域，停用 Lightsail 容器服務的自訂網域。

1. 登入 [Lightsail 主控台](https://lightsail.aws.amazon.com/)。

1. 在左側導覽窗格中，選擇**容器**。

1. 選擇要停用自訂網域之容器服務的名稱。

1. 在容器服務管理頁面上，選擇 **Custom domains** (自訂網域) 索引標籤。

   **Custom domains** (自訂網域) 頁面會顯示目前連接至容器服務的 SSL/TLS 憑證 (若有)。

1. 請選擇下列其中一個選項：

   1. 選擇 **Configure container service domains** (設定容器服務網域)，以取消選取先前選取的網域，或選取與容器服務相關聯的更多網域。

   1. 選擇**中斷連結**，將憑證與容器服務中斷連結，並從服務中移除其所有相關聯的域。
**重要**  
如果您尚未這麼做，請修改網域的 DNS 記錄，以便流量路由停止路由至容器服務，而改為路由至其他資源。

**Topics**
+ [容器服務自訂網域限制](#container-service-custom-domains-limits)
+ [先決條件](#container-service-custom-domains-prerequisites)
+ [檢視容器服務的自訂網域](#container-service-view-custom-domains)
+ [啟用容器服務的自訂網域](#container-service-enable-custom-domains)
+ [停用容器服務的自訂網域](#container-service-disable-custom-domains)
+ [將 Lightsail 域指向容器](amazon-lightsail-point-domain-to-container-service.md)
+ [將 Route 53 域指向容器](amazon-lightsail-route-53-alias-record-for-container-service.md)

# 將網域流量路由到Lightsail容器服務
<a name="amazon-lightsail-point-domain-to-container-service"></a>

為服務啟用自訂網域後，您必須將註冊的網域名稱指向 Amazon Lightsail 容器服務。您可以將別名記錄新增至在您與容器服務搭配使用的憑證上，所指定之每個網域的 DNS 區域來執行這項操作。您新增的所有記錄都應該指向容器服務的預設網域 (例如 `https://<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com`)。

在本指南中，我們會為您提供使用 Lightsail DNS 區域將域指向容器服務的程序。如需有關 Lightsail DNS 區域的詳細資訊，請參閱 [Amazon Lightsail 中的 DNS](understanding-dns-in-amazon-lightsail.md)。

如需有關容器服務的詳細資訊，請參閱[容器服務](amazon-lightsail-container-services.md)。

**注意**  
如果您使用 Route 53 來託管域的 DNS，則應該將別名記錄新增至 Route 53 中域的託管區域。如需詳細資訊，請參閱[將 Route 53 中的域流量路由至 Amazon Lightsail 容器服務](amazon-lightsail-route-53-alias-record-for-container-service.md)。

## 先決條件
<a name="point-domain-to-container-service-prerequisite"></a>

在開始之前，應該為 Lightsail 容器服務啟用自訂域。如需詳細資訊，請參閱[啟用和管理 Amazon Lightsail 容器服務的自訂網域](amazon-lightsail-enabling-container-services-custom-domains.md)。

## 取得容器服務的預設網域
<a name="get-container-service-default-domain"></a>

請完成下列程序，以取得容器服務的預設網域名稱，此名稱是在您將別名記錄新增至網域的 DNS 時所指定。

1. 登入 [Lightsail 主控台](https://lightsail.aws.amazon.com/)。

1. 在左側導覽窗格中，選擇**容器**。

1. 選擇要取得預設網域名稱之容器服務的名稱。

1. 在容器服務管理頁面的標頭區段中，記下您的預設網域名稱。容器服務預設網域名稱與 `<ServiceName>.<RandomGUID>.<AWSRegion>.cs.amazonlightsail.com` 類似。

   您必須在網域的 DNS 中新增此值，作為正式名稱 (CNAME) 記錄的一部分。建議您複製此值並貼至稍後可參考的文字檔案中。如需詳細資訊，請參閱本指南的下列[將 CNAME 記錄新增至網域的 DNS 區域](#add-container-service-default-domain-record)章節。

## 將記錄新增至網域的 DNS 區域
<a name="add-container-service-default-domain-record"></a>

請完成下列程序，以將地址 (A 代表 IPv4 或 AAAA 代表 IPv6) 記錄或正式 (CNAME) 記錄新增至網域的 DNS 區域。

1. 在左側導覽窗格中，選擇**網域和 DNS**。

1. 在該頁面的 **DNS zones** (DNS 區域) 區段下，選擇您要在其中新增將網域流量導向至容器服務之記錄的網域名稱。

1. 選擇 **DNS records** (DNS 記錄) 索引標籤。

1. 根據您 DNS 區域的目前狀態，完成下列其中一個步驟：
   + 如果您尚未新增 A、AAAA 或 CNAME 記錄，請選擇 **Add record** (新增記錄)。
   + 如果您先前已新增 A、AAAA 或 CNAME 記錄，請選擇該頁面上列出的現有 A、AAAA 或 CNAME 記錄旁邊的編輯圖示，然後跳至此程序的步驟 5。

1. 在 **Record type** (記錄類型) 下拉式選單中，選擇 **A record** (A 記錄)、**AAAA record** (AAAA 記錄) 或 **CNAME record** (CNAME 記錄)。
   + 新增 A 記錄，以將您網域的頂點 (例如 `example.com`) 或某個子網域 (例如 `www.example.com`) 對應至 IPv4 網路下的容器服務。
   + 新增 AAAA 記錄，以將您網域的頂點 (例如 `example.com`) 或某個子網域 (例如 `www.example.com`) 對應至 IPv6 網路下的容器服務。
   + 新增 CNAME 記錄，以將子網域 (例如 `www.example.com`) 對應至容器服務的公有網域 (預設 DNS)。

1. 在 **Record name** (記錄名稱) 文字方塊中，輸入下列任一選項：
   + 對於 A 記錄或 AAAA 記錄，請輸入 `@` 來將網域 (例如 `example.com`) 頂點的流量路由至容器服務，或者輸入子網域 (例如 `www`) 來將子網域的流量 (例如 `www.example.com`) 路由至容器服務。
   + 對於 CNAME 記錄，請輸入子網域 (例如 `www`) 來將子網域的流量 (例如 `www.example.com`) 路由至容器服務。

1. 根據您正在新增的記錄，完成下列其中一個步驟：
   + 對於 A 記錄或 AAAA 記錄，請在 **Resolves to** (解析為) 文字方塊中選擇容器服務的名稱。
   + 對於 CNAME 記錄，請將容器服務的預設網域名稱輸入 **Maps to** (對應至) 文字方塊中。

1. 選擇儲存圖示，將記錄儲存到 DNS 區域。

   重複這些步驟，為您要與容器服務搭配使用的憑證上的網域新增其他 DNS 記錄。允許透過網際網路 DNS 傳播的變更時間。幾分鐘後，您應該會看到網域是否指向容器服務。

# 使用 Route 53 將網域流量路由到Lightsail容器服務
<a name="amazon-lightsail-route-53-alias-record-for-container-service"></a>

您可以將已註冊網域的流量 (例如 `example.com`) 路由至 Amazon Lightsail 容器服務中正在執行的應用程式。您可以將別名記錄新增至您網域的託管區域，該區域會指向您 Lightsail 容器服務的預設網域。

在本教學課程中，我們會為您介紹如何將 Lightsail 容器服務的別名記錄新增到 Route 53 中的託管區域。您只能使用 AWS Command Line Interface () 來執行此操作AWS CLI。不能使用 Route 53 主控台來完成。

**注意**  
如果您使用的是 Lightsail 來託管網域的 DNS，則您應該將別名記錄新增至 Lightsail 中網域的 DNS 區域。如需詳細資訊，請參閱[將 Amazon Lightsail 中的網域流量路由至 Lightsail 容器服務](amazon-lightsail-point-domain-to-container-service.md)。

**內容**
+ [步驟 1：完成先決條件](#route-53-container-service-prerequisites)
+ [步驟 2：取得 Lightsail 容器服務的託管區域 ID](#route-53-container-service-hosted-zone-ids)
+ [步驟 3：建立記錄集 JSON 檔案](#route-53-container-service-create-record-set-json)
+ [步驟 4：將記錄新增至 Route 53 中域的託管區域](#route-53-container-service-add-record-to-hosted-zone)

## 步驟 1：完成先決條件
<a name="route-53-container-service-prerequisites"></a>

請先完成事前準備 (若尚未完成)：
+ 在 Route 53 中註冊域名稱，或將 Route 53 設為您已註冊 (現有) 域名稱的 DNS 服務。如需詳細資訊，請參閱《Amazon Route 53 開發人員指南》**中的[使用 Amazon Route 53 註冊域名稱](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar.html)或[將 Amazon Route 53 設為現有域的 DNS 服務](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html)。
+ 將應用程式部署到您的 Lightsail 容器服務。如需詳細資訊，請參閱[建立和管理容器服務部署](amazon-lightsail-container-services-deployments.md)。
+ 在 Lightsail 容器服務上啟用您的已註冊網域名稱。如需詳細資訊，請參閱[啟用和管理自訂域](amazon-lightsail-enabling-container-services-custom-domains.md)。
+  AWS CLI 使用您的帳戶設定 。如需詳細資訊，請參閱[設定 AWS CLI 以使用 Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)。

## 步驟 2：取得 Lightsail 容器服務的託管區域 ID
<a name="route-53-container-service-hosted-zone-ids"></a>

當您將別名記錄新增至 Route 53 中的託管區域時，必須為您的 Lightsail 容器服務指定託管區域 ID。例如，如果您的Lightsail容器服務位於美國西部 （奧勒岡） (us-west-2) AWS 區域，則在將Lightsail容器服務的別名記錄新增至 Route 53 中的託管區域`Z0959753D43BBB908BAV`時，您必須指定託管區域 ID。

以下是每個 AWS 區域的託管區域 ID，您可在這些 AWS 區域中建立 Lightsail 容器服務。

**歐洲 (倫敦) (eu-west-2)**：Z0624918ZXDYQZLOXA66

**美國東部 (維吉尼亞北部) (us-east-1)**：Z06246771KYU0IRHI74W4

**亞太區域 (新加坡) (ap-southeast-1)**：Z0625921354DRJH4EY9V0

**歐洲 (愛爾蘭) (eu-west-1)**：Z0624732FELAMMKW3Y21

**亞太區域 (東京) (ap-northeast-1)**：Z0626125UAU4JWQ9JSKN

**亞太區域 (首爾) (ap-northeast-2)**：Z06260262XZM84B2WPLHH

**亞太區域 （雅加達） (ap-southeast-3)**：Z03072883T5HFTY4T7CDL

**亞太區域 (孟買) (ap-south-1)**：Z10460781IQMISS0I0VVY

**亞太區域 (雪梨) (ap-southeast-2)**：Z09597943PQQZATPFE96E

**加拿大 (中部) (ca-central-1)**：Z10450993RIRIJJUUMA5W

**歐洲 (法蘭克福) (eu-central-1)**：Z06137433FV04OY4EC6L0

**歐洲 (斯德哥爾摩) (eu-north-1)**：Z016970523TDG2TZMUXKK

**歐洲 (巴黎) (eu-west-3)**：Z09594631DSW2QUR7CFGO

**美國東部 (俄亥俄) (us-east-2)**：Z10362273VJ548563IY84

**美國西部 (奧勒岡) (us-west-2)**: Z0959753D43BBB908BAV

## 步驟 3：建立記錄集 JSON 檔案
<a name="route-53-container-service-create-record-set-json"></a>

當您使用 將 DNS 記錄新增至 Route 53 中網域的託管區域時 AWS CLI，您必須為記錄指定一組組態參數。最簡單的方法是建立包含所有參數的 JSON (.json) 檔案，然後在 AWS CLI 請求中參考 JSON 檔案。

請完成下列程序，以建立具有別名記錄之記錄集參數的 JSON 檔案：

1. 開啟文字編輯器，例如 Windows 上的記事本或 Linux 上的 Nano。

1. 複製下列文字並貼至文字編輯器：

   ```
   {
     "Comment": "Comment",
     "Changes": [
       {
         "Action": "CREATE",
         "ResourceRecordSet": {
           "Name": "Domain.",
           "Type": "A",
           "AliasTarget": {
             "HostedZoneId": "LightsailContainerServiceHostedZoneID",
             "DNSName": " LightsailContainerServiceAddress.",
             "EvaluateTargetHealth": true
           }
         }
       }
     ]
   }
   ```

   在您的檔案中，將以下範例文字取代為自訂文字：
   + *Comment*，並附上關於記錄集的個人備註或註解。
   + *Domain*，並附上您想要與您 Lightsail 容器服務搭配使用的已註冊網域名稱 (例如，`example.com` 或 `www.example.com`)。若要將網域的根目錄與您的 Lightsail 容器服務搭配使用，您必須在您網域的子網域空間指定 `@` 符號 (例如，`@.example.com`)。
   + *LightsailContainerServiceHostedZoneID* 具有您建立Lightsail容器服務的 AWS 區域的託管區域 ID。如需詳細資訊，請參閱本指南前述的[步驟 2：取得 Lightsail 容器服務的託管區域 ID](#route-53-container-service-hosted-zone-ids)。
   + *LightsailContainerServiceAddress* 具有Lightsail容器服務的公有網域名稱。您可以登入 Lightsail 主控台、瀏覽至您的容器服務，然後複製列在容器服務管理頁面 (例如 `container-service-1.q8cexampleljs.us-west-2.cs.amazonlightsail.com`) 標頭區段的 **Public domain** (公有網域)。

   範例：

   ```
   {
     "Comment": "Alias record for Lightsail container service",
     "Changes": [
       {
         "Action": "CREATE",
         "ResourceRecordSet": {
           "Name": "@.example.com.",
           "Type": "A",
           "AliasTarget": {
             "HostedZoneId": "Z0959753D43BBB908BAV",
             "DNSName": "container-service-1.q8cexampleljs.us-west-2.cs.amazonlightsail.com.",
             "EvaluateTargetHealth": true
           }
         }
       }
     ]
   }
   ```

1. 在您的本機目錄中將檔案儲存為 `change-resource-record-sets.json`。

## 步驟 4：將記錄新增至 Route 53 中域的託管區域
<a name="route-53-container-service-add-record-to-hosted-zone"></a>

完成下列程序，使用 AWS CLI將記錄新增至 Route 53 中域的託管區域。您可以使用 `change-resource-record-sets` 命令來執行此動作。如需詳細資訊，請參閱《AWS CLI 命令參考》**中的 [change-resource-record-sets](https://docs.aws.amazon.com/cli/latest/reference/route53/change-resource-record-sets.html)。

**注意**  
您必須安裝 AWS CLI 並為 Lightsail和 Route 53 設定它，才能繼續此程序。如需詳細資訊，請參閱[設定 AWS CLI 以使用 Lightsail](lightsail-how-to-set-up-and-configure-aws-cli.md)。

1. 開啟命令提示或終端機視窗。

1. 輸入以下命令，將記錄新增至 Route 53 中網域的託管區域。

   ```
   aws route53 change-resource-record-sets --hosted-zone-id HostedZoneID --change-batch PathToJsonFile
   ```

   將命令中的以下範例文字取代為自訂文字：
   + *HostedZoneID*，其中包含 Route 53 中已註冊域的託管區域 ID。使用 [list-hosted-zones](https://docs.aws.amazon.com/cli/latest/reference/route53/list-hosted-zones.html) 命令，以取得您 Route 53 帳戶中託管區域的 ID 清單。
   + *PathToJsonFile*，並附上電腦上包含記錄參數的 .json 檔案的本機目錄文件夾路徑。如需詳細資訊，請參閱本指南前述的[步驟 3：建立記錄集 JSON 檔案](#route-53-container-service-create-record-set-json)一節。

   範例：

   在 Linux 或 Unix 電腦上：

   ```
   aws route53 change-resource-record-sets --hosted-zone-id Z123456789ABCDEFGHIJ --change-batch home/user/awscli/route53/change-resource-record-sets.json
   ```

   在 Windows 電腦上：

   ```
   aws route53 change-resource-record-sets --hosted-zone-id Z123456789ABCDEFGHIJ --change-batch file://C:\awscli\route53\change-resource-record-sets.json
   ```

   您應該會看到類似以下範例的結果：  
![\[變更資源記錄集請求的結果\]](http://docs.aws.amazon.com/zh_tw/lightsail/latest/userguide/images/amazon-lightsail-route-53-record-set.png)

   透過網際網路 DNS 傳播變更需要一些時間，最多可能需要幾個小時。完成後，Route 53 中已註冊域的網際網路流量應該開始路由至 Lightsail 容器服務。