如何使用AWS CloudFormation或AWS CDK设置AWS Aurora mysql表?
在我的设置中,我有一个使用lambda的无服务器应用程序,可用于各种微服务。 datebase是一个无服务器的aurora mysql数据库。设置AWS基础设施,我将使用AWS CDK。我喜欢使用一些迁移工具(例如liquibase或sequelize)来设置数据库。
目前,我正在使用separat lambda函数。 lambda函数执行liquibase来设置数据库更改。但是在成功部署CDK后,我必须分别执行该功能。
在执行cloudformation堆栈(cdk堆栈)之后触发的执行是最佳选择吗?我想通过代码管道避免CI / CD堆栈。
有人在提供时设置数据库的最佳实践吗?
答案 0 :(得分:1)
我在部署时使用Cloudformation定制资源来运行数据库迁移和初始数据库设置脚本。
如果您不想依靠CI / CD管道为您完成此操作,则这是为无服务器应用程序运行数据库迁移的推荐方法。
这是Alex DeBrie撰写的关于CF自定义资源的写得不错的博客文章:https://www.alexdebrie.com/posts/cloudformation-custom-resources/
答案 1 :(得分:0)
云监视规则
基于cloudformation事件的云监视规则可用于路由事件以处理lambda。云监视规则可以成为CDK部署说明的一部分。
然后,触发的函数可以执行liquibase,flyway,sequelize或其他操作来加速或更改db。
----或----
Cloudformation自定义资源
AWS cloudformation定制资源可以在cloudformation生命周期内执行lambda函数。
然后,触发的函数可以执行liquibase,flyway,sequelize或其他操作来加速或更改db。