配置自定义域名 - Amazon AppSync
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

配置自定义域名

对于 Amazon AppSync,您可以使用自定义域名配置一个适用于 GraphQL 和实时 API 的易于记忆的域。

换句话说,您可以创建与您的账户中的 Amazon AppSync API 关联的自定义域名,以将简单且易于记忆的终端节点 URL 与所选的域名一起使用。

在配置 Amazon AppSync API 时,将预置两个终端节点:

Amazon AppSync GraphQL 终端节点:

https://example1234567890000.appsync-api.us-east-1.amazonaws.com/graphql

Amazon AppSync 实时终端节点:

wss://example1234567890000.appsync-realtime-api.us-east-1.amazonaws.com/graphql

通过使用自定义域名,您可以使用单个域与两个终端节点进行交互。例如,如果将 api.example.com 配置为自定义域,您可以使用以下 URL 与 GraphQL 终端节点和实时终端节点进行交互:

Amazon AppSync 自定义域 GraphQL 终端节点:

https://api.example.com/graphql

Amazon AppSync 自定义域实时终端节点:

wss://api.example.com/graphql/realtime

注意

对于自定义域名,Amazon AppSync API 仅支持 TLS 1.2 和 TLS 1.3。

注册和配置域名

要为您的 Amazon AppSync API 设置自定义域名,您必须具有注册的互联网域名。您可以使用 Amazon Route 53 domain registration 或所选的第三方域名注册商注册互联网域。有关 Route 53 的更多信息,请参阅《Amazon Route 53 开发人员指南》中的什么是 Amazon Route 53?

API 的自定义域名可以是注册的互联网域的子域或根域(也称为“机构根网域”)名称。在 Amazon AppSync 中创建自定义域名后,您必须创建或更新 DNS 提供程序的资源记录以映射到您的 API 终端节点。如果没有该映射,发送到自定义域名的 API 请求将无法到达 Amazon AppSync。

在 Amazon AppSync 中创建自定义域名

在为 Amazon AppSync API 创建自定义域名时,将会设置一个 Amazon CloudFront 分配。您必须设置 DNS 记录,以将自定义域名映射到 CloudFront 分配域名。需要具有该映射,才能通过映射的 CloudFront 分配路由发送到 Amazon AppSync 中的自定义域名的 API 请求。您还必须为自定义域名提供证书。

要设置自定义域名或更新其证书,您必须有权更新 CloudFront 分配并描述您计划使用的 Amazon Certificate Manager (ACM) 证书。要授予这些权限,请将以下 Amazon Identity and Access Management (IAM) 策略语句附加到您的账户中的 IAM 用户、组或角色:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUpdateDistributionForAppSyncCustomDomainName", "Effect": "Allow", "Action": ["cloudfront:updateDistribution"], "Resource": ["*"] }, { "Sid": "AllowDescribeCertificateForAppSyncCustomDomainName", "Effect": "Allow", "Action": "acm:DescribeCertificate", "Resource": "arn:aws:acm:<region>:<account-id>:certificate/<certificate-id>" } ] }

Amazon AppSync 在 CloudFront 分配上使用服务器名称指示 (SNI) 以支持自定义域名。有关在 CloudFront 分配上使用自定义域名的更多信息(包括所需的证书格式和最大证书密钥长度),请参阅《Amazon CloudFront 开发人员指南》中的将 HTTPS 与 CloudFront 结合使用

要将自定义域名设置为 API 的主机名,API 所有者必须为自定义域名提供 SSL/TLS 证书。要提供证书,请执行以下操作之一:

  • us-east-1 Amazon 区域(美国东部(弗吉尼亚州北部))中,在 ACM 中请求新证书,或者将第三方证书颁发机构颁发的证书导入到 ACM 中。有关 ACM 的更多信息,请参阅《Amazon Certificate Manager 用户指南》中的什么是 Amazon Certificate Manager?

  • 提供 IAM 服务器证书。有关更多信息,请参阅《IAM 用户指南》中的在 IAM 中管理服务器证书

Amazon AppSync 中的通配符自定义域名

Amazon AppSync 支持通配符自定义域名。要配置通配符自定义域名,请将一个通配符 (*) 指定为自定义域的第一个子域。它表示根域的所有可能的子域。例如,通配符自定义域名 *.example.com 生成 a.example.comb.example.comc.example.com 等子域。所有这些子域路由到同一个域。

要在 Amazon AppSync 中使用通配符自定义域名,您必须提供一个由 ACM 颁发的证书,其中包含可以保护同一域中的多个站点的通配符名称。有关更多信息,请参阅《Amazon Certificate Manager 用户指南》中的 ACM 证书特征