《Windows Azure Platform 系列文章目录》
在笔者之前的文章中:Azure Virtual Network (14) Service Endpoint服务终结点
我们已经介绍了Azure Service Endpoint的有关概念,本文中我们将通过搭建环境,来显示Servcie Endpoint的最终效果。
我们需要实现的是,通过创建Azure Virtual Network后,把Windows Server VM加入到该VNet中,然后通过Service Endpoint访问PaaS SQL Database,来显示Client IP地址。
配置的主要内容有:
1.设置Virtual Network,配置Service Endpoint
2.设置SQL Database Firewall Rule
1.首先,我们创建1个新的资源组,命名为:serviceendpoint-rg
2.在这个资源组serviceendpoint-rg中,创建新的Virtual Network,命名为:serviceendpoint-vnet
设置这个VNet的属性:
VNet Address Space | 172.0.0.0/16 |
Subnets |
创建1个单独的subnet,命名为vm-subnet 该subnet的Address Range:172.0.0.0/24 |
3.然后创建新的Windows Server VM,命名为:serviceendpoint-sqlvm,把该VM加入到上面的vm-subnet中。步骤略。该VM的内网IP地址为:172.0.0.4
4.在这个资源组serviceendpoint-rg中,创建一个新的Azure SQL Server和SQL Database。
其中Networking的配置如下:
创建完毕后,该PaaS SQL Server的DNS Server为:serviceendpointsvr.database.chinacloudapi.cn
5.这些资源创建完毕后,我们首先需要在Virtual Network上配置NSG安全组,安全组的outbound rule,设置为对Microsoft.SQL访问。步骤略。
6.然后我们设置Virtual Network的Service Endpoint
我们允许vm-subnet所在的资源,可以访问到类型为Microsoft.SQL的资源。
即vm-subnet所在的Windows Server VM,可以访问到Microsoft SQL的资源
7.配置完毕后,我们稍等片刻,显示结果如下,表示已经配置成功了。
8.然后我们在Azure SQL Server里面,设置Firewalls and Virtual Networks信息。为仅允许vm-subnet里的资源访问Azure SQL
9.我们通过远程桌面,连接到vm-subnet里面的vm,安装SQL Server Management Studio
输入Server Name为:serviceendpointsvr.database.chinacloudapi.cn
10.SSMS登录完毕后,我们执行下面的语句:
select client_net_address from sys.dm_exec_connections where session_id=@@SPID
可以查看到客户端的IP地址,为该虚拟机的内网IP地址
10.请注意:Azure SQL Database 的Server Name还是必须通过DNS访问,无法通过Private IP访问