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

Cloud Custodian Policy启动EC2实例动作失效求助

Cloud Custodian EC2 Start动作未生效排查方案

1. 验证实例筛选结果

策略中的两个标签过滤器为逻辑与关系,需确认目标EC2实例同时满足:

  • tag:applicationid 精确等于 '7461'(注意引号格式,确保值的类型匹配)
  • tag:environment 精确等于 nonprod

可先通过 dry-run 模式验证筛选结果:

custodian run --dryrun your-policy.yml --output-dir ./output

查看输出目录的资源清单,确认是否有符合条件的EC2实例被选中。

2. 检查实例当前状态

Cloud Custodian的start动作仅对**已停止(stopped)**状态的实例生效,若实例处于运行中(running)、终止中(terminating)等非停止状态,动作不会执行。

可通过AWS CLI查询实例状态:

aws ec2 describe-instances --filters "Name=tag:applicationid,Values=7461" "Name=tag:environment,Values=nonprod" --query 'Reservations[*].Instances[*].[InstanceId,State.Name]'

3. 确认权限配置

确保Cloud Custodian执行角色拥有以下EC2权限:

  • ec2:StartInstances
  • ec2:DescribeInstances(用于资源筛选)
  • ec2:DescribeTags(用于标签过滤)

检查IAM角色策略是否包含上述权限,避免因权限不足导致动作静默失败。

4. 分析详细日志

启用 verbose 模式获取更详细的执行日志:

custodian run your-policy.yml -v --output-dir ./detailed-logs

重点查看日志中:

  • 资源筛选阶段的匹配实例数量
  • 动作执行阶段的操作记录
  • 是否存在隐性的权限或状态检查失败信息

5. 验证策略语法细节

  • 确认标签键是否完全匹配(AWS标签键大小写敏感,如ApplicationId与applicationid会被视为不同键)
  • 若标签值为数字类型,去掉value字段的引号(如将'7461'改为7461),避免类型不匹配导致筛选失败

内容的提问来源于stack exchange,提问作者Supritha.M. Bhatt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 09:22:45