文档

为伸缩组中的实例关联云数据库

由于伸缩组中的实例(ECS或ECI)随时可能会被自动释放,建议您将数据保存到云数据库中。本文介绍如何为伸缩组中的实例关联云数据库,将实例的IP地址加入到云数据库的白名单,使得实例可以访问云数据库。

关联方式说明

方式

适用的实例类型

支持关联的云数据库类型

(推荐)方式一:将实例和云数据库加入同一安全组

ECS、ECI

  • RDS

  • PolarDB

  • Redis

  • MongoDB

方式二:为伸缩组关联云数据库

ECS、ECI

  • RDS

  • Redis

  • MongoDB

方式三:基于生命周期挂钩和OOS模板,将新扩容的ECS实例加入云数据库的白名单

ECS

  • PolarDB

  • Redis

  • MongoDB

  • AnalyticDB

(推荐)方式一:将实例和云数据库加入同一安全组

为云数据库设置安全组时,会自动将安全组中实例的IP地址加入到云数据库的白名单中,该安全组内的实例(ECS或ECI)均可以直接访问云数据库。

设置伸缩组中实例所属的安全组

  • 伸缩组中实例所属安全组由伸缩配置决定。新建或修改伸缩配置时,可以设置安全组。更多信息,请参见创建伸缩配置(ECS实例)创建伸缩配置(ECI实例)

    说明

    如果实例配置来源为启动模板,请修改启动模板中配置的安全组。

  • 对于伸缩组中已有的实例,ECS实例支持修改所属安全组,您可以在实例详情页面的安全组页签下进行操作;ECI实例不支持修改所属安全组,需要重新创建ECI实例。

为云数据库设置安全组

请根据实例所属的安全组信息,为云数据库设置同一安全组。

云数据库类型

相关文档

RDS

设置安全组

PolarDB

设置安全组

Redis

通过安全组批量添加实例公网和私网IP

MongoDB

添加安全组

方式二:为伸缩组关联云数据库

为伸缩组关联云数据库后,会自动将伸缩组内实例的IP地址加入到云数据库的白名单中,伸缩组中的实例(ECS或ECI)可以直接访问云数据库。

操作场景

操作方式

支持的云数据库类型

说明

新建伸缩组

控制台

RDS

创建伸缩组时,可通过关联RDS数据库实例参数为伸缩组关联RDS数据库。具体操作,请参见配置伸缩组

API

  • RDS

  • Redis

  • MongoDB

调用CreateScalingGroup接口创建伸缩组时,可通过DBInstance.N.Type指定要关联的云数据库类型,并通过DBInstance.N.DBInstanceId参数为伸缩组关联云数据库。更多信息,请参见CreateScalingGroup

已有伸缩组

控制台

RDS

修改伸缩组时,可通过关联RDS数据库实例参数修改伸缩组关联的RDS数据库。具体操作,请参见配置伸缩组

如果伸缩组中存在实例,请按需选中挂载或卸载RDS实例时,伸缩组现有的实例添加或移出所选RDS实例的白名单

API

  • RDS

  • Redis

  • MongoDB

不支持通过ModifyScalingGroup接口修改伸缩组关联的云数据库,请调用ModifyScalingGroup接口为伸缩组添加关联的云数据库,或调用DetachDBInstances接口移出关联的云数据库。

相关注意事项如下:

  • 如果伸缩组中存在实例,可通过ForceAttach参数配置是否将已有实例添加或移出云数据库的白名单。

  • 如果关联的云数据库不存在,则伸缩组扩缩容时会显示扩缩容失败。弹性伸缩会定期扫描伸缩组关联的云数据库,如果云数据库不存在,会自动解除关联关系。

更多信息,请参见AttachDBInstancesDetachDBInstances

方式三:基于生命周期挂钩和OOS模板,将新扩容的ECS实例加入云数据库的白名单

利用生命周期挂钩挂起伸缩组内的ECS实例,然后自动执行预定义的OSS模板,可以将伸缩组中新扩容的ECS实例加入到云数据库的白名单中,使得ECS实例可以直接访问云数据库。具体操作,请参见以下文档: