通过弹性伸缩提供的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 TX引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。弹性伸缩与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中的请求参数ForceAttachfalse,将RDS实例添加到伸缩组时,系统不会尝试将伸缩组中已有的ECS实例私网IP加入到RDS实例的IP白名单中。
  • 如果API AttachDBInstances中的请求参数ForceAttachtrue,将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中的请求参数ForceDetachfalse,将RDS实例从伸缩组移除的同时,系统不会把伸缩组内ECS实例的私网IP从RDS实例的IP白名单中移除。
  • 如果API DetachDBInstances中的请求参数ForceDetachtrue,将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实例白名单中移除。