我应该如何为我的AWS无服务器应用程序迁移(更新数据库架构)我的数据库

Jie*_*eng 7 migration amazon-web-services node.js aws-lambda

我应该如何在AWS无服务器应用程序中运行数据库迁移?在传统的NodeJS应用程序中,我通常先npm start运行sequelize db:migrate.但是对于Lambda,我该怎么做?

我的数据库将位于私有子网中.想知道CodeBuild是否能够做到这一点?还考虑让Lambda函数运行迁移...不确定它是否推荐使用.

col*_*lde 11

有多种方法可以实现这一点。您实际上在使用 CodeBuild 时走在正确的轨道上,至少采用这种方法应该没有任何问题。

由于您的数据库位于私有子网中,您需要配置 CodeBuild 以访问您的 VPC。配置完成后,允许从 CodeBuild 安全组访问您的数据库就很简单了。

您可能希望将整个内容设置为CodePipeline。您甚至可以为不同的 CodeBuild 运行设置多个构建规范文件。这样你就可以拥有一个如下所示的 CodePipeline:

Source -> CodeBuild (test) -> Approval -> CodeBuild (migrations) -> Lambda
Run Code Online (Sandbox Code Playgroud)

理论上,您还可以创建一个执行迁移的 Lambda 函数,并根据需要触发它。如果迁移需要很长时间,您还可以使用 AWS Batch 来运行它们。但是使用 CodeBuild 作为部署管道的一部分很有意义。