设置分布式事务白名单

RDS SQL Server支持通过设置分布式事务白名单确保事务一致性和隔离性。您需首先在RDS实例中配置分布式事务白名单,精准授权特定ECS实例访问并参与RDS SQL Server的事务处理;其次对应调整ECS实例的安全组规则,确保ECS实例的网络配置与RDS端的白名单策略相匹配,从而构建一个安全稳定的分布式事务环境,便于后续排查解决事务一致性问题等。

前提条件

RDS SQL Server实例需满足如下条件:

  • 数据库版本:2022 企业集群版、2019 企业集群版、2017 企业集群版、2016 企业版、2014 企业版、2012 企业版、2022 标准版、2019 标准版、2017 标准版、2016 标准版、2014 标准版、2012 标准版、2008 R2 云盘版

  • 规格族:通用型、独享型(不支持共享型)

  • 计费方式:包年包月或按量付费(不支持Serverless实例)

说明

您可以前往实例基本信息页面查看以上信息。

RDS设置

步骤一:设置白名单分组

在RDS实例中设置白名单分组,以允许特定ECS实例通过其IP地址访问RDS实例。

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏单击白名单与安全组,然后在default白名单分组右侧单击修改,填写ECS实例的IP地址。

    说明
    • 如果ECS与RDS在相同VPC内,请填写ECS的私有IP。

    • 如果ECS与RDS在不同VPC内,请填写ECS的公网IP,且需要为RDS实例申请外网地址

    • 您可以在ECS实例的实例详情页面查看私有IP或公网IP地址。更多详情,请参见查看ECS实例IP地址

    ECS实例的IP获取页面如下:

    Ip地址

  3. 单击确定

步骤二:设置分布式事务白名单

在RDS实例中设置分布式事务白名单,明确哪些ECS实例可以通过计算机名参与分布式事务。

  1. 在RDS实例详情页的左侧导航栏单击数据安全性,然后单击分布式事务白名单页签。

  2. 单击添加白名单分组,设置如下参数后,单击确定

    参数

    说明

    分组名称:

    长度为2~32个字符。由数字、小写字母以及下划线(_)组成。由小写字母开头,结尾必须是字母或数字。

    组内白名单

    填写ECS实例IP地址,ECS实例上Windows系统的计算机名(Hostname),以英文逗号(,)分隔。例如:192.168.1.100,k3ecstest。 如果有多个ECS实例添加,请分行填写。

    Hostname查看方法:在ECS实例上Windows系统的控制面板 > 系统和安全 > 系统页面查看。

ECS设置

调整ECS实例的安全组规则,开放必要端口,以确保ECS实例侧的网络配置与RDS侧的白名单设置相匹配,共同实现安全的分布式事务环境。

  1. 登录ECS管理控制台

  2. 在左侧选择实例与镜像 > 实例

  3. 在页面左上角,选择实例所在地域。

  4. 找到目标实例,单击实例ID。

  5. 在顶部导航栏中,选择安全组

  6. 单击目标安全组操作列下的配置规则

  7. 选择入方向页签,单击手动添加

  8. 设置如下参数,单击保存

    参数

    说明

    授权策略

    选择允许

    优先级

    保持默认值:1。

    协议类型

    选择自定义 TCP

    端口范围

    填写135

    说明

    135是RPC服务的固定端口。

    授权对象

    访问RDS实例的数据安全性 > 分布式事务白名单页面,将RDS实例信息的2个IP地址(即RDS SQL Server实例底层所在ECS实例的IP)填写到授权对象框。分布式事务白名单

    说明

    您也可以通过DescribeDBInstanceIpHostname接口查询IP地址。

    描述

    长度为2~256个字符,不能以http://https://开头。

  9. 再次配置安全组规则,端口范围填写1024/65535,其他参数与步骤8配置项相同。

相关文档