阿里云弹性伸缩服务(AutoScaling)推出新功能:AttachDBInstances和DetachDBInstances。新功能使得您可以自由的对伸缩组附加和移除Rds实例。

本文将为您介绍如何将 Rds 实例附加到和分离出伸缩组。

RDS

RDS是阿里云提供的一种稳定可靠的在线数据库服务,支持MySQL、SQL Server、PostgreSQL 和 PPAS引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。RDS 与 弹性伸缩相结合时,通过将伸缩组内的实例自动加入到 RDS 实例的白名单,实现组内实例能够安全访问 RDS实例。

关于 RDS 实例更详细的介绍您可以参考 什么是RDS,访问控制。

将 RDS 实例附加到伸缩组

将 RDS 实例附加到伸缩组时,根据您指定的 forceAttch 参数值,附加过程有以下两种行为:

  1. forceAttach 为true,将 RDS 实例附加到伸缩组时,会把伸缩组中当前拥有的所有实例私网IP都加入到 RDS 实例的IP白名单中。
  2. forceAttach 为false,将 RDS 实例附加到伸缩组时,不会尝试将伸缩组中已有实例私网IP加入到 RDS 实例的IP白名单中。

对于上述 RDS 附加过程,如果您将一个已经存在伸缩组中的 RDS 实例再次附加到伸缩组,此时,组内 RDS 实例数量不会改变,仅会尝试把当前伸缩组内的实例私网IP全部加入其IP白名单中。

您需要注意,将 RDS 实例附加到伸缩组,RDS 实例需要满足一下限制:

  1. RDS 实例必须是用户拥有的未删除实例。
  2. RDS 实例必须为 UNLOCK
  3. RDS 实例运行状态必须为 RUNNING
  4. RDS default分组的IP白名单总数在完成添加后不能超过1000个。

将 RDS 实例分离出伸缩组

将 RDS 实例从伸缩组中分离时,根据您指定的forceDetach参数,将有以下两种行为:

  1. forceDetach 为true,将 RDS 实例从伸缩组移除的同时,将把 RDS 白名单中与伸缩组关联的实例IP移除。
  2. forceDetach 为false,将 RDS 实例从伸缩组移除的同时,不会把 RDS 白名单中与伸缩组关联的实例IP移除。

您可以根据您的实际需要确定 forceDetach 的设置,需要注意的是,您无法对同一个 RDS 实例重复执行移除操作。

最佳实践

SDK进行Attach/Detach RDS

AutoScaling 提供了 AttachDBInstances,DetachDBInstances 两个openapi,您可以通过使用 SDK 来进行 RDS 实例附加/移除伸缩组的操作。

此处,以 AutoScaling java SDK 为例,向您介绍了如何使用 openapi 完成 RDS 实例附加与移除伸缩组。

在使用sdk之前,首先需要下载相应的依赖,您可以在阿里云 SDK 中查找 java SDK ,下载所需依赖。如果您使用maven管理您的项目,您只需要在项目中添加如下依赖信息:

          <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>4.0.2</version></dependency><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-ess</artifactId><version>2.2.1</version></dependency>     

AttachDBInstances:

IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", "yourAk", "yourSecret")
IAcsClient client = new DefaultAcsClient(profile);
AttachDBInstancesRequest request = new AttachDBInstancesRequest();
request.setScalingGroupId(scalingGroupId); // 伸缩组id
request.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); // 伸缩组id
request.setDBInstances(Arrays.asList(dBInstanceId));//移除的Rds实例列表
request.setForceDetach(ForceDetach);
DetachDBInstancesResponse response = client.getAcsResponse(request);

通过 openapi 的方式进行 RDS 的附加和移除操作,目前支持一次最多操作5个RDS实例。

写在最后

AttachDBInstances 和 DetachDBInstances 操作,使得 RDS 实例与伸缩组不再强绑定在一起,您可以根据您的需要调整伸缩组内的 RDS 实例,大大增加了您使用上的灵活性与实用性。

AutoScaling 弹性伸缩附加与分离RDS实例相关推荐

  1. 弹性伸缩Auto Scaling产品全面升级,轻松应对业务负载变化,张弛有度,收放自如!...

    弹性伸缩是阿里云上非常受欢迎的一个云服务编排产品,它能够根据用户的策略定义和业务需求变化,动态调整弹性计算资源,在有效支撑业务负载变化的同时保持最合理经济的基础设施费用开支.弹性伸缩可以根据用户设置的 ...

  2. linux弹性网卡,将弹性网卡附加到 ECS 实例上之后如何配置弹性网卡

    本文在介绍将弹性网卡附加到 ECS 实例上之后如何配置弹性网卡的基础上,重点探讨了其具体步骤,本文内容很紧凑,希望大家耐心学习. 配置 ECS 实例的弹性网卡 如果您的实例使用以下几种镜像,您不需要手 ...

  3. 竞价实例 and 弹性伸缩的结合

    针对越来越多使用弹性伸缩ESS服务的用户,虽然有了快速便捷的生产大量ECS的能力,但是面对大量机器的生产,如何减少成本成为一个比较重要的关注点. 用户痛点 长久以来弹性伸缩ESS服务生产的机器付费策略 ...

  4. 高性能 高可用 可弹性伸缩_性能,可伸缩性和活力

    高性能 高可用 可弹性伸缩 本文是我们名为Java Concurrency Essentials的学院课程的一部分. 在本课程中,您将深入探讨并发的魔力. 将向您介绍并发和并发代码的基础知识,并学习诸 ...

  5. 阿里云云计算ACP学习(七)---弹性伸缩服务AS

    弹性伸缩服务AS 1.AS介绍 1.1 AS的概念 弹性伸缩(AutoScaling)是一种服务,可以自动调整弹性计算资源(ECS),以满足业务需求的变化. 应用场景:弹性扩张.弹性收缩.弹性自愈 1 ...

  6. K8S实战集训第一课 Ansible自动化部署k8s、弹性伸缩、Helm包管理、k8s网络模型介绍

    Ansible自动化部署K8S集群 一.Ansible自动化部署K8S集群 1.1 Ansible介绍 Ansible是一种IT自动化工具.它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部 ...

  7. AS弹性伸缩简单介绍

    AS 介绍 弹性伸缩(AutoScaling)是一种服务,可以自动调整弹性计算资源(ECS),以满足业务需求的变化. 弹性伸缩仅支持ECS实例或ECI实例数量的增加和减少,但不支持单个ECS实例或EC ...

  8. 基于希克斯需求价格弹性计算_Serverless弹性伸缩的现状调研(超详细)

    作者:闲鱼技术--影湛 引言 闲鱼的服务端技术架构正向着云原生/Serverless化发展,Serverless具有着运维自动化.按需加载.弹性伸缩.强隔离性.敏捷开发部署等技术特点,带来了降低人力成 ...

  9. Kubernetes大集群怎么管?基于监控的弹性伸缩方法

    导语: 我们通常使用Prometheus来对Kubernetes运行情况进行监控.并根据监控数据来扩容或者缩容.通常的扩/缩容都是根据内存或者CPU的使用,但是很多时候我们扩/缩容的依据通常是业务监控 ...

最新文章

  1. python安卓版下载安装-python手册中文版apk下载
  2. 台湾游戏企业抢滩大陆 研发成竞争核心
  3. 【转】Azure应用部署方式对比
  4. LeetCode 1261. 在受污染的二叉树中查找元素(树哈希)
  5. 基于Spring boot+Vue的在线考试系统
  6. Hive的使用之脚本文件
  7. /MD, /MDD, /ML, /MT,/MTD(使用运行时库) .
  8. 设计模式(三)单实例模式
  9. mybatis,mysql,datasource,dpcb连接池的关系
  10. 摘抄:java查询数据导出excel并返回给浏览器下载
  11. php数组出栈,php array_pop()数组函数将数组最后一个单元弹出(出栈)
  12. 编程坑太多,Map 集合怎么也有这么多坑?一不小心又踩了好几个!| 原力计划...
  13. Oracle数据库中dml提交,奇怪,ORACLE的触发器的DML操作,没有COMMIT,居然也能真正的提交掉???...
  14. Cocoapods的安装及使用
  15. Android应用程序层的作用,Android应用程序框架-004.bean层
  16. 查询名字重复但不是相同的人的记录
  17. 计算机维修与数据恢复论文,备份恢复论文,关于计算机数据备份数据恢复技术相关参考文献资料-免费论文范文...
  18. 调用登录接口返回“参数错误”
  19. 应用内添加原生广告,变现与用户体验可兼得
  20. 用Cython加密Python代码这么简单

热门文章

  1. KITTI IMU 原始100Hz数据 (里面数据有重复)
  2. MySQLFabric概述
  3. Linux下解决用户不能执行sudo的方法
  4. lnmp安装博客系统WordPress
  5. 实现在GET请求下调用WCF服务时传递对象(复合类型)参数
  6. 基于HT for Web 快速搭建3D机房设备面板
  7. Ubuntu 12.04中文输入法的安装
  8. 发布一个用于WinCE的矢量图控件
  9. 《计算机科学概论》—第2章2.2节位置记数法
  10. Android设计模式系列(2)--SDK源码之观察者模式