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

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

配置自定义域名

与AmazonAppSync,您可以使用自定义域名来配置一个可以同时适用于 GraphQL 和实时 API 的单个、令人难忘的域名。

换句话说,您可以通过创建与Amazon账户中的 AppSync API。

当你配置AmazonAppSync API,配置了两个终端节点:

AmazonAppSync GraphQL 终端节点:

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

AmazonAppSync 实施终端节点:

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

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

AmazonAppSync 自定义域 GraphQL 终端节

https://api.example.com/graphql

AmazonAppSync 自定义域实时终端节点

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

注意

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

注册和配置域名

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

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

在中创建自定义域名AmazonAppSync

为创建自定义域名AmazonAppSync API 设置Amazon CloudFront分配。您必须设置 DNS 记录以将自定义域名映射到 CloudFront 分配域名。要路由针对自定义域名绑定的 API 请求,此映射是必需的。AmazonAppSync 通过映射的 CloudFront 分发。您还必须为自定义域名提供证书。

要设置自定义域名或更新其证书,您必须有更新 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>" } ] }

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

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

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

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

中的通配符自定义域名AmazonAppSync

AmazonAppSync 支持通配符自定义域名。要配置通配符自定义域名,请指定通配符 (*) 作为自定义域的第一个子域名。这表示根域的所有可能的子域名。例如,通配符自定义域名*.example.com导致子域名,例如a.example.comb.example.com, 和c.example.com. 所有这些子域名都路由到同一个域。

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