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

如何通过AWS CDK实现RDS与EC2实例CPU超阈值自动重启?

CDK配置CloudWatch告警自动重启EC2/RDS实现方案

核心实现不需要在实例内部写shell命令,直接通过CloudWatch告警绑定AWS Systems Manager(SSM)预置的官方自动化执行文档即可,所有重启操作在AWS控制面完成,无需登录实例操作。

EC2实例自动重启配置

你不需要使用InitCommand在实例内部写入重启脚本,直接给CPU使用率告警绑定SSM预置的EC2重启动作即可:

// 引入依赖
import * as cw_actions from 'aws-cdk-lib/aws-cloudwatch-actions';
import * as ssm from 'aws-cdk-lib/aws-ssm';

// 创建EC2 CPU使用率告警,匹配4%阈值、2个评估周期的规则
const ec2CpuAlarm = new cw.Alarm(this, 'EC2CPUUsage', {
  metric: yourEc2Instance.metricCPUUtilization(),
  threshold: 4,
  evaluationPeriods: 2,
  alarmName: 'EC2 CPU Usage Over 4%',
});

// 加载AWS官方预置的EC2重启自动化文档
const ec2RestartAutomation = ssm.AutomationDocument.fromAutomationDocumentName(
  this,
  'Ec2RestartDoc',
  'AWS-RestartEC2Instance'
);

// 给告警绑定重启动作
ec2CpuAlarm.addAlarmAction(new cw_actions.SsmAutomationAction(ec2RestartAutomation, {
  parameters: {
    InstanceId: [yourEc2Instance.instanceId],
    // 填入提前创建的SSM执行角色ARN,角色需要授予ec2:RebootInstances权限,信任SSM服务代入
    AutomationAssumeRole: [ssmExecutionRole.roleArn]
  }
}));

RDS实例自动重启配置

CDK没有直接提供告警触发RDS重启的原生构造,同样通过SSM预置的RDS重启文档实现即可,可以直接复用你已经创建好的RDS CPU告警:

// 加载AWS官方预置的RDS重启自动化文档
const rdsRestartAutomation = ssm.AutomationDocument.fromAutomationDocumentName(
  this,
  'RdsRestartDoc',
  'AWS-RestartDBInstance'
);

// 给已有的RDS CPU告警绑定重启动作
CPUUsage.addAlarmAction(new cw_actions.SsmAutomationAction(rdsRestartAutomation, {
  parameters: {
    DBInstanceIdentifier: [yourRdsInstance.instanceIdentifier],
    // 复用同一个SSM执行角色即可,需要额外给角色授予rds:RebootDBInstance权限
    AutomationAssumeRole: [ssmExecutionRole.roleArn]
  }
}));

配置注意事项

  • SSM执行角色的权限可以收敛到对应EC2、RDS实例的ARN,不需要授予全量资源操作权限,符合最小权限原则
  • 多可用区部署的RDS触发重启时会自动执行故障切换,重启中断时间通常在几十秒级别,比单可用区重启影响更小
  • 所有触发记录可以直接在CloudWatch告警历史、SSM自动化执行日志中查询,方便后续排查CPU高的根因
  • 整个流程完全不需要在EC2内部写入自定义shell命令,不存在实例内脚本失效、权限不足的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 09:54:21