通过弹性伸缩提供的AttachDBInstances和DetachDBInstances功能,您可以改变伸缩组与RDS实例的强行绑定关系,并且可以根据您的需要随时调整伸缩组内的RDS实例,增加您使用上的灵活性与实用性。本文为您介绍为伸缩组添加和移除RDS的方法。
背景信息
- ECI类型的伸缩组和ECS类型的伸缩组都可以关联RDS实例,本文以ECS类型的伸缩组为例,介绍为伸缩租添加和移除RDS实例的注意事项和操作步骤。
- 由于伸缩组内ECS实例或ECI实例可能会被自动释放,建议您将应用数据保存到云数据库中,例如RDS云数据库、MongoDB云数据库、PolarDB云数据库等。关于如何为伸缩组中的ECS实例关联云数据库的具体操作,请参见为伸缩组中的ECS实例关联云数据库。
- 在阅读本文前,请您先了解以下信息:
- RDS(Relational Database Service)是阿里云提供的一种稳定可靠、可弹性伸缩的在线数据库服务,支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。弹性伸缩与RDS绑定时,通过将伸缩组内的实例自动加入到RDS实例的白名单,实现伸缩组内实例能够安全访问RDS实例。关于RDS实例的更多信息,请参见云数据库RDS简介。
- 通过AttachDBInstances和DetachDBInstances功能,灵活地为伸缩组关联RDS数据库实例后,加入伸缩组的ECS实例的内网IP会自动加入RDS数据库实例的访问白名单,允许ECS实例和RDS数据库实例内网通信。
注意事项
通过AttachDBInstances和DetachDBInstances功能,可实现随时调整伸缩组内的RDS实例数量,因此,本部分仅针对调用API时的相关事项进行说明。
伸缩组关联RDS实例后,您需要注意以下事项:
- 如果RDS实例被删除(不存在),则伸缩组扩缩容时会显示扩缩容失败。
- 弹性伸缩会定期扫描伸缩组是否存在关联的RDS实例,如果检测RDS实例被删除(不存在),则系统会自动解除伸缩组与该RDS实例(不存在)的关联关系。重要 系统自动解除与RDS实例(不存在)的关联关系后,伸缩组再次扩缩容时,不会出现因该已解绑的RDS实例而导致扩缩容失败的情况。
将RDS实例添加到伸缩组时,需注意以下几点:
- 如果API AttachDBInstances中的请求参数ForceAttach为false,将RDS实例添加到伸缩组时,系统不会尝试将伸缩组中已有的ECS实例私网IP加入到RDS实例的IP白名单中。
- 如果API AttachDBInstances中的请求参数ForceAttach为true,将RDS实例添加到伸缩组时,系统会将伸缩组中已有的ECS实例私网IP都加入到RDS实例的IP白名单中。
- 调用弹性伸缩的AttachDBInstances接口最多支持一次添加5个RDS实例到伸缩组。
- 如果将伸缩组中已存在的RDS实例再次添加到伸缩组,则伸缩组内的RDS实例数量不会改变,但系统会尝试把当前伸缩组内的ECS实例私网IP全部加入到RDS实例的IP白名单中。
- 将RDS实例添加到伸缩组时,RDS实例需满足如下限制:
- RDS实例必须是您拥有的未删除实例。
- RDS实例运行状态必须为Running状态。
- RDS default分组的IP白名单总数在完成添加后不能超过1000个。
从伸缩组中移除RDS实例时,需注意以下几点:
- 如果API DetachDBInstances中的请求参数ForceDetach为false,将RDS实例从伸缩组移除的同时,系统不会把伸缩组内ECS实例的私网IP从RDS实例的IP白名单中移除。
- 如果API DetachDBInstances中的请求参数ForceDetach为true,将RDS实例从伸缩组移除的同时,系统将会把伸缩组内ECS实例的私网IP从RDS实例的IP白名单中移除。
- 调用弹性伸缩的DetachDBInstances接口最多支持一次从伸缩组移除5个RDS实例。
- 将RDS实例添加到伸缩组时,您无法对同一个RDS实例重复执行移除操作。
操作步骤
您可以通过API或者弹性伸缩控制台两种方式为伸缩组添加和移除RDS实例,采用API方式时,您无需提前考虑您的业务需求和所需RDS实例数量,将RDS实例与伸缩组的耦合程度降低,更加灵活地增强伸缩组的服务能力。
API
- 调用API AttachDBInstances可实现添加一个或多个RDS实例的功能,更多信息,请参见AttachDBInstances。
- 调用API DetachDBInstances可实现移除一个或多个RDS实例的功能,更多信息,请参见DetachDBInstances。
弹性伸缩控制台
在弹性伸缩控制台为伸缩组添加和移除RDS实例的具体操作,请参见配置伸缩组和修改伸缩组。针对本次添加或移除的RDS实例需注意以下两点:
- RDS实例添加到伸缩组时,系统会自动将伸缩组内已有的ECS实例加入到本次挂载的RDS实例白名单中。
- RDS实例从伸缩组移除时,系统会自动将伸缩组内已有的ECS实例从本次卸载的RDS实例白名单中移除。