設定需要閘道的虛擬網路整合

需要閘道的虛擬網路整合支援連線至另一個區域中的虛擬網路,或連線至傳統虛擬網路。 需要閘道的虛擬網路整合僅適用於 Windows 方案。 建議您使用區域虛擬網路整合來與虛擬網路整合。

需要閘道的虛擬網路整合:

  • 讓應用程式一次只連線至一個虛擬網路。
  • 讓您在一個 App Service 方案內最多整合五個虛擬網路。
  • 可讓 App Service 方案中的多個應用程式使用相同的虛擬網路,而不會影響 App Service 方案所能使用的虛擬網路總數。 如果您在相同 App Service 方案中有六個應用程式使用相同的虛擬網路,則會將其計算為使用一個虛擬網路。
  • 閘道上的 SLA 可能會影響整體 SLA
  • 可讓您的應用程式使用虛擬網路所設定的 DNS。
  • 先需要以 SSTP 點對站 VPN 設定虛擬網路路由型閘道,才能連線至應用程式。

您無法使用需要閘道的虛擬網路整合:

  • 與使用 ExpressRoute 所連線的虛擬網路。
  • 從 Linux 應用程式。
  • Windows 容器
  • 存取服務端點保護的資源。
  • 解析參考網路保護 Key Vault 的應用程式設定。
  • 與同時支援 ExpressRoute 和點對站或站對站 VPN 的共存閘道搭配使用。

區域虛擬網路整合可減輕上述限制。

在您的 Azure 虛擬網路中設定閘道

若要建立閘道:

  1. 建立 VPN 閘道和子網路。 選取路由式 VPN 類型。

  2. 設定點對站位址。 如果閘道不在基本 SKU 中,則必須在點對站組態中停用 IKEV2,而且必須選取 SSTP。 點對站位址空間必須是 RFC 1918 位址區塊 10.0.0.0/8、172.16.0.0/12 與 192.168.0.0/16。

如果您建立閘道以與需要閘道的虛擬網路整合搭配使用,則不需要上傳憑證。 建立閘道可能需要 30 分鐘。 除非建立閘道,否則您無法將應用程式與虛擬網路整合。

需要閘道的虛擬網路整合的運作方式

需要閘道的虛擬網路整合是以點對站 VPN 技術為基礎而建置。 點對站 VPN 會限制對裝載應用程式之虛擬機器進行的網路存取。 應用程式會限制為僅透過混合式連線或透過虛擬網路整合,將流量向外傳送至網際網路。 當您的應用程式已設定入口網站以使用需要閘道的虛擬網路整合時,系統會代表您管理複雜的交涉,以在閘道與應用程式端建立和指派憑證。 結果是,用來裝載應用程式的背景工作角色可以直接連線至所選取虛擬網路中的虛擬網路閘道。

Diagram that shows how gateway-required virtual network integration works.

存取內部部署資源

應用程式可以與具有站對站連線的虛擬網路整合來存取內部部署資源。 如果您使用需要閘道的虛擬網路整合,則請使用您的點對站位址區塊來更新內部部署 VPN 閘道路由。 第一次設定站對站 VPN 時,用來設定它的指令碼應該設定路由,包括點對站 VPN。 如果您在建立站對站 VPN 之後新增點對站 VPN,則需要手動更新路由。 此作法的細節會根據閘道而有所不同,這裡不會加以討論。

來自內部部署的 BGP 路由不會自動傳播至 App Service。 您必須使用本文件公告 P2S VPN 用戶端的自訂路由中的步驟,在點對站組態上手動傳播。

注意

需要閘道的虛擬網路整合功能不會整合應用程式與具有 ExpressRoute 閘道的虛擬網路。 即使 ExpressRoute 閘道已設定為共存模式,虛擬網路整合仍然無法運作。 如果您需要透過 ExpressRoute 連線存取資源,則請使用區域虛擬網路整合功能在您虛擬網路中執行的 App Service 環境

對等互連

如果您搭配使用需要閘道的虛擬網路整合與對等互連,則需要設定一些其他項目。 若要設定對等互連以搭配您的應用程式使用:

  1. 在您的應用程式所連線的虛擬網路上新增對等互連連線。 新增對等互連連線時,請啟用 [允許虛擬網路存取] 並選取 [允許轉送的流量] 與 [允許閘道器傳輸]
  2. 在虛擬網路上新增對等互連連線,而此虛擬網路與您所連線的虛擬網路對等互連。 當您在目的地虛擬網路上新增對等互連連線時,請啟用 [允許虛擬網路存取],然後選取 [允許轉送的流量] 和 [允許遠端閘道]
  3. 移至入口網站中的 [App Service 方案] > [網路] > [VNet 整合]。 選取您的應用程式所連線的虛擬網路。 在路由區段下,新增虛擬網路的位址範圍,而此虛擬網路與您應用程式所連線的虛擬網路對等互連。

手動虛擬網路整合

使用虛擬網路連線和中斷連線是在應用程式層級。 可能會影響跨多個應用程式中虛擬網路整合的作業位於 App Service 方案層級。 從應用程式 [網路] >> [VNet 整合] 入口網站,您可以取得虛擬網路的詳細資料。 您可以在 [App Service 方案] > [網路] > [VNet 整合] 入口網站中的 App Service 方案層級,查看類似的資訊。

在虛擬網路整合執行個體的應用程式檢視中,您唯一可以執行的作業是將您的應用程式與目前所連線的虛擬網路中斷連線。 若要中斷應用程式與虛擬網路的連線,請選取 [中斷連線]。 當您中斷與虛擬網路的連線時,您的應用程式會重新啟動。 中斷連線並不會變更您的虛擬網路。 也不會移除子網路或閘道。 如果您之後想要刪除虛擬網路,則請先將您的應用程式與虛擬網路中斷連線,再刪除其中的資源,例如閘道。

App Service 方案虛擬網路整合 UI 會顯示您 App Service 方案中應用程式所使用的所有虛擬網路整合。 若要查看每個虛擬網路的詳細資料,請選取您感興趣的虛擬網路。 您可以在這裡針對需要閘道的虛擬網路整合執行兩個動作:

  • 同步網路:同步網路作業僅用於與需要閘道的虛擬網路整合功能。 執行同步網路作業可確保您的憑證與網路資訊會保持同步。如果您新增或變更虛擬網路的 DNS,請執行同步網路作業。 此作業會重新啟動任何使用此虛擬網路的應用程式。 如果您使用屬於不同訂用帳戶的應用程式和虛擬網路,則此作業將無法運作。
  • 新增路由:新增路由會將連出流量驅使到您的虛擬網路。

指派給執行個體的私人IP會透過環境變數 WEBSITE_PRIVATE_IP 公開。 Kudu 主控台 UI 也會顯示 Web 應用程式可用的環境變數清單。 此 IP 是來自虛擬網路閘道上所設定之點對站位址集區位址範圍的 IP。 Web 應用程式將使用此 IP 以透過 Azure 虛擬網路連線至資源。

注意

WEBSITE_PRIVATE_IP 的值會繫結至變更。 不過,其會是點對站位址範圍位址範圍內的 IP,因此您需要允許從整個位址範圍進行存取。

需要閘道的虛擬網路整合路由

虛擬網路中所定義的路由用來將流量從應用程式導向至虛擬網路。 若要將更多輸出流量傳送至虛擬網路,請在這裡新增這些位址區塊。 此功能僅適用於需要閘道的虛擬網路整合。 當您使用需要閘道的虛擬網路整合時,路由表不會影響應用程式流量。

需要閘道的虛擬網路整合憑證

啟用需要閘道的虛擬網路整合時,需要交換憑證以確保連線的安全性。 除了憑證以外,還有 DNS 組態、路由,以及其他描述網路的類似項目。

如果憑證或網路資訊已變更,請選取 [同步網路]。 當您選取 [同步網路] 時,會導致應用程式與虛擬網路之間的連線短暫中斷。 您的應用程式未重新啟動,但中斷連線會導致您的網站無法正常運作。

憑證更新

需要閘道虛擬網路整合所使用的憑證存留期為 8 年。 如果應用程式具有需要閘道虛擬網路整合,且其存留時間較長,則您必須更新憑證。 您可以瀏覽 Azure 入口網站中的 VNet 整合頁面,確認憑證是否已過期或距到期不到 6 個月。

Screenshot that shows a near expiry gateway-required virtual network integration certificate.

當入口網站顯示即將到期或過期的憑證時,您就可以更新憑證。 若要更新憑證,您需要中斷連線並重新連接虛擬網路。 重新連接會導致應用程式與虛擬網路之間的連線短暫中斷。 您的應用程式未重新啟動,但中斷連線會導致您的網站無法正常運作。

價格詳細資料

使用需要閘道的虛擬網路整合功能時,需要支付三個相關費用:

  • App Service 方案定價層費用:您的應用程式需要位於「基本」、「標準」、「進階」、「進階 v2」或「進階 v3」App Service 方案中。 如需那些費用的詳細資訊,請參閱 App Service 定價
  • 資料傳輸成本:即使虛擬網路位於相同的資料中心,還是需要資料輸出費用。 資料傳輸定價詳細資料中會說明那些費用。
  • VPN 閘道成本:點對站 VPN 所需的虛擬網路閘道需付費使用。 如需詳細資訊,請參閱 VPN 閘道定價

疑難排解

有幾種情況可能會導致應用程式無法連線至特定的主機和連接埠。 大部分的情況下,會是下列三個情況的其中一種:

  • 路線中有防火牆。 如果路線中有防火牆,則會達到 TCP 逾時。 此案例中 TCP 逾時值就是 21 秒。 使用 tcpping 工具來測試連線能力。 TCP 逾時可能是許多項目越過防火牆並啟動所造成。
  • DNS 無法存取。 DNS 逾時值為 3 秒 (每部 DNS 伺服器)。 如果您有兩部 DNS 伺服器,逾時為 6 秒。 使用 nameresolver 來檢查 DNS 是否運作。 您不能使用 nslookup,因為它不會使用您的虛擬網路所設定的 DNS。 如果無法存取,則防火牆或 NSG 可能會封鎖 DNS 的存取,或可能會中斷連線。

如果這些項目無法解決您的問題,請先確認幾件事,例如:

  • 是 RFC 1918 範圍 (10.0.0.0-10.255.255.255 / 172.16.0.0-172.31.255.255 / 192.168.0.0-192.168.255.255) 中的點對站位址範圍嗎?
  • 閘道是否顯示為正在入口網站中啟動? 如果您的閘道已關閉,請重新啟動。
  • 憑證是否顯示為同步,或您懷疑網路設定已變更? 如果您的憑證停止同步,或您懷疑虛擬網路設定的變更未與 ASP 同步,則請選取 [同步網路]
  • 如果您要通過 VPN,內部部署閘道是否已設為將流量路由回 Azure? 如果您可以連線至虛擬網路中的端點,但無法連線至內部部署,則請檢查您的路由。
  • 您是否正嘗試使用同時支援點對站和 ExpressRoute 的共存閘道? 虛擬網路整合不支援共存閘道。

對網路問題進行偵錯是一項挑戰,因為您看不到是什麼封鎖了特定主機與連接埠組合的存取。 可能的原因包括:

  • 您已在主機上啟動防火牆,阻止從點對站 IP 範圍存取應用程式連接埠。 跨越子網路通常需要公用存取權。
  • 目標主機已關閉。
  • 應用程式已關閉。
  • IP 或主機名稱錯誤。
  • 應用程式不是接聽您預期的連接埠。 您可以在端點主機上使用 "netstat -aon",將處理序識別碼與接聽連接埠進行比對。
  • 您將網路安全性群組設定為阻止從點對站 IP 範圍存取應用程式主機和連接埠。

您不知道應用程式實際使用的位址。 這可能是點對站位址範圍中的任何位址,因此您必須允許從整個位址範圍進行存取。

其他偵錯步驟包括:

  • 連線至虛擬網路中的 VM,並嘗試從該處連接資源的主機與連接埠組合。 若要測試 TCP 存取,請使用 PowerShell 命令 Test-NetConnection。 語法為:
Test-NetConnection hostname [optional: -Port]
  • 啟動 VM 上的應用程式,並使用 tcpping,測試是否可透過應用程式從主控台存取該主機和連接埠。

內部部署資源

如果您的應用程式無法連線至內部部署資源,則請檢查您是否可以從虛擬網路連線至該資源。 使用 Test-NetConnection PowerShell 命令來檢查是否有 TCP 存取權。 如果您的 VM 無法連線到您的內部部署資源,表示 VPN 或 ExpressRoute 連線可能沒有正確設定。

如果虛擬網路裝載 VM 可以連線至您的內部部署系統,但您的應用程式無法連線至此系統,則很可能是下列其中一個原因所造成:

  • 您的路由未設定子網路或內部部署閘道中的點對站位址範圍。
  • 您的網路安全性群組正在封鎖點對站 IP 範圍的存取。
  • 您的內部部署防火牆正在封鎖來自點對站 IP 範圍的流量。
  • 您正在嘗試使用區域虛擬網路整合功能來連線至非 RFC 1918 位址。

如需詳細資訊,請參閱虛擬網路整合疑難排解指南