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

如何实现EC2实例闲置自动关闭、有访问请求时自动启动?

实现EC2实例闲置自动关闭+请求触发自动启动方案

一、闲置自动关闭(快速梳理)

  • 利用CloudWatch监控EC2的CPU使用率等指标,设置阈值(比如CPU使用率<5%持续30分钟)
  • 关联自动化动作(如Lambda函数或直接执行停止实例指令),触发实例停止

二、请求触发自动启动核心方案(基于现有Route 53改造)

方案1:Route 53 + Lambda + 健康检查(推荐)

  • 将Route 53原有的简单A记录改为故障转移路由策略:主记录指向EC2实例,辅助记录指向一个触发Lambda的端点(或静态提示页面)
  • 配置Lambda函数:
    1. 检测目标EC2实例状态,若处于停止状态则调用StartInstances API启动实例
    2. 启动过程中可返回“服务正在启动,请稍后刷新”的提示(可选)
  • 配置Route 53健康检查:定期检测EC2实例是否在线,当实例停止时自动将流量切换到辅助记录触发启动逻辑,实例启动完成后切回主记录

方案2:Route 53 + 应用负载均衡(ALB)

  • 创建ALB,将目标组关联你的EC2实例,开启目标组的自动注册和健康检查
  • 修改Route 53的A记录,指向ALB的DNS名称
  • 配置Lambda函数:当ALB目标组检测到无可用实例时,触发Lambda启动EC2
  • 实例启动并通过健康检查后,ALB自动将流量转发到EC2

方案3:Route 53 + S3静态站(低成本)

  • 创建S3静态网站,页面嵌入调用Lambda的脚本,提示用户服务正在启动
  • 修改Route 53为故障转移策略:主记录指向EC2,辅助记录指向S3静态站
  • Route 53健康检查失败时(EC2停止),流量自动切到S3,脚本触发Lambda启动EC2;EC2恢复后流量切回

关键注意事项

  • 给Lambda配置足够IAM权限:ec2:StartInstances、route53:ChangeResourceRecordSets(如需修改路由)等
  • EC2启动需要1-2分钟,需在路由层或前端添加等待提示
  • 可结合CloudWatch告警,在实例启动后无流量时自动停止,形成完整自动化闭环

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 04:55:28