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

如何对作为AWS Config自定义规则的无返回值AWS Lambda进行测试?

AWS Config触发类无返回值Lambda的集成测试方案

测试前提

提前获取AWS Config触发Lambda时的真实事件payload,可通过CloudWatch Logs抓取一次生产触发的事件内容,作为测试事件的模板,根据测试场景调整事件内的资源范围、触发时间等参数即可。

测试步骤

  • 基础流程可用性验证
    直接在Lambda控制台或通过AWS CLI的lambda invoke命令传入构造好的测试事件触发执行,完成后查看对应Lambda的CloudWatch Logs,确认执行全程没有抛出异常、没有权限类报错,代码关键节点(如EC2接口调用完成、合规结果生成、PutEvaluations接口调用完成)的日志已正常打印,即可证明基础运行流程正常。
  • 结果一致性验证(可选,需验证逻辑正确性时使用)
    1. 提前准备两台测试用EC2实例,分别设置为符合规则合规要求和不符合规则合规要求的状态
    2. 触发Lambda测试执行后,调用AWS Config的get-compliance-details-by-config-rule接口,查询对应自定义规则的合规结果,与预期的实例合规状态做比对,结果一致即证明业务逻辑运行正确
    3. 也可通过CloudTrail日志核验Lambda确实成功调用了PutEvaluations接口,传入的评估参数与预期一致
  • 本地隔离测试(可选,不希望操作真实AWS资源时使用)
    可以使用moto等AWS资源模拟工具在本地搭建模拟环境,模拟EC2和AWS Config的接口响应,本地运行Lambda代码,直接验证内部逻辑的执行流程是否符合预期,不需要修改云端资源。

自动化测试封装(CI/CD场景适用)

将上述流程封装为测试脚本,按以下步骤执行即可实现自动化测试:

  1. 调用EC2接口创建符合测试条件的临时实例
  2. 构造测试事件调用lambda invoke接口触发测试
  3. 等待10~15秒后调用Config接口拉取合规结果做断言
  4. 测试完成后销毁临时测试用EC2实例即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 01:21:03