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

AWS CloudFormation嵌套栈报错:未找到输出VPCId2,求协助

解决CloudFormation根栈调用嵌套栈时的"Output 'VPCId2' not found"错误

错误信息

Output 'VPCId2' not found in stack 'arn:aws:cloudformation:us-east-1:465521475937:stack/root-VPCStack-146FM0ZNW6Y5S/60d8eaf0-dd0f-11ed-a4d3-12bfe4263bc1' for ALB

问题根源

这个错误的核心是:你的VPC嵌套栈(VPC.yaml)没有定义名为VPCId2的Outputs项,但根栈里的ALBStack和TomcatEC2Stack都在尝试引用这个不存在的输出值。

解决步骤

1. 补全VPC嵌套栈的Outputs定义

打开你的VPC.yaml模板,检查Outputs部分,必须为根栈中引用的所有输出项添加定义。以下是匹配你根栈需求的示例:

Outputs:
  VPCId1:
    Description: Management VPC ID
    Value: !Ref ManagementVPC
  VPCId2:
    Description: APP VPC ID
    Value: !Ref APPVPC
  VPCId3:
    Description: DB VPC ID
    Value: !Ref DBVPC
  PublicSubnetId:
    Description: Management Public Subnet ID
    Value: !Ref ManagementPublicSubnet01
  PublicSubnet1Id:
    Description: APP Public Subnet 1 ID
    Value: !Ref APPPublicSubnet03
  PublicSubnet2Id:
    Description: APP Public Subnet 2 ID
    Value: !Ref APPPublicSubnet05
  PrivateSubnetId1:
    Description: APP Private Subnet ID
    Value: !Ref APPPrivateSubnet02
  PrivateSubnetId2:
    Description: DB Private Subnet ID
    Value: !Ref DBPrivateSubnet04

确保每个Value后的资源名称(如APPVPC)与你VPC.yaml中实际创建的VPC资源逻辑ID一致。

2. 修正根栈Outputs的语法错误

你的根栈中outputfromNestedStack项重复定义了多个Value,这是无效的CloudFormation语法(每个输出只能对应一个值)。需要拆分为独立的输出项:

Outputs:
  StackRef:
    Value: !Ref VPCStack
  ManagementVPCId:
    Value: !GetAtt VPCStack.Outputs.VPCId1
  ManagementPublicSubnetId:
    Value: !GetAtt VPCStack.Outputs.PublicSubnetId
  APPVPCId:
    Value: !GetAtt VPCStack.Outputs.VPCId2
  APPPrivateSubnetId:
    Value: !GetAtt VPCStack.Outputs.PrivateSubnetId1
  APPPublicSubnet1Id:
    Value: !GetAtt VPCStack.Outputs.PublicSubnet1Id
  APPPublicSubnet2Id:
    Value: !GetAtt VPCStack.Outputs.PublicSubnet2Id
  DBVPCId:
    Value: !GetAtt VPCStack.Outputs.VPCId3
  DBPrivateSubnetId:
    Value: !GetAtt VPCStack.Outputs.PrivateSubnetId2

3. 重新部署栈

  • 将修改后的VPC.yaml模板重新上传到对应的S3路径
  • 删除之前创建失败的根栈(若存在)
  • 重新部署根栈,验证所有嵌套栈的输出引用均可正常解析

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 00:04:56