AWS账户EC2实例类型变更追踪方案及Config配置问题咨询
现有配置问题排查
- 资源类型拼写错误:你执行rdk创建规则时指定的资源类型为
AWS::ED2::Instance,正确的EC2实例资源类型应为AWS::EC2::Instance,拼写错误导致规则无法匹配到任何EC2资源,自然不会产生评估结果。 - 参数名不匹配:你在创建规则时定义的输入参数键为
modify-instance-type,但Lambda代码中取值的键为ModifyInstanceAttribute,两者完全不一致,无法读取到你传入的参数值,判断逻辑永远不会触发。 - 判断逻辑存在缺陷:你直接用
==匹配通配符*不会生效,且逻辑不符合需求——你要捕获的是实例类型发生变更的行为,而非实例类型等于某个固定值就标记不合规。
更合适的实现方案
轻量告警方案(EventBridge + CloudTrail)
这是实现该需求最简单的方案,不需要自定义Config规则:EC2实例类型变更本质是调用了
ModifyInstanceAttributeAPI修改instanceType属性,所有这类操作都会被CloudTrail记录。你只需要在EventBridge中创建规则,匹配对应事件即可,参考事件模式如下:
规则创建完成后直接绑定SNS主题发送告警,或者触发Lambda执行自定义处理即可。{ "source": ["aws.ec2"], "detail-type": ["AWS API Call via CloudTrail"], "detail": { "eventSource": ["ec2.amazonaws.com"], "eventName": ["ModifyInstanceAttribute"], "requestParameters": { "attribute": ["instanceType"] } } }合规审计方案(AWS Config托管规则)
如果你需要保留实例配置变更历史、做合规校验,不需要自己写自定义规则,直接使用AWS Config提供的托管规则ec2-approved-instance-type,只需要在规则参数中传入你司允许的EC2实例类型列表,规则会自动检测所有不在允许列表内的实例,标记为不合规并触发告警。全量历史追溯方案(CloudTrail + Athena)
如果需要追溯所有历史EC2实例类型变更记录,开启CloudTrail跟踪并将日志投递到S3存储桶,直接用Athena编写SQL查询所有ModifyInstanceAttribute相关的操作记录即可。
内容的提问来源于stack exchange,提问作者Orick
相关产品推荐
相关产品推荐

