Azure SQL 受控執行個體連線類型

適用於:Azure SQL 受控執行個體

本文將說明用戶端如何根據連線類型來連線到 Azure SQL 受控執行個體。 以下提供變更連線類型的指令碼範例,以及變更預設連線設定的相關考量。

連線類型

Azure SQL 受控執行個體的 VNet 本地端點支援下列兩個連線類型:

  • 重新導向 (建議使用):用戶端直接與裝載資料庫的節點建立連線。 若要使用重新導向來啟用連線,您必須開啟防火牆和網路安全性群組 (NSG),以允許在連接埠 1433 和 11000-11999 上進行存取。 封包會直接移至資料庫,因此使用「透過 Proxy 重新導向」可改善延遲和輸送量效能。 與 Proxy 相比,重新導向連線類型對閘道元件計劃性維護事件的影響也會最小,因為連線一旦建立,就不再依賴閘道。
  • Proxy (預設值):在此模式中,所有連線都會使用 Proxy 閘道連線。 若要啟用連線,只需要開啟私人網路的連接埠 1433 和公用連線的連接埠 3342。 視工作負載的本質而定,選擇此模式可能會導致延遲提高和輸送量降低。 此外,閘道元件的計劃性維護事件會中斷 Proxy 模式中的所有即時連線。 為了將延遲時間縮到最短、將輸送量提升到最高,並將計劃性維護的影響降到最低,強烈建議您採用重新導向連線原則,而不要採用 Proxy 連線原則。

不論設定的連線類型為何,Azure SQL 受控執行個體的公用和私人端點一律在 Proxy 模式中運作。

重新導向連線類型

在重新導向連線類型中,在對 SQL 引擎建立 TCP 工作階段之後,用戶端工作階段會從負載平衡器取得虛擬叢集節點的目的地虛擬 IP。 後續的封包會直接流向虛擬叢集節點,並略過閘道。 下圖說明此流量。

Diagram shows an on-premises network with redirect-find-db connected to a gateway in an Azure virtual network and a redirect-query connected to a database primary node in the virtual network.

重要

重新導向連線類型目前僅適用於 VNet 本地端點。 不論連線類型設定為何,經由公用或私人端點的連線都會使用 Proxy 連線類型來處理。

Proxy 連線類型

在 Proxy 連線類型中,系統會使用閘道建立 TCP 工作階段,且所有後續封包都會流經此閘道。 下圖說明此流量。

Diagram shows an on-premises network with a proxy connected to a gateway in an Azure virtual network, connect next to a database primary node in the virtual network.

變更連線類型

  • 使用入口網站:若要使用 Azure 入口網站來變更連線類型,請開啟 [虛擬網路] 頁面,並使用 [連線類型] 設定來變更連線類型,並儲存變更。

  • 使用 PowerShell 變更連線類型設定的指令碼:

注意

本文使用 Azure Az PowerShell 模組,這是與 Azure 互動時建議使用的 PowerShell 模組。 若要開始使用 Az PowerShell 模組,請參閱安裝 Azure PowerShell。 若要瞭解如何遷移至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 遷移至 Az。

下列 PowerShell 指令碼說明如何將受控執行個體的連線類型變更為 Redirect

Install-Module -Name Az
Import-Module Az.Accounts
Import-Module Az.Sql

Connect-AzAccount
# Get your SubscriptionId from the Get-AzSubscription command
Get-AzSubscription
# Use your SubscriptionId in place of {subscription-id} below
Select-AzSubscription -SubscriptionId {subscription-id}
# Replace {rg-name} with the resource group for your managed instance, and replace {mi-name} with the name of your managed instance
$mi = Get-AzSqlInstance -ResourceGroupName {rg-name} -Name {mi-name}
$mi = $mi | Set-AzSqlInstance -ProxyOverride "Redirect" -force

下一步