如何使用Azure防火墙和端点设置SQL Azure

Azure 防火墙的介绍

,,,, Azure防火墙是托管的基于云的网络安全服务,可保护Azure虚拟网络资源。它是一个服务形式的完全有状态防火墙,具有内置的高可用性和不受限制的云可伸缩性。可以跨订阅和虚拟网络集中创建,实施和记录应用程序与网络连接策略。Azure防火墙对虚拟网络资源使用静态公共IP地址,使外部防火墙能够识别来自你的虚拟网络的流量。该服务与用于日志记录和分析的Azure监测完全集成。

,,endpoint的介绍

    虚拟网络 (VNet) 服务终结点可通过直接连接将 VNet 的虚拟网络专用地址空间和标识扩展到 Azure 服务。 使用终结点可以保护关键的 Azure 服务资源,只允许在客户自己的虚拟网络中对其进行访问。 从 VNet 发往 Azure 服务的流量始终保留在 Azure 主干网络中。

服务终结点提供以下优势:

  • 提高 Azure 服务资源的安全性:VNet 专用地址空间可能重叠,因此不能用于唯一标识源自 VNet 的流量。   

  • 来自虚拟网络的 Azure 服务流量的最佳路由:当前,虚拟网络中强制 Internet 流量发往本地和/或虚拟设备的任何路由(称为强制隧道)也会强制 Azure 服务流量采用与 Internet 流量相同的路由。 

    终结点始终将直接来自虚拟网络的服务流量转发到 Azure 主干网络上的服务。 

  • :不再需要使用虚拟网络中的保留公共 IP 地址通过 IP 防火墙保护 Azure 资源。   

    听起来很不错,但是endpoint实际上是个regional的服务,比如你得vnet在北一,paas服务在东一,这种场景下就算开启了endpoint也不会有效果

这时候其实可以结合Azure firewall解决,前提是azure firewall部署在东一

    首先来看下没有endpoint适合的访问场景,因为默认路由指向FW,如果没有FW的网络规则允许访问Azure SQL,访问会被拒绝,即使加了Azure SQL白名单也没用

如何使用Azure Firewall和Endpoint设置Azure SQL

    接下来,首先在FW上添加规则允许出站访问azure sql,这里可以看到,和nsg类似,firewall里也可以以service tag来添加规则,很方便

如何使用Azure Firewall和Endpoint设置Azure SQL

    这次可以看到,提示我们没有添加到白名单,但是起码网络肯定是通了

    如何使用Azure Firewall和Endpoint设置Azure SQL

    这里把FW的IP添加进去,正常连接了

如何使用Azure Firewall和Endpoint设置Azure SQL

可以看到源IP就是FW的IP

    如何使用Azure Firewall和Endpoint设置Azure SQL

    接下来在firewall的subnet添加sql的endpoint

如何使用Azure Firewall和Endpoint设置Azure SQL

    之后,在azure sql添加允许firewall所在的subnet访问

如何使用Azure Firewall和Endpoint设置Azure SQL

这次再试一下,已经可以看到访问的IP是firewall的内网IP了!

    如何使用Azure Firewall和Endpoint设置Azure SQL

如何使用Azure防火墙和端点设置SQL Azure