使用 AWS CloudFormation 和 CDK 引用跨账户和区域的堆栈输出

发布于: 2026年5月14日

AWS CloudFormation 现在支持一项新的内置函数 Fn::GetStackOutput,使您能够在 CloudFormation 模板和 CDK 应用程序中直接引用跨 AWS 账户和区域的堆栈输出。这一新功能简化了 CloudFormation 和 CDK 中多账户及多区域工作负载的配置和管理,并消除了在 CDK 应用程序中重构跨堆栈依赖关系时出现的部署死锁。

在管理多账户 AWS 环境时,团队通常需要在账户边界之间共享基础设施值,例如 VPC ID 或数据库端点。此前,实现这一目标需要多个步骤,包括在模板之间复制值或协调团队之间的参数更新。现在,借助 Fn::GetStackOutput,您只需指定目标堆栈名称、输出键、用于跨账户访问的 IAM 角色 ARN,以及可选的区域。CloudFormation 会在模板处理期间自动代入指定角色、检索输出值并进行解析,从而减少手动协调工作,并降低配置漂移的风险。在 CDK 应用程序中,跨账户和跨区域引用现已自动使用此函数,无需再像以前那样依赖自定义资源和 SSM 参数。客户还可以直接调用 Fn.getStackOutput 在堆栈之间建立弱引用,从而简化堆栈重构。

要开始使用,请将 Fn::GetStackOutput 函数添加到您的 CloudFormation 模板中,并配置适当的 IAM 权限以进行跨账户访问。在 CDK 中,跨账户和跨区域引用会自动使用此函数。请访问 AWS CloudFormation 用户指南CDK 开发人员指南,了解更多信息。


此功能现已在支持 CloudFormation 的所有 AWS 区域推出。有关服务可用性的详细信息,请参阅 AWS 区域表