此次来看下Firewall的另一个应用场景,在Azure中,若是咱们想在VNET中访问Azure的PaaS服务,流量不会走到internet中,而是经过微软的backbone访问,可是这样其实并非最优的路径,流量实际上会先像访问internet同样走到网关,而后再经过网关走到paas服务,在PaaS服务中你会看到访问的源IP是VM的public ip,若是想让vm直接访问paas服务,则能够经过Azure vnet endpoint。sql
来看下endpoint的介绍
安全
虚拟网络 (VNet) 服务终结点可经过直接链接将 VNet 的虚拟网络专用地址空间和标识扩展到 Azure 服务。 使用终结点能够保护关键的 Azure 服务资源,只容许在客户本身的虚拟网络中对其进行访问。 从 VNet 发往 Azure 服务的流量始终保留在 Azure 主干网络中。网络
服务终结点提供如下优点:ide
提升 Azure 服务资源的安全性:VNet 专用地址空间可能重叠,所以不能用于惟一标识源自 VNet 的流量。 经过将 VNet 标识扩展到服务,服务终结点能够将对 Azure 服务资源的访问限定到你的虚拟网络。 在虚拟网络中启用服务终结点后,能够经过将虚拟网络规则添加到资源,在虚拟网络中保护 Azure 服务资源。 这彻底消除了经过公共 Internet 对资源进行访问的可能性,并仅容许来自本身虚拟网络的流量,从而提升了安全性。spa
来自虚拟网络的 Azure 服务流量的最佳路由:当前,虚拟网络中强制 Internet 流量发往本地和/或虚拟设备的任何路由(称为强制隧道)也会强制 Azure 服务流量采用与 Internet 流量相同的路由。 服务终结点为 Azure 流量提供最佳路由。3d
终结点始终将直接来自虚拟网络的服务流量转发到 Azure 主干网络上的服务。 将流量保留在 Azure 主干网络上能够经过强制隧道持续审核和监视来自虚拟网络的出站 Internet 流量,而不会影响服务流量。orm
设置简单,管理开销更少:再也不须要使用虚拟网络中的保留公共 IP 地址经过 IP 防火墙保护 Azure 资源。 无需使用 NAT 或网关设备便可设置服务终结点。 只需单击一会儿网,便可配置服务终结点。 不会产生与终结点维护相关的额外开销。blog
听起来很不错,可是endpoint其实是个regional的服务,好比你得vnet在北一,paas服务在东一,这种场景下就算开启了endpoint也不会有效果ip
这时候其实能够结合Azure firewall解决,前提是azure firewall部署在东一backbone
首先来看下没有endpoint适合的访问场景,由于默认路由指向FW,若是没有FW的网络规则容许访问Azure SQL,访问会被拒绝,即便加了Azure SQL白名单也没用
接下来,首先在FW上添加规则容许出站访问azure sql,这里能够看到,和nsg相似,firewall里也能够以service tag来添加规则,很方便
此次能够看到,提示咱们没有添加到白名单,可是起码网络确定是通了
这里把FW的IP添加进去,正常链接了
能够看到源IP就是FW的IP
接下来在firewall的subnet添加sql的endpoint
以后,在azure sql添加容许firewall所在的subnet访问
此次再试一下,已经能够看到访问的IP是firewall的内网IP了!