You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将 apex 域名映射到 CloudFront 分发的解决方案问询

解决方案:外部托管Apex域名指向CloudFront的可行方案

你提到的example.com -> Global Accelerator(GA)静态IP -> API Gateway -> CloudFront架构完全可行,这是解决外部域名服务商仅支持A/AAAA记录场景的标准方案之一,同时也能适配多域名、多CloudFront分发的需求。以下是具体实现步骤和优化建议:

一、核心架构实现步骤

1. 配置API Gateway作为中转代理

  • 创建HTTP API(比REST API成本更低,适合纯代理场景),添加默认代理路由($default),将所有请求转发到你的CloudFront分发域名(例如d123abc.cloudfront.net)。
  • 在API Gateway中配置自定义域名,绑定所有需要的域名(包括apex域名example.com和子域名www.example.com等),并关联AWS Certificate Manager(ACM)在us-east-1区域申请的SSL证书(CloudFront和API Gateway均要求此区域的证书)。
  • 配置基础路径映射,将自定义域名的请求映射到API的默认阶段(如$default)。

2. 部署Global Accelerator并关联API Gateway

  • 创建标准Global Accelerator(无需启用高级功能,成本更优),GA会分配一组固定不变的Anycast静态IP(4个IPv4,可选IPv6),这些IP可直接配置到外部域名服务商的A/AAAA记录中。
  • 添加终端节点组,选择API Gateway所在的AWS区域,将API Gateway的自定义域名对应的区域终端节点(例如xxx.execute-api.us-east-1.amazonaws.com)添加为终端节点。
  • 配置GA的监听端口(80和443),确保HTTPS请求能正确转发。

3. 调整CloudFront配置以接收中转请求

  • 在CloudFront分发的**备用域名(CNAMEs)**中添加所有需要绑定的域名,确保CloudFront能识别这些域名的请求。
  • 确认CloudFront的源设置为你的实际内容源(如S3桶、EC2实例等),并在缓存行为中允许来自API Gateway的请求(保持默认缓存策略即可)。

二、多域名/多CloudFront分发的适配方案

如果需要同时处理多个域名对应不同CloudFront分发的场景,可以通过以下方式扩展架构:

  • 多API Gateway实例:为每个CloudFront分发创建独立的API Gateway,各自绑定对应的域名,然后在Global Accelerator中添加多个终端节点组。
  • GA监听规则路由:在GA的监听配置中添加规则,根据请求的Host头字段(如example.com、app.example.com)将流量转发到对应的API Gateway,再由API Gateway转发到对应CloudFront分发。

三、替代低成本方案(如果服务商支持)

如果你的外部域名服务商支持ANAME记录(例如Cloudflare、Namecheap、GoDaddy等部分服务商),可以直接将apex域名的ANAME记录指向CloudFront分发域名,无需搭建GA+API Gateway的中转层,成本更低且配置更简单。ANAME记录的作用类似ALIAS,能将apex域名解析到CloudFront的动态IP集群。

四、注意事项

  • 成本:GA按小时计费+数据传输费,API Gateway按请求数+数据传输费,整体成本略高于直接CNAME解析,但能解决apex域名的硬限制问题,同时GA提供全球加速能力。
  • 证书一致性:所有绑定的域名必须包含在同一张ACM证书中,且证书必须部署在us-east-1区域。

内容的提问来源于stack exchange,提问作者Ákos Kovács

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 00:22:12