fro*_*roi 5 aws-cloudformation aws-cdk
从文档中可以看出,在应用程序内的 CDK Stack 之间传递值的建议是简单地传递值。
如果两个堆栈位于同一个 AWS CDK 应用程序中,则只需在两个堆栈之间传递引用即可。例如,将对资源构造的引用保存为定义堆栈的属性 (this.stack.uploadBucket = myBucket),然后将该属性传递给需要该资源的堆栈的构造函数。
但似乎只有当 CDK 堆栈位于一个帐户内时这才有效。
检查生成的模板后,它会生成堆栈输出和输入,并将其用于传递值。并且堆栈输入和输出无法在创建它们的帐户之外工作。
从部署在不同帐户中的堆栈传递值的推荐方法是什么?
我认为您不能将其视为单个 CDK 应用程序。这样的单个应用程序旨在部署在单个帐户中。您想要做的是使用此应用程序构造在两个不同的环境中部署两个不同的堆栈并在它们之间共享数据。但是,在共享堆栈中已部署的服务的数据时,您必须遵守 CloudFormation 本身所具有的相同限制。所以你必须解决这个问题。
因此,我认为没有任何推荐的方法可以做到这一点,但也许您可以创建一些跨帐户角色,允许从 SSM 参数存储中写入/读取,并将其与自定义资源 lambda 结合起来,以从/读取/写入数据在另一个帐户的 SSM 存储中。鉴于此,编写一些 CICD 工具可能会更容易,该工具无需任何 AWS 服务即可完成此操作,并且只需在部署期间将值从一个堆栈的输出传递到另一个堆栈的输入。
| 归档时间: |
|
| 查看次数: |
1672 次 |
| 最近记录: |