AutoScaling 弹性伸缩附加与分离RDS实例

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 阿里云弹性伸缩服务(AutoScaling)推出新功能:AttachDBInstances和DetachDBInstances。现在,您可以自由的对伸缩组附加和移除Rds实例啦。

阿里云弹性伸缩服务(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 实例,大大增加了您使用上的灵活性与实用性。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
存储 SQL 关系型数据库
创建并配置RDS实例
在阿里云上创建RDS实例涉及登录控制台、进入RDS管理页面、创建实例、选择数据库引擎和版本、配置实例规格与存储、设定网络与安全组、设置实例信息、确认订单并支付,最后初始化数据库。操作步骤可能因界面更新或数据库引擎不同略有差异。
19 1
|
3月前
|
弹性计算 关系型数据库 MySQL
快速上手阿里云RDS MySQL实例创建,轻松管理数据库
快速上手阿里云RDS MySQL实例创建,轻松管理数据库 在数字化时代,数据已成为企业的核心资产。如何高效、安全地存储和管理这些数据,成为企业在云计算时代亟待解决的问题。阿里云的RDS(关系型数据库服务)应运而生,为用户提供稳定、可靠的云上数据库解决方案。本文将详细介绍如何通过阿里云RDS管理控制台快速创建RDS MySQL实例,让您轻松上手,快速部署数据库。
170 2
|
1天前
|
关系型数据库 MySQL 数据库
一台MySQL数据库启动多个实例
一台MySQL数据库启动多个实例
|
1月前
|
关系型数据库 MySQL 数据库
初始化RDS实例
初始化RDS实例
15 3
|
1月前
|
SQL 关系型数据库 MySQL
购买阿里云RDS实例
购买阿里云RDS实例
165 2
|
1月前
|
弹性计算 关系型数据库 MySQL
连接RDS实例
连接RDS实例
12 1
|
1月前
|
SQL 关系型数据库 MySQL
MySQL多实例部署:从概念到实操的全面指南
MySQL多实例部署:从概念到实操的全面指南
40 0
|
2月前
|
关系型数据库 MySQL Linux
docker构建mysql以及多实例
docker构建mysql以及多实例
26 0
|
3月前
|
关系型数据库 MySQL 数据库
实现RDS MySQL实例数据迁移的详细步骤
实现RDS MySQL实例数据迁移的详细步骤 随着科技的飞速发展,数据库的应用越来越广泛,而数据迁移作为数据库管理的重要环节,其重要性不言而喻。本文将详细介绍如何使用数据传输服务(Data Transmission Service,简称DTS),实现将三节点企业系列的RDS MySQL实例的数据迁移到集群系列的RDS MySQL。
129 4
|
4月前
|
监控 关系型数据库 数据库
rds实例如何备份
rds实例如何备份
134 1