Share via


適用於 Azure SQL 受控執行個體的 Azure Private Link

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

本文提供了 Azure SQL 受控執行個體的私人端點概觀,以及設定的步驟。 私人端點會在服務與多個虛擬網路之間建立安全、獨立的連線,而不會公開您服務的整個網路基礎結構。

概觀

Private Link是 Azure 技術,可在您選擇的虛擬網路中提供 Azure SQL 受控執行個體。 網路系統管理員可以在自己的虛擬網路中,建立 Azure SQL 受控執行個體的私人端點,而 SQL 系統管理員可選擇在私人端點變成作用中之前接受或拒絕端點。 私人端點會在服務與多個虛擬網路之間建立安全、獨立的連線,而不會公開您服務的整個網路基礎結構。

私人端點與 VNet 本機端點有何不同

使用每個 Azure SQL 受控執行個體部署的預設 VNet 本機端點,運作方式會如同執行服務的電腦實際連結至虛擬網路一般。 藉此,您可以透過路由表、網路安全性群組、DNS 解析、防火牆和類似機制,進行幾近全面的流量控制。 您也可以使用此端點,在需透過 1433 以外的連接埠連線的情況下使用您的執行個體,例如容錯移轉群組、分散式交易和受控執行個體連結。 雖然 VNet 本機端點提供了彈性,但在針對特定案例 (尤其是涉及多個虛擬網路或租用戶情況下) 時也會使情況變得更加複雜。

相較之下,設定私人端點就像是將實體網路纜線從執行 Azure SQL 受控執行個體的電腦延伸至另一個虛擬網路。 此連線路徑實際上是透過 Azure Private Link 技術建立的。 其僅允許單向的連線:從私人端點到 Azure SQL 受控執行個體;且僅在連接埠 1433 (標準 TDS 流量連接埠) 上傳輸流量。 如此,您的 Azure SQL 受控執行個體無須設定網路對等互連或開啟執行個體的公用端點,即可在不同的虛擬網路中使用。 即使您將執行個體移動到另一個子網路中,任何已建立的私人端點仍會繼續指向該執行個體。

如需 Azure SQL 受控執行個體所支援之不同端點類型的詳細討論,請參閱通訊概觀

何時使用私人端點

Azure SQL 受控執行個體的私人端點比使用 VNet 本機端點公用端點更安全,並簡化了重要連線案例的實作。 這些案例包括:

  • Airlock。 Azure SQL 受控執行個體的私人端點會部署在具有跳板伺服器和 ExpressRoute 閘道的虛擬網路中,以提供內部部署與雲端資源之間的安全性和隔離。
  • 中樞與輪輻拓撲。 輪輻虛擬網路中的私人端點會進行從 SQL 用戶端和應用程式到中樞虛擬網路中的 Azure SQL 受控執行個體的流量,並建立明確的網路隔離和責任區分。
  • 發行者-取用者。 發行者租用戶 (例如 ISV) 會在其虛擬網路中,管理多個 SQL 受控執行個體。 發行者會在其他租用戶的虛擬網路中建立私人端點,讓執行個體可供其取用者使用。
  • Azure PaaS 和 SaaS 服務的整合。 某些 PaaS 和 SaaS 服務 (例如 Azure Data Factory) 可建立及管理 Azure SQL 受控執行個體的私人端點。

相較於 VNet 本機或公用端點,使用私人端點的優點包括:

  • IP 位址的可預測性:Azure SQL 受控執行個體的私人端點會被指派子網路位址範圍中的固定 IP 位址。 即使 VNet 本機和公用端點的 IP 位址有所變更,此 IP 位址仍會保持靜態。
  • 精細的網路存取:私人端點只會在其虛擬網路內顯示。
  • 強健的網路隔離:在對等互連案例中,對等互連的虛擬網路會建立雙向連線,而私人端點則是單向的,且不會將其網路內的網路資源公開給 Azure SQL 受控執行個體。
  • 避免位址重疊:要將多個虛擬網路對等互連需要謹慎的 IP 空間配置,而且在位址空間重疊時可能會造成問題。
  • 節省 IP 位址空間:私人端點只會取用其子網路的位址空間中的一個 IP 位址。

限制

  • Azure SQL 受控執行個體需要確切的執行個體「主機名稱」,才能顯示 SQL 用戶端所傳送的連接字串。 不支援使用私人端點的 IP 位址,而且將會失敗。 若要解決此問題,請設定 DNS 伺服器,或使用私人 DNS 區域,如設定私人端點的網域名稱解析中所述。
  • 尚不支援自動註冊 DNS 名稱。 請改為遵循設定私人端點的網域名稱解析中的步驟。
  • SQL 受控執行個體的私人端點只能用來連線至連接埠 1433,這是 SQL 流量的標準 TDS 連接埠。 需要在其他連接埠上進行通訊而更為複雜的連線案例,則必須透過執行個體的 VNet 本機端點來建立。
  • Azure SQL 受控執行個體的私人端點需要特殊設定,才能設定必要的 DNS 解析,如設定私人端點的網域名稱解析中所述。
  • 私人端點一律會以 Proxy 連線類型運作。

在虛擬網路中建立私人端點

使用 Azure 入口網站、Azure PowerShell 或 Azure CLI 來建立私人端點:

建立私人端點之後,您可能也需要在目標虛擬網路內核准其建立;請參閱檢閱並核准建立私人端點的要求

若要讓私人端點 SQL 受控執行個體體的功能完整,請遵循指示來設定私人端點的網域名稱解析

在 PaaS 或 SaaS 服務中建立私人端點

某些 Azure PaaS 和 SaaS 服務可以使用私人端點,從其環境內部存取您的資料。 在這類服務 (有時稱為「受控私人端點」或「受控虛擬網路中的私人端點」) 中設定私人端點的程序,會視服務而有所不同。 系統管理員仍然需要檢閱並核准 Azure SQL 受控執行個體上的要求,如檢閱並核准建立私人端點的要求中所述。

注意

Azure SQL 受控執行個體需要 SQL 用戶端的連接字串,才能將執行個體的名稱當作網域名稱的第一個區段 (例如:<instance-name>.<dns-zone>.database.windows.net)。 任何嘗試透過 Azure SQL 受控執行個體的私人端點 IP 位址,連線到該執行個體的 PaaS 和 SaaS 服務都將無法連線。

建立跨租用戶私人端點

您也可以在不同的 Azure 租用戶中建立 Azure SQL 受控執行個體的私人端點。 若要這樣做,應顯示私人端點之虛擬網路的系統管理員必須先取得其即將要求私人端點之 Azure SQL 受控執行個體的完整資源識別碼。 使用這項資訊,即可在 Private Link 中心建立新的私人端點。 和之前一樣,Azure SQL 受控執行個體的系統管理員會接收要求,要求他們可以根據檢閱和核准建立私人端點的要求來檢閱和核准或拒絕

檢閱並核准建立私人端點的要求

建立私人端點的要求提出後,SQL 管理員可以管理 Azure SQL 受控執行個體的私人端點連線。 管理新私人端點連線的第一個步驟,是進行檢閱並核准。 如果建立私人端點的使用者或服務對 Azure SQL 受控執行個體資源有足夠的 Azure RBAC 權限,此步驟將會自動執行。 如果使用者沒有足夠的權限,則必須有人手動完成私人端點的檢閱和核准。

若要核准私人端點,請遵循下列步驟:

  1. Azure 入口網站中,移至您的 Azure SQL 受控執行個體。

  2. 在 [安全性] 底下,選擇 [私人端點連線]。

    Screenshot of the Azure portal, private endpoint connections page showing two pending connections.

  3. 檢閱處於擱置狀態的連線,然後勾選核取方塊來選擇一或多個私人端點連線,並核准或拒絕。

    Screenshot of the Azure portal, one private endpoint connection selected for approval.

  4. 選擇 [核准] 或 [拒絕],然後在驗證動作的對話方塊中選取 [是]。

    Screenshot of dialog prompting for a response message to accompany the approval of a connection.

  5. 核准或拒絕連線之後,[私人端點連線] 清單會反映目前的私人端點連線狀態,以及 [要求/回應] 訊息。

    Screenshot of the Azure portal, private endpoint connections page showing one pending and one approved connection.

設定私人端點的網域名稱解析

建立 Azure SQL 受控執行個體的私人端點後,您必須設定網域名稱解析,否則登入嘗試將會失敗。 下列方法適用於使用 Azure DNS 解析的虛擬網路。 如果您的虛擬網路設定為使用自訂 DNS 伺服器,請據以調整步驟。

若要將私人端點的網域名稱解析,設為 VNet 本機端點網域名稱為 <instance-name>.<dns-zone>.database.windows.net 的執行個體,請遵循下列兩個程序之一,視執行個體及其私人端點是否位於相同虛擬網路中而定。

重要

請勿變更 Azure SQL 受控執行個體的 VNet 本機端點網域名稱,在所屬虛擬網路內解析的方式。 這麼做會中斷執行個體執行管理作業的能力。

如果私人端點和 Azure SQL 受控執行個體位於不同的虛擬網路中,請遵循下列步驟。

完成這些步驟後,從端點的虛擬網路內部連線到 <instance-name>.<dns-zone>.database.windows.net 的 SQL 用戶端,將會透過私人端點以透明方式路由傳送。

  1. 請造訪 Private Link 中心或執行下列步驟,以取得私人端點的 IP 位址:

    1. Azure 入口網站中,移至您的 Azure SQL 受控執行個體。

    2. 在 [安全性] 底下,選擇 [私人端點連線]。

    3. 在資料表中找出私人端點連線,然後選擇所選連線的 [私人端點名稱]。

      Screenshot of the Azure portal, private endpoint connections pane the private endpoint name highlighted.

    4. 在 *[概觀] 頁面上,選取網路介面。

      Screenshot of the Azure portal, private endpoint connection overview with a highlight on network interface.

    5. 在 [概觀] 頁面上,勾選 [基本資訊],以找出並複製 [私人 IP 位址]。

      Screenshot of the Azure portal, private endpoint connection's network interface with a highlight on its private IP address.

  2. 建立名為 privatelink.<dns-zone>.database.windows.net 的私人 Azure DNS 區域

  3. 將私人 DNS 區域連結至端點虛擬網路

  4. 在 DNS 區域中,使用下列值建立新的記錄集:

    • 名稱:<instance-name>
    • 類型:A
    • IP 位址:在先前的設定中所取得的私人端點 IP 位址。

下一步