教程:如何使用专用终结点从数据工厂托管 VNET 访问 SQL 托管实例
重要
SQL 托管实例现在具有对专用终结点的本机支持。 建议不实现本文档中的解决方案,而是直接为 SQL 托管实例资源创建专用终结点,如托管专用终结点中所述。
本教程提供使用 Azure 门户设置专用链接服务,并使用专用终结点从托管 VNET 访问 SQL 托管实例的步骤。
注意
使用此解决方案连接到 Azure SQL 数据库托管实例时,不支持“重定向”连接策略,需要切换到“代理”模式。
先决条件
- Azure 订阅。 如果没有 Azure 订阅,可在开始前创建一个试用帐户。
- 虚拟网络。 如果你没有虚拟网络,请按照创建虚拟网络中所述创建一个。
- 虚拟网络到本地网络。 使用 ExpressRoute 或 VPN 在虚拟网络与本地网络之间创建连接。
- 启用了托管 VNET 的数据工厂。 如果你没有数据工厂或者未启用托管 VNET,请按照创建具有托管 VNET 的数据工厂中所述创建一个。
创建资源的子网
使用门户在虚拟网络中创建子网。
子网 | 说明 |
---|---|
be-subnet | 后端服务器的子网 |
fe-subnet | 标准内部负载均衡器的子网 |
pls-subnet | 专用链接服务的子网 |
创建标准负载均衡器
使用门户创建标准内部负载均衡器。
在门户顶部的搜索栏中,在搜索窗格的“服务”部分中搜索并选择“负载均衡器” 。
在“负载均衡”服务页上,选择“创建”以创建新的负载均衡器 。
在“创建负载均衡器”页的“基本信息”选项卡中,输入或选择以下详细信息:
设置 值 订阅 选择订阅。 资源组 选择资源组。 名称 输入 myLoadBalancer。 区域 选择“中国北部 3”。 SKU 选择“标准”。 类型 选择“内部”。 在“创建负载均衡器”页的“前端 IP 配置”选项卡上,选择“添加前端 IP 配置”,然后在“添加前端 IP 地址”配置窗格中输入或选择以下详细信息 :
设置 值 前端 IP 名称 输入前端 IP 的名称 虚拟网络 选择你的虚拟网络。 子网 选择在上一步骤中创建的“fe-subnet”。 IP 地址分配 选择“动态”。 可用性区域 选择“区域冗余”。 接受剩余设置的默认值,然后选择“查看 + 创建”。
在“查看 + 创建”选项卡中,选择“创建”。
创建负载均衡器资源
创建后端池
后端地址池包含连接到负载均衡器的虚拟 (NIC) 的 IP 地址。
创建后端地址池 myBackendPool 以包含用于对 Internet 流量进行负载均衡的虚拟机。
- 在左侧菜单中选择“所有服务”,选择“所有资源”,然后在资源列表中选择“myLoadBalancer”。
- 在“设置”下,依次选择“后端池”、“添加”。
- 在“添加后端池”页上,键入 myBackendPool 作为后端池的名称,然后选择“添加”。
创建运行状况探测器
负载均衡器使用运行状况探测器监视应用的状态。
运行状况探测器基于 VM 对运行状况检查的响应,在负载均衡器中添加或删除 VM。
创建名为 myHealthProbe 的运行状况探测来监视 VM 的运行状况。
在左侧菜单中选择“所有服务”,选择“所有资源”,然后在资源列表中选择“myLoadBalancer”。
在“设置”下,依次选择“运行状况探测”、“添加”。
设置 值 名称 输入 myHealthProbe。 协议 选择“TCP”。 端口 输入 22。 时间间隔 输入 15 作为两次探测尝试之间的时间间隔(以秒为单位)。 不正常阈值 选择“2”,作为将 VM 视为不正常所要达到的不正常阈值或连续探测失败次数。 将其余字段保留默认值,然后选择“确定”。
创建负载均衡器规则
负载均衡器规则用于定义将流量分配给 VM 的方式。 定义传入流量的前端 IP 配置和后端 IP 池以接收流量。 源端口和目标端口在规则中定义。
在本部分中,你将创建创建负载均衡器规则:
在左侧菜单中选择“所有服务”,选择“所有资源”,然后在资源列表中选择“myLoadBalancer”。
在“设置”下,依次选择“负载均衡规则”、“添加” 。
使用以下值配置负载均衡规则:
设置 值 名称 输入 myRule。 IP 版本 选择“IPv4”。 前端 IP 地址 选择“LoadBalancerFrontEnd”。 协议 选择“TCP”。 端口 输入 1433。 后端端口 输入 1433。 后端池 选择“myBackendPool”。 运行状况探测 选择“myHealthProbe”。 空闲超时(分钟) 将滑块移动到 15 分钟。 TCP 重置 选择“已禁用”。 将剩余的字段保留默认设置,然后选择“确定”。
创建专用链接服务
在本部分,在标准负载均衡器后创建专用链接服务。
在 Azure 门户页面的左上部分,选择“创建资源”。
在“在市场中搜索”框中搜索“专用链接” 。
选择“创建”。
在“专用链接中心”下的“概述”中,选择蓝色的“创建专用链接服务”按钮 。
在“创建专用链接服务”的“基本信息”选项卡中,输入或选择以下信息 :
设置 值 项目详细信息 订阅 选择订阅。 资源组 选择你的资源组。 实例详细信息 名称 输入 myPrivateLinkService。 区域 选择“中国北部 3”。 选择“出站设置”选项卡或选择页面底部的“下一步: 出站设置”。
在“出站设置”选项卡中,输入或选择以下信息:
设置 Value 负载均衡器 选择“myLoadBalancer”。 负载均衡器前端 IP 地址 选择“LoadBalancerFrontEnd”。 源 NAT 子网 选择“pls-subnet”。 启用 TCP 代理 V2 保留默认值“否”。 专用 IP 地址设置 保留默认设置。 选择“访问安全”选项卡或选择页面底部的“下一步: 访问安全”。
在“访问安全”选项卡中保留默认值“仅限基于角色的访问控制” 。
选择“标记”选项卡或选择页面底部的“下一步: 标记”。
选择“查看 + 创建”选项卡或选择页面底部的“下一步: 查看 + 创建”。
在“查看 + 创建”选项卡中,选择“创建” 。
创建后端服务器
在门户的左上方,选择“创建资源”>“计算”>“虚拟机”。
在“创建虚拟机”中,在“基本信息”选项卡中键入或选择值:
设置 值 项目详细信息 订阅 选择 Azure 订阅。 资源组 选择你的资源组。 实例详细信息 虚拟机名称 输入“myVM1”。 区域 选择“中国北部 3”。 可用性选项 选择“可用性区域”。 可用性区域 选择“1”。 映像 选择“Ubuntu Server 18.04LTS - Gen1”。 Azure Spot 实例 请选择“否”。 大小 选择 VM 大小或采用默认设置。 管理员帐户 用户名 输入用户名。 SSH 公钥源 生成新的密钥对。 密钥对名称 mySSHKey。 入站端口规则 公共入站端口 无。 选择“网络”选项卡,或选择“下一步: 磁盘”,然后选择“下一步: 网络”。
在“网络”选项卡中,选择或输入:
设置 值 网络接口 虚拟网络 选择你的虚拟网络。 子网 be-subnet。 公共 IP 选择无。 NIC 网络安全组 选择“无”。 负载均衡 是否将此虚拟机置于现有负载均衡解决方案之后? 请选择“是”。 负载均衡设置 负载均衡选项 选择“Azure 负载均衡”。 选择负载均衡器 选择“myLoadBalancer”。 选择后端池 选择“myBackendPool”。 选择“查看 + 创建”。
检查设置,然后选择“创建”。
可重复步骤 1 至 6,创建多个后端服务器 VM 来实现高可用性。
创建到终结点的转发规则
登录并将脚本 ip_fwd.sh 复制到后端服务器 VM。
注意
此脚本将仅暂时设置 IP 转发。 若要使此设置永久化,请确保在文件 /etc/sysctl.conf 中取消注释“net.ipv4.ip_forward=1”行
使用以下选项运行该脚本:
sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
是 SQL 托管实例的主机。 运行以下命令并检查后端服务器 VM 中的 iptables。 在 iptables 中,可以看到一条包含目标 IP 的记录。
sudo iptables -t nat -v -L PREROUTING -n --line-number注意
注意:如果有多个 SQL MI 或其他数据源,则需要使用不同的端口定义多个负载均衡器规则和 IP 表记录。 否则会发生某种冲突。 例如,
负载均衡器规则中的端口 负载均衡器规则中的后端端口 在后端服务器 VM 中运行的命令 SQL MI 1 1433 1433 sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433 SQL MI 2 1434 1434 sudo ./ip_fwd.sh -i eth0 -f 1434 -a <FQDN/IP> -b 1433 注意
每次重启负载均衡器后的 VM 时,都要再次运行该脚本。
创建用于连接专用链接服务的专用终结点
在左侧菜单中选择“所有服务”,选择“所有资源”,然后在资源列表中选择你的数据工厂。
选择“创作和监视”,在单独的选项卡中启动数据工厂 UI。
转到“管理”选项卡,然后转到“托管专用终结点”部分 。
在“托管专用终结点”下选择“+新建” 。
在列表中选择“专用链接服务”磁贴,然后选择“继续” 。
输入专用终结点的名称,然后在专用链接服务列表中选择“myPrivateLinkService”。
添加目标 SQL 托管实例的 FQDN。
创建专用终结点。
创建链接服务并测试连接
转到“管理”选项卡,然后转到“托管专用终结点”部分 。
选择“链接服务”下的“+ 新建” 。
在列表中选择“Azure SQL 数据库托管实例”磁贴,然后选择“继续” 。
启用“交互式创作”。
输入 SQL 托管实例的主机,以及用户名和密码 。
注意
请手动输入 SQL 托管实例主机。 否则,选择列表中不会显示完全限定的域名。
然后单击“测试连接”。
相关内容
请继续学习以下教程,了解如何使用专用终结点从数据工厂托管 VNET 访问本地 SQL Server: