天天看點

Azure Firewall 配合Endpoint玩轉Azure SQL

    這次來看下Firewall的另外一個應用場景,在Azure中,如果我們想在VNET中通路Azure的PaaS服務,流量不會走到internet中,而是通過微軟的backbone通路,但是這樣其實并不是最優的路徑,流量實際上會先像通路internet一樣走到網關,然後再通過網關走到paas服務,在PaaS服務中你會看到通路的源IP是VM的public ip,如果想讓vm直接通路paas服務,則可以通過Azure vnet endpoint。

    來看下endpoint的介紹

    虛拟網絡 (VNet) 服務終結點可通過直接連接配接将 VNet 的虛拟網絡專用位址空間和辨別擴充到 Azure 服務。 使用終結點可以保護關鍵的 Azure 服務資源,隻允許在客戶自己的虛拟網絡中對其進行通路。 從 VNet 發往 Azure 服務的流量始終保留在 Azure 主幹網絡中。

服務終結點提供以下優勢:

提高 Azure 服務資源的安全性:VNet 專用位址空間可能重疊,是以不能用于唯一辨別源自 VNet 的流量。 通過将 VNet 辨別擴充到服務,服務終結點可以将對 Azure 服務資源的通路限定到你的虛拟網絡。 在虛拟網絡中啟用服務終結點後,可以通過将虛拟網絡規則添加到資源,在虛拟網絡中保護 Azure 服務資源。 這完全消除了通過公共 Internet 對資源進行通路的可能性,并僅允許來自自己虛拟網絡的流量,進而提高了安全性。

來自虛拟網絡的 Azure 服務流量的最佳路由:目前,虛拟網絡中強制 Internet 流量發往本地和/或虛拟裝置的任何路由(稱為強制隧道)也會強制 Azure 服務流量采用與 Internet 流量相同的路由。 服務終結點為 Azure 流量提供最佳路由。

終結點始終将直接來自虛拟網絡的服務流量轉發到 Azure 主幹網絡上的服務。 将流量保留在 Azure 主幹網絡上可以通過強制隧道持續稽核和監視來自虛拟網絡的出站 Internet 流量,而不會影響服務流量。

設定簡單,管理開銷更少:不再需要使用虛拟網絡中的保留公共 IP 位址通過 IP 防火牆保護 Azure 資源。 無需使用 NAT 或網關裝置即可設定服務終結點。 隻需單擊一下子網,即可配置服務終結點。 不會産生與終結點維護相關的額外開銷。

    聽起來很不錯,但是endpoint實際上是個regional的服務,比如你得vnet在北一,paas服務在東一,這種場景下就算開啟了endpoint也不會有效果

這時候其實可以結合Azure firewall解決,前提是azure firewall部署在東一

    首先來看下沒有endpoint适合的通路場景,因為預設路由指向FW,如果沒有FW的網絡規則允許通路Azure SQL,通路會被拒絕,即使加了Azure SQL白名單也沒用

    接下來,首先在FW上添加規則允許出站通路azure sql,這裡可以看到,和nsg類似,firewall裡也可以以service tag來添加規則,很友善

    這次可以看到,提示我們沒有添加到白名單,但是起碼網絡肯定是通了

    這裡把FW的IP添加進去,正常連接配接了

可以看到源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

繼續閱讀