

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

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

您可以将注册域名（例如）的流量路由到在 Amazon Lightsail 容器服务上运行的应用程序。`example.com`为此，您可以向域的托管区域添加指向 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 使用您的账户配置。有关更多信息，请参阅[配置为与 Lightsail 配合使用](lightsail-how-to-set-up-and-configure-aws-cli.md)。 AWS CLI 

## 第 2 步：获取 Lightsail 容器服务的托管区域 ID
<a name="route-53-container-service-hosted-zone-ids"></a>

在 Route 53 中的托管区域中添加别名记录时，必须为 Lightsail 容器服务指定托管区域 ID。例如，如果您的 Lightsail 容器服务位于美国西部（俄勒冈）(us-west-2)，则在将您的 Lightsail 容器服务的别名记录`Z0959753D43BBB908BAV`添加到 Route 53 的托管区域时，您必须指定托管区域 ID。 AWS 区域

以下是每个 AWS 区域的托管区域 ID，您可以在其中创建 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-east-1）**：Z08783602ZZF1Q7DYQZ4Q

**亚太地区（雅加达）(ap-southeast-3)**：Z03072883T5HFTY4T7CDL

**亚太地区（马来西亚）（ap-southeast-5）：Z09430204C5DXNNO314Y**

**亚太地区（孟买）(ap-south-1)**：Z10460781IQMISS0I0VVY

**亚太地区（悉尼）(ap-southeast-2)**：Z09597943PQQZATPFE96E

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

**欧洲（法兰克福）(eu-central-1)**：Z06137433FV04OY4EC6L0

**欧洲（斯德哥尔摩）(eu-north-1)**：Z016970523TDG2TZMUXKK

**欧洲（巴黎）(eu-west-3)**：Z09594631DSW2QUR7CFGO

**欧洲（西班牙）（eu-south-2）：Z09429752610EUUODCNMZ**

**美国东部（俄亥俄）(us-east-2)**：Z10362273VJ548563IY84

**美国西部（俄勒冈）(us-west-2)**：Z0959753D43BBB908BAV

**南美洲（圣保罗）（sa-east-1**）：Z06385701RRVJGO1IDVWQ

## 步骤 3：创建记录集 JSON 文件
<a name="route-53-container-service-create-record-set-json"></a>

使用将 DNS 记录添加到 Route 53 中域的托管区域时 AWS CLI，必须为该记录指定一组配置参数。最简单的方法是创建一个包含所有参数的 JSON (.json) 文件，然后在请求中引用 JSON 文件。 AWS CLI 

完成以下过程以使用别名记录的记录集参数创建一个 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`

   示例：

   ```
   {
     "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 Command Reference》中的 [change-resource-record-sets](https://docs.aws.amazon.com/cli/latest/reference/route53/change-resource-record-sets.html)。

**注意**  
在 AWS CLI 继续执行此过程之前，必须为 Lightsail 和 Route 53 安装并对其进行配置。有关更多信息，请参阅[配置为与 Lightsail 配合使用](lightsail-how-to-set-up-and-configure-aws-cli.md)。 AWS CLI 

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_cn/lightsail/latest/userguide/images/amazon-lightsail-route-53-record-set.png)

   请让更改在 Internet 的 DNS 内进行传播，这可能需要几个小时。完成后，Route 53 中注册域名的互联网流量应开始路由到您的 Lightsail 容器服务。