使用 Route 53 将域流量路由到 Lightsail 容器服务 - Amazon Lightsail

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

使用 Route 53 将域流量路由到 Lightsail 容器服务

您可以将注册域名(例如)的流量路由到在 Amazon Lightsail 容器服务上运行的应用程序。example.com为此,您可以向域的托管区域添加指向 Lightsail 容器服务的默认域的别名记录。

在本教程中,我们将向您展示如何将您的 Lightsail 容器服务的别名记录添加到 Route 53 中的托管区域。只有使用 AWS Command Line Interface (AWS CLI) 才能执行此操作。无法使用 Route 53 控制台来完成此操作。

注意

如果你使用 Lightsail 来托管你的域名的 DNS,那么你应该在 Lightsail 中将别名记录添加到你的域名的 DNS 区域。有关更多信息,请参阅将 Amazon Lightsail 中域名的流量路由到 Lightsail 容器服务。

内容

步骤 1:完成先决条件

满足以下先决条件(如果尚未满足):

第 2 步:获取 Lightsail 容器服务的托管区域 ID

在 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-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 文件

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

完成以下过程以使用别名记录的记录集参数创建一个 JSON 文件:

  1. 打开文本编辑器,例如 Windows 上的记事本或 Linux 上的 Nano。

  2. 将以下文本复制并粘贴到文本编辑器中:

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

    在您的文件中,将以下示例文本替换为自己的文本:

    • 备注替换为个人备注或有关记录集的备注。

    • 带有您想要用于 Lightsail 容器服务的注册域名的域名(例如,example.comwww.example.com)。要在 Lightsail 容器服务中使用您的域的根目录,您必须在域的子域空间中指定一个@符号(例如)。@.example.com

    • LightsailContainerServiceHostedZone带有您创建 Lightsail 容器服务的 AWS 区域的托管区域 ID 的 ID。有关更多信息,请参阅本指南前面的步骤 2:获取 Lightsail 容器服务的托管区域 ID

    • 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 } } } ] }
  3. 将文件以 change-resource-record-sets.json 格式保存到本地目录。

步骤 4:将记录添加到 Route 53 中域的托管区域

完成以下过程以使用 AWS CLI将记录添加到 Route 53 中域的托管区域。您可以使用 change-resource-record-sets 命令完成此操作。有关更多信息,请参阅《AWS CLI 命令参考change-resource-record-sets中的。

注意

在 AWS CLI 继续执行此过程之前,必须为 Lightsail 和 Route 53 安装并对其进行配置。有关更多信息,请参阅配置为与 Lightsail 配合使用。 AWS CLI

  1. 打开命令提示符或终端窗口。

  2. 输入以下命令以将记录添加到 Route 53 中域的托管区域。

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

    在该命令中,将以下示例文本替换为自己的文本:

    • HostedZone带有 Route 53 中注册域的托管区域 ID 的 ID。使用list-hosted-zones命令获取 Route 53 账户中托管区域的 ID 列表。

    • PathToJsonFile使用计算机上包含记录参数的.json 文件的本地目录文件夹路径。有关更多信息,请参阅本指南前面部分中的步骤 3:创建记录集 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

    您会看到类似于以下示例的结果:

    更改资源记录集请求的结果

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