我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
从 Amazon Aurora 无服务器 v1 升级到 v2,停机时间最短
当
从那时起,Aurora服务有了长足的发展。2022 年,我们发布了 Aurora 无服务器 v2,这是 Aurora 无服务器发展的下一步。Aurora Serverless v2 使无服务器更接近于与预配置的 Aurora 相提并论的功能,并启用了客户要求的许多重要功能,包括 Aurora 副本、逻辑复制和全球数据库。但是,从 Aurora 无服务器 v1 到 Aurora 无服务器 v2 的迁移路径操作复杂,所需的停机时间不可忽视。
Aurora Serverless v1 有一个新的升级路径,它允许您从 Amazon Serverless v1 数据库转到预配置的 Aurora 集群,仅需 30 秒的故障转移,这与将 Aurora 只读副本提升为新编写器时发生的情况类似。然后,您可以使用新的
在考虑迁移 之前,请务必记下
在这篇文章中,我们将引导您完成将现有 Aurora 无服务器 v1 数据库集群迁移到 Aurora 无服务器 v2 的步骤。
解决方案概述
在这篇文章中,我们转换了
有关新功能的完整文档,请参阅
先决条件
本文中描述的过程需要最新版本的
将 Aurora 无服务器 v1 实例转换为预配置的 Aurora 实例
以下屏幕截图显示了我们在本文中使用的 Aurora-mysql-serverless v1 数据库集群,名为 aurora-mysql-serverless。
首先,我们为源数据库集群创建一个参数组。这是必需的,因为蓝/绿部署过程需要启用二进制日志。如果您已经有一个自定义参数组,则可以通过将
binlog_form
at 参数更改为 MIXED 来继续使用它
,
然后跳过此步骤。要创建新的参数组,请使用以下代码:
接下来,我们将 MySQL 5.7 参数组附加到现有数据库集群:
要将此无服务器数据库集群迁移到 Aurora 预置的数据库集群,请在终端窗口中运行 m
以下屏幕截图显示了 “ 数据库 ” 页面上的更新视图。
在这篇文章中,我们指定了数据库集群名称并选择了 db.r5.xlarge 实例类型。有关此操作的有效实例类型列表,请参阅
转换将花费几分钟,在此期间,在升级新的预配置实例期间,将有大约 30 秒的故障转移窗口。该过程完成后,您的集群将转换为预配置的 Aurora 数据库集群。
将数据库升级到 Aurora 无服务器 v2 支持的版本
在迁移到亚马逊无服务器 v2 之前,我们需要将数据库升级到亚马逊无服务器 v2 支持的版本。对于兼容亚马逊 Aurora MySQL 的版本,这意味着从 MySQL 5.7 升级到 MySQL 8.0。进行主要版本升级需要一些计划,并且应该进行适当的测试。
我们建议使用新的
记下此命令中的
BlueGreenDeploymentIdentifier
输出值,以便在后续步骤中使用。此外,在亚马逊 RDS 控制台上查找
GreenClusterID
和
GreenInstanceID
以获取等待命令。
创建蓝/绿部署和升级绿色数据库将花费一些时间,但在此过程进行期间,您的应用程序不会受到任何干扰。请注意,蓝/绿部署将经历两个阶段:创建 5.7 版集群,然后升级到 8.0 版。您需要等待两者都完成后再向前移动。
将绿色部署升级到新版本并可用后,您的集群将如下屏幕截图所示。
创建 Aurora 无服务器 v2 副本
现在,我们需要使用以下命令为集群设置无服务器参数以匹配我们的要求:
在此示例中,我们选择了至少 4 个 ACU 和最多 32 个 ACU,但您应该选择对您的工作负载有意义的值。
现在您已经设置了最小和最大 ACU,请向集群添加一个无服务器实例:
故障转移到 Aurora 无服务器 v2 实例
当新实例联机并准备就绪时,使用以下命令将其故障转移到该实例:
故障转移过程将持续几分钟,在此期间,绿色部署将在一段时间内不可用,但蓝色部署仍可为您的应用程序提供服务。故障转移完成后,群集配置如下屏幕截图所示。
数据库集群现在使用一个 Aurora 无服务器 v2 写入器和一个预配置的 Aurora 读取器运行。使用以下命令移除临时预置的实例:
接下来,我们使用绿色部署的端点对新数据库版本进行全面测试,以确保应用程序没有任何不兼容性。
当你确信你的应用程序对新版本感到满意时,请按如下方式执行蓝/绿故障转移:
我们用从前面的命令中获得的实际值替换了
BlueGreenDeploymentIdentif
ier。
在此示例中,我们已指定,如果系统无法在 120 秒内完成切换,则应回滚。有关此参数的更多信息,请参阅
完成后,集群看起来像下面的屏幕截图。
清理迁移期间创建的临时资源
最后,您可以删除源实例(以前是蓝色)、源集群和蓝/绿部署本身:
和以前一样,我们用创建
蓝/绿部署时获得的实际值替换了 BlueGreenDeploymentIdenti
fier。集群现在看起来像下面的屏幕截图。
我们已成功将 Aurora 无服务器 v1 数据库迁移到 Aurora 无服务器 v2,停机时间约为 30 秒。
结论
在这篇文章中,我们向您介绍了将现有 Aurora 无服务器 v1 数据库升级到 Aurora 无服务器 v2 的过程。这个新流程允许您轻松地从 v1 迁移到 v2,同时最大限度地减少应用程序停机时间和操作复杂性。我们鼓励您尽快开始计划将数据库从 v1 迁移到 v2。
作者简介
蒂姆·古斯塔夫森
是首席数据库专家解决方案架构师,主要负责开源数据库引擎。
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。