在 Virtual WAN 中使用 Private Link
Azure Private Link 是一種可讓您透過公開私人端點,使用私人 IP 位址連線能力來連線 Azure 平台即服務供應項目的技術。 透過使用 Azure Virtual WAN,您可以在連線至任何虛擬中樞的其中一個虛擬網路中部署私人端點。 此私人連結可讓您連線至與相同虛擬 WAN 連線的任何虛擬網路或分支。
開始之前
本文步驟會假設您已部署了具有一或多個中樞的虛擬 WAN,以及至少兩個連線至虛擬 WAN 的虛擬網路。
若要建立新的虛擬 WAN 與新的中樞,請使用下列文章中的步驟:
建立私人連結端點
您可以為許多不同的服務建立私人連結端點。 在此範例中,我們會使用 Azure SQL Database。 如需有關如何建立 Azure SQL Database 私人端點的詳細資訊,請參閱快速入門:使用 Azure 入口網站建立私人端點。 下圖顯示 Azure SQL Database 的網路設定:
建立 Azure SQL Database 之後,您可以透過瀏覽私人端點來驗證私人端點 IP 位址:
按一下所建立的私人端點,您應該會看到其私人 IP 位址,以及其完整網域名稱 (FQDN)。 私人端點在 VNet 的範圍內具有 IP 位址,其已部署 (10.1.3.0/24):
驗證來自相同 VNet 的連線能力
在此範例中,我們會驗證 Linux 虛擬機器 (已安裝 MS SQL 工具) 是否能連線到 Azure SQL Database。 第一個步驟是驗證 DNS 解析是否正常運作,而且 Azure SQL Database 完整網域名稱解析為私人 IP 位址,並在已部署私人端點的相同 VNet 中 (10.1.3.0/24):
nslookup wantest.database.windows.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
wantest.database.windows.net canonical name = wantest.privatelink.database.windows.net.
Name: wantest.privatelink.database.windows.net
Address: 10.1.3.228
如您在上一個輸出中所見,FQDN wantest.database.windows.net
會對應至 wantest.privatelink.database.windows.net
,而沿著私人端點建立的私人 DNS 區域將會解析到私人 IP 位址 10.1.3.228
。 查看私人 DNS 區域,確認私人端點有對應至私人 IP 位址的 A 記錄:
驗證正確的 DNS 解析之後,我們可以嘗試連線到資料庫:
query="SELECT CONVERT(char(15), CONNECTIONPROPERTY('client_net_address'));"
sqlcmd -S wantest.database.windows.net -U $username -P $password -Q "$query"
10.1.3.75
如您所見,我們會使用特殊的 SQL 查詢,以提供 SQL 伺服器從用戶端看到的來源 IP 位址。 在此案例中,伺服器會透過其私人 IP (10.1.3.75
) 看到用戶端,這表示流量會直接從 VNet 進入私人端點。
設定變數 username
和 password
以符合 Azure SQL Database 中所定義的認證,以執行本指南中的範例。
從不同的 VNet 連線
既然 Azure 虛擬 WAN 中的一個 VNet 具有私人端點的連線能力,那麼所有其他連線至虛擬 WAN 的 VNet 和分支也可以對其進行存取。 您必須透過 Azure 虛擬 WAN 支援的任何模型提供連線能力,例如任意情節或共用服務 VNet 情節以命名兩個範例。
在 VNet 或分支之間具有連線到已部署私人端點的 VNet 連線能力之後,您就必須設定 DNS 解析:
- 如果從 VNet 連線到私人端點,您可以使用和 Azure SQL Database 一起建立的相同私人區域。
- 如果從分支 (站對站 VPN、點對站 VPN 或 ExpressRoute) 連線到私人端點,您就必須使用內部部署 DNS 解析。
在此範例中,我們會從不同的 VNet 進行連線。 首先將私人 DNS 區域附加至新的 VNet,讓其工作負載可以將 Azure SQL Database 的完整網域名稱解析至私人 IP 位址。 這是透過將私人 DNS 區域連結至新的 VNet 來完成:
現在,連結 VNet 中的任何虛擬機器都應該正確地將 Azure SQL Database 完整網域名稱解析至私人連結的私人 IP 位址:
nslookup wantest.database.windows.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
wantest.database.windows.net canonical name = wantest.privatelink.database.windows.net.
Name: wantest.privatelink.database.windows.net
Address: 10.1.3.228
若要重複檢查此 VNet (10.1.1.0/24) 已具有連線至設定私人端點 (10.1.3.0/24) 的原始 VNet 連線能力 ,您可以在 VNet 中的任何虛擬機器中驗證有效的路由表:
如您所見,有一個路由指向 Azure 虛擬 WAN 中虛擬網路閘道所插入的 VNet 10.1.3.0/24。 現在我們終於可以測試資料庫的連線能力:
query="SELECT CONVERT(char(15), CONNECTIONPROPERTY('client_net_address'));"
sqlcmd -S wantest.database.windows.net -U $username -P $password -Q "$query"
10.1.1.75
在此範例中,我們已了解如何在連結至虛擬 WAN 的其中一個 VNet 中建立私人端點,以提供虛擬 WAN 中其餘 VNet 和分支的連線能力。
下一步
如需虛擬 WAN 的詳細資訊,請參閱常見問題集。