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

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

为 GraphQL 和实时配置自定义域名 APIs

借 Amazon AppSync助,您可以使用自定义域名来配置一个适用于您的 GraphQL 和实时的、令人难忘的域名。APIs

换句话说,您可以通过在账户中创建URLs与关联的自定义域名,将简单易记的终端节点与您选择 Amazon AppSync APIs的域名结合起来。

配置时 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为自定义域,则可以使用以下方式与 GraphQL 和实时端点进行交互:URLs

Amazon AppSync 自定义域 GraphQL 端点:

https://api.example.com/graphql

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

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

注意

Amazon AppSync APIs自定义域名仅支持 TLS 1. TLS 2 和 1.3。

注册和配置域名

要为您设置自定义域名 Amazon AppSync APIs,您必须拥有注册的互联网域名。您可以使用 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 分发域名。此映射是 Amazon AppSync 通过映射 CloudFront分配路由绑定到自定义域名的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 开发者指南 CloudFront中的HTTPS与一起使用

要将自定义域名设置为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证书特性