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

AWS中低成本展示维护页面的最优方案咨询(EC2按需启停场景)

低成本解决EC2离线时展示维护页面的方案

针对你描述的低频使用EC2(每月1-2次视频会议)、需要在EC2离线时展示维护页面且避免DNS缓存问题的场景,CloudFront + S3静态网站 + 源故障转移是最具成本效益的解决方案,完全避开负载均衡的高成本和Route53故障转移的DNS缓存痛点。

核心思路

用CloudFront作为统一入口,将自定义域名指向CloudFront分配,CloudFront配置双源:主源为运行中的EC2,备用源为托管维护页面的S3静态网站。通过CloudFront内置的源健康检查,自动在EC2离线时切换到S3,所有切换逻辑在CDN边缘节点完成,无需依赖客户端DNS刷新,彻底解决浏览器缓存DNS导致的访问延迟问题。

具体实施步骤

1. 配置S3静态网站托管

  • 创建S3存储桶,命名建议与自定义域名关联(如maintenance.yourdomain.com)
  • 禁用存储桶的「阻止公共访问」设置,开启静态网站托管,设置索引文档为index.html(即你的维护页面)
  • 上传维护页面文件到存储桶,确保可以通过S3提供的静态网站域名正常访问

2. 创建CloudFront分配并配置双源

  • 在CloudFront控制台创建新分配:
    • 主源:选择「自定义源」,输入EC2 Elastic IP对应的域名(建议先在Route53解析一个子域名,如ec2.yourdomain.com指向Elastic IP),开启源健康检查:
      • 检查路径设置为EC2上可返回200 OK的端点(比如部署一个简单的Nginx服务,或用Python Flask写个/health接口)
      • 调整健康检查间隔为60秒,确保快速检测到EC2离线状态
    • 备用源:添加S3静态网站的域名作为故障转移备用源,当主源健康检查失败时,CloudFront自动切换到该源
  • 配置缓存策略:针对EC2的动态内容(视频会议服务)设置短TTL(如60秒),维护页面可设置较长TTL(如3600秒),同时开启缓存失效功能,方便EC2恢复后快速更新内容

3. 绑定自定义域名与HTTPS证书

  • 在AWS Certificate Manager(ACM)的us-east-1区域申请免费SSL证书,覆盖你的自定义域名
  • 在CloudFront分配的「自定义域名」设置中,绑定该证书,确保HTTPS访问正常

4. 调整Route53记录

  • 将原指向EC2 Elastic IP的A记录改为别名记录,指向CloudFront分配的域名

成本优势

  • CloudFront:AWS免费套餐包含每月50GB流量和200万请求额度,完全覆盖每月1-2次视频会议的使用需求,超出部分按实际流量/请求计费,成本极低
  • S3:存储维护页面的费用几乎可以忽略(GB级存储每月仅几分钱)
  • 其他组件:ACM证书免费,CloudFront健康检查无额外费用

为什么比之前的方案更好

  • 彻底解决DNS缓存问题:用户始终访问CloudFront入口,切换逻辑在边缘节点完成,无需客户端刷新DNS
  • 无需持续运行任何高成本服务:负载均衡的月费直接省掉,EC2仅在需要时启动
  • 原生支持HTTPS:通过ACM免费证书轻松满足HTTPS需求

内容的提问来源于stack exchange,提问作者marty

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:10:28