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

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

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

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

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

配置时 AWS AppSync API,将配置两个终端节点:

AWS AppSync GraphQL 端点:

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

AWS AppSync 实时端点:

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

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

AWS AppSync 自定义域 GraphQL 端点:

https://api.example.com/graphql

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

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

注意

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

注册和配置域名

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

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

在中创建自定义域名 AWS AppSync

为创建自定义域名会 AWS AppSync API设置 Amazon CloudFront 分配。必须设置一条DNS记录才能将自定义域名映射到 CloudFront 分发域名。此映射是 AWS AppSync 通过映射 CloudFront分配路由绑定到自定义域名的API请求所必需的。您还必须为自定义域名提供证书。

要设置自定义域名或更新其证书,您必须有权更新 CloudFront 分配并描述您计划使用的 AWS Certificate Manager (ACM) 证书。要授予这些权限,请将以下 AWS 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>" } ] }

AWS AppSync 通过在 CloudFront 发行版上利用服务器名称指示 (SNI) 来支持自定义域名。有关在 CloudFront分配中使用自定义域名的更多信息,包括所需的证书格式和最大证书密钥长度,请参阅 Amazon CloudFront 开发者指南 CloudFront中的HTTPS与一起使用

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

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

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

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

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

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