我如何创建一个 AWS API 网关自定义域到一个已经在 CloudFront 分配中使用的域,并且有任何停机时间?

How can I create an AWS API Gateway custom domain to a domain which is already used in a CloudFront distibution with any downtime?

我正在尝试将我的网站(目前是 CloudFront 和 Elastic Beanstalk)切换到 API 网关。

当我尝试在 API 网关中创建自定义域时,我收到一条消息,指出该域已经有 CloudFront 分配,这是事实。但是,如果我删除该分发版,我的站点将会关闭,直到新分发版(对于 API 网关)启动为止。

我可以交换这些东西吗?

我确实可以控制 DNS 记录。

您可以将 API-Gateway 注册为云端源,然后为您的 API 调用分配单独的行为。

如果您需要分步指南,可以使用以下内容link:

Processing A Contact Form Using AWS Cloudfront, API Gateway, Lambda and SES

对于 cloudformation 设置,您可以使用以下描述:

hosting a Cloudfront site with S3 and API Gateway

最终有效的解决方案:

  1. 将 DNS 更改为直接指向 Elastic Beanstalk
  2. 禁用并删除原始 CloudFront 分配
  3. 在 APIG 中创建一个 'Custom Domain'(这也会创建一个 CloudFront 分区。)
  4. 更改 DNS 以指向新的 CloudFront 分区。 (您在自定义域下的 APIG 控制台中获得 URL)

这些步骤中的每一个都需要一点时间……但没有停机时间。