我们公司正在探索使用 AWS CDK。我们的应用程序由 Angular 前端和 ASP.NET Core 3.1 后端组成。我们的 Angular 前端部署为 S3 存储桶中的静态站点。后端部署为带有 API 网关的 Lambda,以允许公共(public) API 调用。该数据库是 Aurora RDS 实例。
该应用程序是一个核心产品,在部署到特定于客户端的 AWS 环境中时将具有一些特定于客户端的配置。在代码方面,我们希望保持核心产品相同。
根据我所做的阅读,将 CDK 代码与应用程序代码放在一起将允许我们定义与应用程序组件相对应的构造(例如前端 S3 存储桶、后端 Lambda + API 网关、RDS 设置等),所有这些都位于在同一个仓库中。我正在考虑从核心应用程序和 cdk 构建中生成工件(例如 Nuget、二进制文件、zip)。
现在,特定于客户端的设置将使用从主存储库构建创建的工件来创建特定于客户端的构建,该构建由核心应用程序 + 基本 AWS CDK 构造组成。我可以想象构建 AWS CDK 堆栈,使用在核心存储库中创建的堆栈添加特定于客户端的配置。仍然不确定如何进行核心应用程序+特定于客户端的配置,但我想知道是否有人解决了这个问题或有建议。
最佳答案
我认为你可以从 AWS CDK Best Practices 开始特别注意编码最佳实践部分。其次,您可以引用AWS解决方案架构师文章,其中描述了Recommended AWS CDK project structure for Python applications 。默认情况下,我知道 python 不是 Nextjs,尽管你可以在其中找到一般原则。第三,可以使用a better way to structure AWS CDK projects around Nested Stacks并开始将堆栈转换为库并重新使用代码。
关于amazon-web-services - 如何构建AWS CDK以进行产品开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68825926/