亚马逊AWS官方博客

守护数据安全:Aurora最短停机时间迁移到私有子网的终极攻略

随着企业增强其关键业务数据库和账户的安全性,将数据库此类关键资源隔离在私有子网中的需求日益凸显。在AWS上管理关键业务数据库时,安全和合规性要求也经常需要将Amazon Aurora实例从公有子网迁移到私有子网。降低迁移过程中的停机时间至关重要,因为企业要求对其服务的干扰降到最低。在本文中,我们将展示如何在保持停机时间绝对最小化的前提下,将Aurora集群中的实例从公有子网迁移到私有子网。

概览

Amazon Aurora 目前不提供在同一VPC内直接更改数据库实例子网组的选项,但您可以通过此文中的方法实现相同的效果。我们将通过“修改数据库子网组”和“故障转移”结合的方式,实现在最短停机时间内将Amazon Aurora实例从公有子网安全转移到私有子网。

方案主要优势:

  • 最大限度减少停机时间
  • 保留端点配置不变

实现方式

前置条件

1.您Aurora数据库实例所处的VPC中已有私有子网。例如下图中蓝色点呈现的子网为此VPC中的所有私有子网。

2.Aurora数据库实例目前在公有子网中。例如,目前在us-east-2b的公有子网subnet-02186a2ba75cb35b0中,并且使用的子网组为Demo-subnet-group

添加私有子网到数据库所用的子网组中

1.勾选数据库当前使用的子网组后,点击“编辑“。

2.添加私有子网到子网组中。

3.除数据库节点当前所在使用的公有子网外,删除其余公有子网。

创建在私有子网中的数据库只读节点

1.勾选Aurora数据库集群,点击“操作”后,选择“添加读取器”,创建数据库只读节点。

2.选择子网中只有私有子网的可用区。例如本试验环境中,目前主节点在us-east-2b的公有子网subnet-02186a2ba75cb35b0中,这里选择us-east-2a

3.添加读取器。

通过“故障转移”,将处于私有子网中的只读节点提升为主节点

等待只读节点创建完成,点击“操作”,选择“故障转移”。

确定进行故障转移后,大约花费秒级故障切换完成。切换完成后,可见实例已经转为“写入器实例”。

删除新的只读节点(原主节点)

在“操作”菜单中,选择“删除”,删除原数据库节点。

彻底删除数据库子网组中的公有子网

待原数据节点删除后,再次修改数据子网组。删除最后一个公有子网,仅留下私有子网组。

总结

巧妙结合”修改数据库子网组”与”故障转移”的方式,让您能以最短的服务中断时间将Aurora实例从公有子网安全转移到私有子网。整个过程中您的数据库端点配置保持不变,无需更新应用程序连接字符串,既最大限度减少了停机时间,又保留了原有端点配置,确保业务平稳过渡。