2

如何使用 aws cloudformation 或 aws cdk 设置 aws aurora mysql 表?

在我的设置中,我有一个使用 lambda 用于各种微服务的无服务器应用程序。数据库是一个无服务器的 aurora mysql 数据库。为了配置 aws 基础设施,我将使用 aws CDK。我喜欢使用一些迁移工具(如 liquibase 或 sequelize)来设置数据库。

目前我正在使用一个分离的 lambda 函数。lambda 函数执行 liquibase 以设置数据库更改。但是在使用 CDK 部署成功后,我必须单独执行该功能。

在执行 cloudformation 堆栈(cdk 堆栈)之后触发的执行将是最佳的?!我想通过代码管道避免 CI / CD 堆栈。

有没有人在提供时设置数据库的最佳实践?

4

2 回答 2

3

云看守则

基于 cloudformation 事件的云监视规则可用于路由事件以处理 lambda。云监视规则可以是 CDK 部署描述的一部分。

然后触发的函数可以执行 liquibase、flyway、sequelize 或其他东西来启动或更改数据库。

- - 或者 - -

Cloudformation 自定义资源

AWS cloudformation 自定义资源可以在 cloudformation 生命周期中执行 lambda 函数。

然后触发的函数可以执行 liquibase、flyway、sequelize 或其他东西来启动或更改数据库。

于 2019-04-25T16:10:38.423 回答
1

我使用 Cloudformation 自定义资源在部署时运行数据库迁移和初始数据库设置脚本。

如果您不想依赖 CI/CD 管道为您执行此操作,那么这是为无服务器应用程序运行数据库迁移的推荐方法。

这是Alex DeBrie关于 CF 自定义资源的一篇写得很好的博客文章: https ://www.alexdebrie.com/posts/cloudformation-custom-resources/

于 2020-02-28T18:04:44.740 回答