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

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

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

您可以将注册域的流量(例如 example.com)路由到在 Amazon Lightsail 容器服务上运行的应用程序。为此,您可以向域的托管区域添加别名记录,它指向 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) AWS 区域,那么将 Lightsail 容器服务的别名记录添加到 Route 53 中的托管区域时,您必须指定托管区域 ID Z0959753D43BBB908BAV

以下是您可以在其中创建 Lightsail 容器服务的每个亚马逊云科技区域的托管区域 ID。

欧洲(伦敦)(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 文件

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

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

    • LightsailContainerServiceHostedZoneID 替换为您在其中创建 Lightsail 容器服务的亚马逊云科技区域的托管区域 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 Command Reference》中的 change-resource-record-sets

注意

必须安装 AWS CLI 并为 Lightsail 和 Route 53 配置它,才能继续执行此过程。有关更多信息,请参阅配置 AWS CLI 以使用 Lightsail

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

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

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

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

    • HostedZoneID 替换为 Route 53 中的已注册域的托管区域 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 容器服务。