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

AWS CDK测试失败:模板无AWS::EC2::VPC资源,已定义仍报错

问题原因与解决方案

核心原因

你用ec2.Vpc.fromVpcAttributes导入的是已存在的外部VPC,而非在当前CDK栈中创建新的VPC资源。CDK生成的CloudFormation模板只会包含栈内主动创建的资源,引用外部资源不会在模板中生成AWS::EC2::VPC类型的资源条目,所以测试时template.hasResourceProperties找不到匹配项。

正确的测试思路

既然VPC不是当前栈创建的,就不需要测试模板中是否存在该资源,转而验证依赖此VPC的资源是否正确关联了该VPC的属性,比如检查Lambda、ECS服务等资源的VPC配置是否包含正确的子网ID、安全组ID等。

举个Lambda关联VPC的测试示例:

test('Lambda关联了指定的VPC子网', () => {
  const template = Template.fromStack(new YourStack());
  template.hasResourceProperties('AWS::Lambda::Function', {
    VpcConfig: {
      SubnetIds: ['subnet-123456', 'subnet-7890ab'],
      SecurityGroupIds: ['sg-cdefgh']
    }
  });
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 03:42:36