使用aws `cdk synth`通过cloudformation输出。

问题描述 投票:1回答:1

我正在一个具有现有的基于 Cloudformation 的管道的环境中工作。我想知道是否可以在 CDK 中描述我的基础架构,然后生成 Cloudformation 以用于管道,而不对管道进行任何更改。我希望我使用 CDK 的事实是完全透明的。

amazon-web-services amazon-cloudformation aws-cdk
1个回答
2
投票

我一般不建议在CDK的输出中使用 cdk synth 通过CloudFormation,除了你很清楚自己在做什么。

这里是原因。在一些边缘情况下,CDK会提前进行引导和资产发布,例如对于所谓的 资产来源 docker镜像、s3文件等)。

这个话题与GitHub上CDK仓库中询问CICD集成的问题有一些重叠。[1]

目前正在为CDK开发一个全自动的CICD流程[2]。所谓的 云集 3]包含了通过CloudFormation部署所需的所有资源,但正如RFC所指出的那样,云组件包含了每个堆栈和资产源(docker镜像、s3文件等)的CloudFormation模板。

云组件包括每个堆栈的CloudFormation模板和资产源(docker镜像、s3文件等),这些资源包括 必须包装出版 到使用它们的每个环境中的资产存储中。

如果您没有使用任何资产或可以选择在使用 CloudFormation 之前对其进行打包和部署,则使用 cdk合成器 当提供正确的 CFN 参数时,应该可以在 CloudFormation 中进行输出(正如其他人已经在本主题中指出的那样)。

参考文献

[1] https:/github.comawsaws-cdkissues6894。 [2] https:/github.comawsaws-cdk-rfcsblobmastertext0049-continuous-delivery.md。 [3] https:/github.comawsaws-cdkblobmasterpackages@aws-cdkcloud-assembly-schemaREADME.md


2
投票

是的,这是可能的。我有一个使用CDK来 "构建 "CloudFormation模板的流程,该流程使用 cdk synth. 然后将该模板上传到版本路径上的 S3 bucket 中。

然后,您可以使用以下方法从桶中部署 CloudFormation 模板。--template-url 选择权 create-stack.

https:/docs.aws.amazon.comclilatestreferencecloudformationcreat-stack.html。

© www.soinside.com 2019 - 2024. All rights reserved.