阿里云弹性伸缩服务(autoscaling)推出新功能:attachdbinstances和detachdbinstances。新功能使得您可以自由的对伸缩组附加和移除rds实例。
本文将为您介绍如何将 rds 实例附加到和分离出伸缩组。
rdsrds是阿里云提供的一种稳定可靠的在线数据库服务,支持mysql、sql server、postgresql 和 ppas引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。rds 与 弹性伸缩相结合时,通过将伸缩组内的实例自动加入到 rds 实例的白名单,实现组内实例能够安全访问 rds实例。
关于 rds 实例更详细的介绍您可以参考 什么是rds,访问控制。
将 rds 实例附加到伸缩组将 rds 实例附加到伸缩组时,根据您指定的 forceattch 参数值,附加过程有以下两种行为:
forceattach 为true,将 rds 实例附加到伸缩组时,会把伸缩组中当前拥有的所有实例私网ip都加入到 rds 实例的ip白名单中。
forceattach 为false,将 rds 实例附加到伸缩组时,不会尝试将伸缩组中已有实例私网ip加入到 rds 实例的ip白名单中。
对于上述 rds 附加过程,如果您将一个已经存在伸缩组中的 rds 实例再次附加到伸缩组,此时,组内 rds 实例数量不会改变,仅会尝试把当前伸缩组内的实例私网ip全部加入其ip白名单中。
您需要注意,将 rds 实例附加到伸缩组,rds 实例需要满足一下限制:
rds 实例必须是用户拥有的未删除实例。
rds 实例必须为 unlock。
rds 实例运行状态必须为 running。
rds default分组的ip白名单总数在完成添加后不能超过1000个。
将 rds 实例分离出伸缩组将 rds 实例从伸缩组中分离时,根据您指定的forcedetach参数,将有以下两种行为:
forcedetach 为true,将 rds 实例从伸缩组移除的同时,将把 rds 白名单中与伸缩组关联的实例ip移除。
forcedetach 为false,将 rds 实例从伸缩组移除的同时,不会把 rds 白名单中与伸缩组关联的实例ip移除。
您可以根据您的实际需要确定 forcedetach 的设置,需要注意的是,您无法对同一个 rds 实例重复执行移除操作。
最佳实践sdk进行attach/detach rdsautoscaling 提供了 attachdbinstances,detachdbinstances 两个openapi,您可以通过使用 sdk 来进行 rds 实例附加/移除伸缩组的操作。
此处,以 autoscaling java sdk 为例,向您介绍了如何使用 openapi 完成 rds 实例附加与移除伸缩组。
在使用sdk之前,首先需要下载相应的依赖,您可以在阿里云 sdk 中查找 java sdk ,下载所需依赖。如果您使用maven管理您的项目,您只需要在项目中添加如下依赖信息:
com.aliyun aliyun-java-sdk-core 4.0.2 com.aliyun aliyun-java-sdk-ess 2.2.1 attachdbinstances:
iclientprofile profile = defaultprofile.getprofile(cn-hangzhou, yourak, yoursecret)iacsclient client = new defaultacsclient(profile);attachdbinstancesrequest request = new attachdbinstancesrequest();request.setscalinggroupid(scalinggroupid); // 伸缩组idrequest.setdbinstances(arrays.aslist(dbinstanceid));//附加的rds实例列表request.setforceattach(forceattach);attachdbinstancesresponse response = client.getacsresponse(request);detachdbinstances:
iclientprofile profile = defaultprofile.getprofile(cn-hangzhou, yourak, yoursecret)iacsclient client = new defaultacsclient(profile);detachdbinstancesrequest request = new detachdbinstancesrequest();request.setscalinggroupid(scalinggroupid); // 伸缩组idrequest.setdbinstances(arrays.aslist(dbinstanceid));//移除的rds实例列表request.setforcedetach(forcedetach);detachdbinstancesresponse response = client.getacsresponse(request);通过 openapi 的方式进行 rds 的附加和移除操作,目前支持一次最多操作5个rds实例。
写在最后attachdbinstances 和 detachdbinstances 操作,使得 rds 实例与伸缩组不再强绑定在一起,您可以根据您的需要调整伸缩组内的 rds 实例,大大增加了您使用上的灵活性与实用性。
原文链接
本文为云栖社区原创内容,未经允许不得转载
购买笔记本注意事项!(谨防奸商!)
2018年度中国10项重大科学进展专家解读
随着新能源汽车的使用量越多 出现的问题也变得越来越多
热缩套管实际应用的绝缘效果怎么样
讲解PADS Layout相关文件输出
AutoScaling 弹性伸缩附加与分离RDS实例
高新区党工委副书记卢铁城一行赴芯进电子参观调研
功率电感器分别有哪两种额定电流?
是德科技半导体设计和测试北京实验室正式开放
电子产品为什么要使用导热材料,其原因为何
微软已经发布了其浏览器的另一个功能更新
闭环控制系统名词解释_闭环控制系统与开环控制系统有什么不同
可穿戴式传感器可应用于各种远程场所和场景
电脑芯片的物质组成是怎样的
ios11正式版升级教程:升级后有卡顿现象,试试这几个办法解决你的卡顿
设计车载激光雷达 搞清这5点很重要!
使用NineData快速完成MySQL数据的差异对比!
联发科累计出售转投资公司唯捷创芯6.66%股权
大米重金属镉检测仪的特点:操作简便、准确定量
刻录机是怎么工作的?