Azure Lei Zhang的博客

weibo: LeiZhang的微博/QQ: 185165016/QQ群:319036205/邮箱:leizhang1984@outlook.com/TeL:139-161-22926

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

  《Windows Azure Platform 系列文章目录

   

  Azure Virtual Network (14) Service Endpoint服务终结点

  Azure Virtual Network (15) Service Endpoint演示

  Azure Virtual Network (16) Private Link

  Azure Virtual Network (17) Private Link演示

 

  本文我们将通过搭建环境,来说明Azure Private Link的最终效果。

 

  配置的主要内容有:

  1.创建Azure Virtual Network,分配2个subnet,分别为vm-subnet和sql-subnet

  2.在vm-subnet创建Windows Server虚拟机

  3.创建Azure SQL Database,将SQL Database加入到sql-subnet里

  4.创建Private Link和Private DNS Zone

  5.通过SQL Server Management Studio,链接到SQL Database的Private IP

  

  1.首先我们创建1个新的Azure资源组,命名为privatelink-rg

  2.在这个资源组中,创建新的Virtual Network,密码为privatelink-vnet

  设置这个VNet的属性

VNet Address Space 192.168.0.0/16
subnets

创建2个subnet

第1个subnet,命名为vm-subnet, Address Range为192.168.0.0/24

第2个subnet,密码为sql-subnet,Address Range为192.168.1.0/24

  3.在资源组:privatelink-rg中,创建新的Windows Server VM,命名为PrivateLink-SQLVM,把该VM加入到vm-subnet中。具体步骤略。该VM的内网IP为192.168.0.4

  4.在资源组:privatelink-rg中,创建新的Azure SQL Server和SQL Database。

  其中Networking的配置如下:

  

  创建完毕后,该PaaS Server的DNS Server为:privatelinksqlsvr.database.chinacloudapi.cn

 

  5.然后我们在SQL PaaS上,启用Private Link

  

 

  6.在弹出的窗口中,设置Private Link的名称,Region选择为SQL PaaS所在的数据中心区域

  

 

  7.选择到需要链接的SQL PaaS服务

  

 

  8.在创建Private Link的时候,还会创建Private DNS Zone

  

 

  9.创建完毕后,我们可以查看到Private Link的Private IP地址。如下图:

  

 

  10.我们点击到SQL 的Private Link,也可以查看到创建成功的信息:

  

  

 

  创建完毕后,Azure服务信息如下:

  虚拟机 SQL PaaS服务
公网IP或者公网DNS 网络IP:略 公网DNS:privatelinksqlsvr.database.chinacloudapi.cn
所在虚拟网络 privatelink-vnet privatelink-vnet
所在子网subnet vm-subnet sql-subnet
内网IP 192.168.0.4 192.168.1.4

  

  11.因为我们在步骤4中,设置改SQL PaaS使用默认设置访问,且没有开公网IP白名单。所以SQL PaaS的公网访问都是关闭的。

  

  所以通过我本地笔记本电脑的SSMS,是无法访问到该SQL PaaS的DNS:privatelinksqlsvr.database.chinacloudapi.cn。步骤略。

 

  12.我们只能通过远程桌面连接,登录到subnet为vm-subnet的Azure VM,输入下面的命令:

C:\Users\azureadmin>nslookup privatelinksqlsvr.database.chinacloudapi.cn
Server:  UnKnown
Address:  168.63.129.16

Non-authoritative answer:
Name:    privatelinksqlsvr.privatelink.database.chinacloudapi.cn
Address:  192.168.1.4
Aliases:  privatelinksqlsvr.database.chinacloudapi.cn

 

   我们也可以通过Psping命令进行测试:

C:\>psping privatelinksqlsvr.database.chinacloudapi.cn:1433

PsPing v2.01 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2014 Mark Russinovich
Sysinternals - www.sysinternals.com

TCP connect to 192.168.1.4:1433:
5 iterations (warmup 1) connecting test:
Connecting to 192.168.1.4:1433 (warmup): 1.20ms
Connecting to 192.168.1.4:1433: 0.86ms
Connecting to 192.168.1.4:1433: 0.97ms
Connecting to 192.168.1.4:1433: 0.83ms
Connecting to 192.168.1.4:1433: 1.01ms

TCP connect statistics for 192.168.1.4:1433:
  Sent = 4, Received = 4, Lost = 0 (0% loss),
  Minimum = 0.83ms, Maximum = 1.01ms, Average = 0.92ms

 

  13.最后,我们在Azure VM安装SQL Server Management Studio,链接到SQL PaaS的DNS地址:privatelinksqlsvr.database.chinacloudapi.cn

  注意是SQL PaaS DNS地址,不是内网IP

  注意是SQL PaaS DNS地址,不是内网IP

  注意是SQL PaaS DNS地址,不是内网IP  

 

  我们可以执行下面的命令:

select client_net_address from sys.dm_exec_connections 
where session_id=@@SPID

  可以查看到192.168.0.4,就是Azure VM 虚拟机的内网IP地址

  

 

 

  最后总结一下Service Endpoint和Private Link的区别:

  Service Endpoint Private Link
PaaS服务是否加入到Virtual Network

PaaS服务是否有内网IP地址

流量是否经过Virtual Network

流量是否经过Azure Backbone主干网

当VM访问到PaaS服务时,基于subnet的UDR(用户自定义路由),可以把流量路由到IDC或者防火墙设备

不支持 支持

支持的服务数量

很多 一般

支持更细粒度的PaaS资源访问,如仅访问DNS为A的测试Storage Account,不能访问DNS为B的生产Storage Account

不支持 支持

需要创建Private DNS Zone

不需要 需要

支持通过VPN或ExpressRoute,从本地IDC网络上的资源访问Azure云端的PaaS服务

不支持 支持

支持VNet Peering之间资源的互相访问

不支持 支持

流量是否额外收费

  

  1.如果你只开启了service endpoint的话,流量以最佳方式路由到 Azure 资源,service endpoint的优先级比用户自定义路由(Route Table) 0.0.0.0/0要高,是按照最短路径来访问的。

  2.如果你只开启了private endpoint的话,vm的subnet指了用户自定义路由(Route Table) 0.0.0.0/0到防火墙,这种情况防火墙的带宽可能成为性能瓶颈。

 

 

  Update: 2022-05-07

  如果DNS Server是在本地IDC的,可以考虑使用DNS转发来解析微软云上的PaaS服务器地址。

  1.我们先创建Azure VNet,Azure VM和Storage Account资源。步骤略。

  2.创建Storage Account的Private Endpoint。如下图:

  

  3.在Windows Server域控制器里,设置条件转发。如下图:

  

  4.在Windows Server域控制器里,运行命令:

nslookup leiavdstorage001.blob.core.chinacloudapi.cn

  执行结果中,可以看到使用本地DNS解析出来的Storage Account地址为内网地址,

  使用公网114.114.114.114.解析出来的DNS地址为公网地址

 

posted on 2020-10-27 17:21  Lei Zhang的博客  阅读(790)  评论(0编辑  收藏  举报