部署期间的 AWS Aurora 迁移

AWS Aurora migration during deployment

我想朝着应用程序的无停机持续部署迈出一步。 我在连接到 aurora 数据库的 EC2 实例上有一个应用 运行ning。在部署期间,我需要 运行 数据库迁移脚本并在 EC2 上更新应用程序 运行ning。如何在不造成任何停机时间的情况下更新它们?我可能可以配置 Elastic Beanstalk/CodeDeploy 以这样一种方式更新 EC2 实例,在一段时间内我实际上将在 2 个单独的 EC2 实例上拥有我的应用程序 运行ning 的 2 个实例,但这仍然给了我只有一个数据库实例。如果我 运行 我的迁移脚本,这可能会暗杀我的应用程序实例之一,如果由于某种原因部署失败,我可能无法恢复对数据库所做的更改。

所以基本上问题是:在不造成任何停机的情况下应用 SQL 迁移脚本的正确方法是什么?

这取决于您的具体情况和数据库迁移类型。您可以遵循的一种方法,直接取自 AWS 文档: