RDS SQL Server支持通过设置分布式事务白名单确保事务一致性和隔离性。您需首先在RDS实例中配置分布式事务白名单,精准授权特定ECS实例访问并参与RDS SQL Server的事务处理;其次对应调整ECS实例的安全组规则,确保ECS实例的网络配置与RDS端的白名单策略相匹配,从而构建一个安全稳定的分布式事务环境,便于后续排查解决事务一致性问题等。
前提条件
RDS SQL Server实例需满足如下条件:
数据库版本:2022 企业集群版、2019 企业集群版、2017 企业集群版、2016 企业版、2012 企业版、2022 标准版、2019 标准版、2017 标准版、2016 标准版、2012 标准版、2008 R2 云盘版
规格族:通用型、独享型(不支持共享型)
计费方式:包年包月或按量付费(不支持Serverless实例)
您可以前往实例基本信息页面查看以上信息。
RDS设置
步骤一:设置白名单分组
在RDS实例中设置白名单分组,以允许特定ECS实例通过其IP地址访问RDS实例。
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
在左侧导航栏单击白名单与安全组,然后在
default
白名单分组右侧单击修改,填写ECS实例的IP地址。说明如果ECS与RDS在相同VPC内,请填写ECS的私有IP。
如果ECS与RDS在不同VPC内,请填写ECS的公网IP,且需要为RDS实例申请外网地址。
您可以在ECS实例的实例详情页面查看私有IP或公网IP地址。更多详情,请参见查看ECS实例IP地址。
ECS实例的IP获取页面如下:
单击确定。
步骤二:设置分布式事务白名单
在RDS实例中设置分布式事务白名单,明确哪些ECS实例可以通过计算机名参与分布式事务。
在RDS实例详情页的左侧导航栏单击数据安全性,然后单击分布式事务白名单页签。
单击添加白名单分组,设置如下参数后,单击确定。
参数
说明
分组名称:
长度为2~32个字符。由数字、小写字母以及下划线(_)组成。由小写字母开头,结尾必须是字母或数字。
组内白名单
填写
ECS实例IP地址,ECS实例上Windows系统的计算机名(Hostname)
,以英文逗号(,)分隔。例如:192.168.1.100,k3ecstest
。 如果有多个ECS实例添加,请分行填写。Hostname查看方法:在ECS实例上Windows系统的
页面查看。
ECS设置
调整ECS实例的安全组规则,开放必要端口,以确保ECS实例侧的网络配置与RDS侧的白名单设置相匹配,共同实现安全的分布式事务环境。
登录ECS管理控制台。
在左侧选择
。在页面左上角,选择实例所在地域。
找到目标实例,单击实例ID。
在顶部导航栏中,选择安全组。
单击目标安全组操作列下的配置规则。
选择入方向页签,单击手动添加。
设置如下参数,单击保存。
参数
说明
授权策略
选择允许。
优先级
保持默认值:1。
协议类型
选择自定义 TCP。
端口范围
填写135。
说明135是RPC服务的固定端口。
授权对象
访问RDS实例的
页面,将RDS实例信息的2个IP地址(即RDS SQL Server实例底层所在ECS实例的IP)填写到授权对象框。说明您也可以通过DescribeDBInstanceIpHostname接口查询IP地址。
描述
长度为2~256个字符,不能以
http://
或https://
开头。再次配置安全组规则,端口范围填写1024/65535,其他参数与步骤8配置项相同。
相关文档
分布式事务的相关最佳实践,请参见金蝶K/3 WISE 接入阿里云RDS SQL Server。
白名单的更多操作场景,请参见设置白名单。
安全组的概念、使用限制、最佳实践等详情,请参见安全组概述。