为您的 VPC 莱迪思服务配置自定义域名 - Amazon VPC Lattice

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

为您的 VPC 莱迪思服务配置自定义域名

当您创建新服务时,VPC Lattice 会使用以下语法为该服务生成一个唯一的完全限定域名 (FQDN)。

service_name-service_id.partition_id.vpc-lattice-svcs.region.on.aws

但是,VPC Lattice提供的域名并不容易让您的用户记住。您可以向用户提供自定义域名更简单、更直观 URLs 。如果您希望为服务使用自定义域名,例如 www.parking.example.com 而不是 VPC Lattice 生成的 DNS 名称,可以在创建 VPC Lattice 服务时进行配置。当客户端使用您的自定义域名发出请求时,DNS 服务器会将其解析为 VPC Lattice 生成的域名。

先决条件

  • 您的服务必须有一个注册域名。如果您还没有注册域名,可以通过 Amazon Route 53,或任何其他商业注册商来注册一个域名。

  • 要接收 HTTPS 请求,必须在 AWS Certificate Manager中提供自己的证书。VPC Lattice 不支持默认证书作为后备。因此,如果您不提供与您的自定义域名相对应的 SSL/TLS 证书,则与您的自定义域名的所有 HTTPS 连接都将失败。有关更多信息,请参阅 VPC Lattice 自带证书(BYOC)

限制和注意事项

  • 一项服务不能有多个自定义域名。

  • 创建服务后,您无法修改自定义域名。

  • 自定义域名对于服务网络必须是唯一的。这意味着无法使用同一服务网络中已存在的自定义域名(针对其他服务)创建服务。

以下过程说明如何为您的服务配置自定义域名。

AWS Management Console
为您的服务配置自定义域名
  1. 打开位于 https://console.aws.amazon.com/vpc/ 的 Amazon VPC 控制台。

  2. 在导航窗格中的 VPC Lattice 下,选择服务

  3. 选择创建服务。您将导航到步骤 1:创建服务

  4. 自定义域配置部分,选择指定自定义域配置

  5. 输入您的自定义域名。

  6. 要处理 HTTPS 请求,请在自定义 SSL/TLS 证书中选择与您的自定义域名相匹配的 SSL/TLS 证书。如果您还没有证书,或者现在不想添加证书,可以在创建 HTTPS 侦听器时添加证书。但是,如果没有证书,您的自定义域名将无法提供 HTTPS 请求。有关更多信息,请参阅 添加 HTTPS 侦听器

  7. 添加用于创建服务的所有其他信息后,选择创建

AWS CLI
为您的服务配置自定义域名

使用 create-service 命令。

aws vpc-lattice create-service --name service_name --custom-domain-name your_custom_domain_name --type https --certificate-arn arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012

在上面的命令中,对于 --name,输入服务的名称。对于 --custom-domain-name,输入服务的域名,例如 parking.example.com。对于 --certificate-arn,在 ACM 中输入证书的 ARN。证书 ARN 可在您的 AWS Certificate Manager账户中找到。

将自定义域名与您的服务关联

首先,如果尚未注册域名,请注册您的自定义域名。Internet 上的域名由 Internet 名称和数字地址分配机构 (ICANN) 管理。您需要通过域名注册商 (ICANN 认可的管理域名注册的组织) 注册域名。您的注册商的网站上会提供关于注册域名的详细说明和定价信息。有关更多信息,请参阅以下资源:

接下来,使用您的 DNS 服务(例如域名注册商)创建记录,将查询路由到您的服务。有关更多信息,请参阅您的 DNS 服务的文档。或者,您可以使用 Route 53 作为您的 DNS 服务。

如果您使用的是 Route 53,则可以使用别名记录或 CNAME 记录将查询路由到您的服务。我们建议您使用别名记录,因为您可以在 DNS 命名空间的顶级节点(也称为区域顶点)创建别名记录。

如果您使用的是 Route 53,则必须先创建一个托管区,其中包含有关如何在互联网上为域路由流量的信息。创建私有或公有托管区域后,请创建一条记录,以便将您的自定义域名(例如parking.example.com)映射到 VPC Lattice 自动生成的域名。my-service-02031c045478f6ddf1.7d67968.vpc-lattice-svcs.us-west-2.on.aws如果没有此映射,您的自定义域名将无法在 VPC Lattice 中使用。

以下过程说明如何使用 Route 53 创建私有或公共托管区域

AWS Management Console

要创建别名记录以使用 Route 53 将查询路由到您的服务,请参阅将流量路由到 Amazon VPC Lattice 服务域终端节点

使用莱迪思为服务生成的VPC域名,my-service-02031c045478f6ddf1.7d67968.vpc-lattice-svcs.us-west-2.on.aws例如作为。您可以在VPC Lattice控制台的服务页面上找到这个自动生成的域名。

AWS CLI
在您的托管区域中创建别名记录
  1. 运行 get-service 命令,获取 VPC Lattice 为您的服务生成的域名(例如 my-service-02031c045478f6ddf1.7d67968.vpc-lattice-svcs.us-west-2.on.aws)和托管区 ID。

  2. 要设置别名,请使用以下命令。

    aws route53 change-resource-record-sets --hosted-zone-id hosted-zone-id-for-your-service-domain --change-batch file://~/Desktop/change-set.json

    对于 change-set.json 文件,使用以下 JSON 示例中的内容创建一个 JSON 文件,然后将其保存在本地计算机上。将file://~/Desktop/change-set.json上面的命令替换为保存在本地计算机中的 JSON 文件的路径。注意,以下 JSON 中的“类型”可以是 A 或 AAAA 记录类型。

    { "Comment": "my-service-domain.com alias", "Changes": [ { "Action": "CREATE", "ResourceRecordSet": { "Name": "my-custom-domain-name.com", "Type": "alias-record-type", "AliasTarget": { "HostedZoneId": "hosted-zone-id-for-your-service-domain", "DNSName": "lattice-generated-domain-name", "EvaluateTargetHealth": true } } } ] }