教學課程:如何使用私人端點從 Data Factory 受控 VNet 存取內部部署 SQL Server

本教學課程提供使用 Azure 入口網站 來設定 Private Link 服務,並使用私人端點從受控虛擬網路存取內部部署 SQL Server 的步驟。 使用受控虛擬網路可確保來自內部部署 SQL 來源的流量都會通過您自己的私人端點,藉此透過額外的安全性和隔離層來保護公開至公用雲端的安全。 以下是支援案例的必要資源。

注意

本文中呈現的解決方案說明 SQL Server 連線能力,但您可以使用類似的方法來連線及查詢 Azure Data Factory 中支援的其他可用 內部部署連接器

顯示 SQL Server 存取模型的螢幕快照。

必要條件

  • Azure 訂用帳戶。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶
  • 虛擬網絡。 如果您沒有 虛擬網絡,請建立下列建立 虛擬網絡
  • 虛擬網路到內部部署網路。 使用 ExpressRouteVPN 建立虛擬網路與內部部署網路之間的連線。 如果您想要在專用網中使用雲端虛擬機,也可以這麼做。 只要為您的雲端虛擬機建立虛擬網路和 虛擬網路 的私人連結,您就可以存取它們,就好像它們是您專用網中的內部部署機器一樣,即使它們裝載於雲端中也一樣。
  • 已啟用受控 VNet 的 Data Factory。 如果您沒有啟用 Data Factory 或受控 VNet,請建立下列 其中一個使用受控 VNet 建立 Data Factory。

建立資源的子網

使用入口網站在虛擬網路中建立子網。

子網路 描述
be-subnet 後端伺服器的子網
fe-subnet 標準內部負載平衡器的子網
pls-subnet Private Link 服務的子網

顯示子網的螢幕快照。

建立標準負載平衡器

使用入口網站建立標準內部負載平衡器。

  1. 在畫面左上方,選取 [建立資源 > 網络 > 負載平衡器]。

  2. 在 [建立負載平衡器] 頁面的 [基本] 索引標籤中,輸入或選取下列資訊:

    設定
    訂用帳戶 選取您的訂用帳戶。
    資源群組 選取您的資源群組。
    名稱 輸入 myLoadBalancer
    區域 選取 [美國東部]
    類型 選取 [內部]。
    SKU 選取 [標準]。
    虛擬網路 選取您的虛擬網路。
    子網路 選取 在上一個步驟中建立的fe子網
    IP 位址指派 選取 [動態]
    可用性區域 選取 [區域備援]
  3. 接受其餘設定的預設值,然後選取 [ 檢閱 + 建立]。

  4. 在 [ 檢閱 + 建立] 索引標籤中,選取 [ 建立]。

    顯示建立標準負載平衡器步驟的螢幕快照。

建立負載平衡器資源

建立後端集區

後端位址池包含連線至負載平衡器的虛擬 (NIC) IP 位址。

建立後端位址池 myBackendPool ,以包含用於負載平衡因特網流量的虛擬機。

  1. 選取 左側功能表中的 [所有服務 ],選取 [所有資源],然後從資源清單中選取 [myLoadBalancer ]。
  2. 在 [設定],選取 [後端集區],然後選取 [新增]。
  3. 在 [ 新增後端集區 ] 頁面上,輸入 myBackendPool 作為後端集區的名稱,然後選取 [ 新增]。

建立健康狀態探查

負載平衡器會使用健康狀態探查來監視應用程式的狀態。

健康狀態探查會根據 VM 對健康情況檢查的回應,從負載平衡器中新增或移除 VM。

建立名為 myHealthProbe 的健康狀態探查,以監視 VM 的健康情況。

  1. 選取 左側功能表中的 [所有服務 ],選取 [所有資源],然後從資源清單中選取 [myLoadBalancer ]。

  2. 在 [設定] 底,選取 [健康情況探查],然後選取 [新增]。

    設定
    名稱 輸入 myHealthProbe
    通訊協定 選取 [TCP]。
    連接埠 輸入 22。
    間隔 輸入 15以秒為單位在探查嘗試之間的間隔 數。
    狀況不良臨界值 針對 VM 視為狀況不良之前必須發生的狀況不良臨界值或連續探查失敗數目,選取 2
  3. 保留其餘預設值,然後選取 [ 確定]。

建立負載平衡器規則

負載平衡器規則會用來定義如何將流量分散至 VM。 您會定義連入流量的前端 IP 設定和接收流量的後端 IP 集區。 規則中定義來源和目的地連接埠。

在本節中,您將建立負載平衡器規則:

  1. 選取 左側功能表中的 [所有服務 ],選取 [所有資源],然後從資源清單中選取 [myLoadBalancer ]。

  2. 在 [設定] 下,選取 [負載平衡規則],然後選取 [新增]。

  3. 使用這些值來設定負載平衡規則:

    設定
    名稱 輸入 myRule
    IP 版本 選取 [IPv4]
    前端 IP 位址 選取 [LoadBalancerFrontEnd]。
    通訊協定 選取 [TCP]。
    連接埠 輸入 1433
    後端連接埠 輸入 1433
    後端集區 選取 [myBackendPool]
    健康狀態探查 選取 myHealthProbe
    閒置逾時 (分鐘) 將滑桿移至 15 分鐘。
    TCP 重設 選取 [已停用]
  4. 保留其餘的預設值,然後選取 [ 確定]。

在本節中,您將建立標準負載平衡器背後的 Private Link 服務。

  1. 在 Azure 入口網站 頁面的左上方,選取 [建立資源]。

  2. 在 [搜尋 Marketplace] 方塊中搜尋 Private Link

  3. 選取 建立

  4. 在 [私人連結中心] 下的 [概觀] 中,選取藍色的 [建立私人鏈接服務] 按鈕。

  5. 在 [建立私人鏈接服務] 下的 [基本] 索引標籤中,輸入或選取下列資訊:

    設定
    專案詳細資料
    訂用帳戶 選取您的訂用帳戶。
    資源群組 選取您的資源群組。
    [執行個體詳細資料]
    名稱 輸入 myPrivateLinkService
    區域 選取 [美國東部]
  6. 選取 [ 輸出設定] 索引標籤,或選取 頁面底部的 [下一步:輸出設定 ]。

  7. 在 [ 輸出設定] 索引標籤中,輸入或選取下列資訊:

    設定
    負載平衡器 選取 [myLoadBalancer]
    負載平衡器前端IP位址 選取 [LoadBalancerFrontEnd]。
    來源 NAT 子網 選取 pls-subnet
    啟用 TCP Proxy V2 保留預設值 [否]
    私人 IP 位址設定
    保留預設設定。
  8. 選取 [ 存取安全性] 索引卷標,或選取 頁面底部的 [下一步:存取安全性 ]。

  9. 只在 [存取安全性] 索引標籤中保留角色型存取控制的預設值。

  10. 選取 [ 卷標] 索引標籤,或選取 頁面底部的 [下一步:卷標 ]。

  11. 選取 [ 檢閱 + 建立] 索引標籤,或選取 頁面底部的 [下一步:檢閱 + 建立 ]。

  12. 在 [檢閱 + 建立] 索引標籤中,選取 [建立]

建立後端伺服器

  1. 在入口網站的左上方,選取 [建立資源 > 計算 > 虛擬機]。

  2. 在 [建立虛擬機器] 中,輸入或選取 [基本資訊] 索引標籤中的值:

    設定
    專案詳細資料
    訂用帳戶 選取 Azure 訂閱。
    資源群組 選取您的資源群組。
    [執行個體詳細資料]
    虛擬機器名稱 輸入 myVM1
    區域 選取 [美國東部]
    可用性選項 選取 [可用性區域]。
    可用性區域 選取 [1]
    映像 選取 [Ubuntu Server 22.04 LTS]。
    Azure Spot 執行個體 選取
    大小 選擇 VM 大小或接受預設設定。
    系統管理員帳戶
    使用者名稱 輸入使用者名稱。
    SSH 公開金鑰來源 產生新的金鑰組。
    金鑰組名稱 mySSHKey。
    輸入連接埠規則
    公用輸入連接埠
  3. 選取 [網路] 索引標籤,或選取 [下一步: 磁碟],然後選取 [下一步: 網路]

  4. 在 [網路功能] 索引標籤中,選取或輸入:

    設定
    網路介面
    虛擬網路 選取您的虛擬網路。
    子網路 be-subnet
    公用 IP 選取 [無]。
    NIC 網路安全性群組 選取 [無]。
    負載平衡
    要將此虛擬機器放在現有負載平衡解決方案後面嗎? 選取
    負載平衡設定
    負載平衡選項 選取 [Azure 負載平衡]。
    選取負載平衡器 選取 [myLoadBalancer]
    選取後端集區 選取 [myBackendPool]
  5. 選取 [檢閱 + 建立]。

  6. 檢閱設定,然後選取 [建立]

  7. 您可以重複步驟 1 到 6,讓 HA 有 1 個以上的後端伺服器 VM。

建立將規則轉送至端點

  1. 登入和複製文本 ip_fwd.sh 至您的後端伺服器 VM。

  2. 使用下列選項執行文稿:

    sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
    

    設定佔位元 <FQDN/IP> 是您的目標 SQL Server IP。

    注意

    除非您在 Azure DNS 區域中新增記錄,否則 FQDN 不適用於內部部署 SQL Server。

  3. 執行下列命令,並檢查後端伺服器 VM 中的 iptable。 您可以使用目標 IP 在 iptable 中看到一筆記錄。

    sudo iptables -t nat -v -L PREROUTING -n --line-number**
    

    顯示命令記錄的螢幕快照。

    注意

    如果您有多個 SQL Server 或數據源,則必須使用不同的埠來定義多個負載平衡器規則和 IP 資料表記錄。 否則,將會發生一些衝突。 例如,

    負載平衡器規則中的埠 負載平衡規則中的後埠 在後端伺服器 VM 中執行的命令
    SQL Server 1 1433 1433 sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
    SQL Server 2 1434 1434 sudo ./ip_fwd.sh -i eth0 -f 1434 -a <FQDN/IP> -b 1433

    注意

    請務必注意,虛擬機 (VM) 內的組態不是永久性的。 這表示每次 VM 重新啟動時,都需要重新設定。

  1. 選取左側功能表中的 [所有服務],選取 [所有資源],然後從 [資源] 列表中選取您的數據處理站。

  2. 選取 [ 作者和監視器] 以在另一個索引標籤中啟動 Data Factory UI。

  3. 移至 [ 管理] 索引標籤,然後移至 [受控私人端點] 區 段。

  4. 選取 [受控私人端點] 下的 [+ 新增]。

  5. 從清單中選取 [Private Link 服務] 圖格,然後選取 [繼續]。

  6. 輸入私人端點的名稱,然後在私人鏈接服務列表中選取 myPrivateLinkService

  7. <FQDN>新增目標內部部署 SQL Server 的 。

    顯示私人端點設定的螢幕快照。

    注意

    在虛擬網路內的虛擬機上部署 SQL Server 時,必須附加 privatelink 來增強 FQDN。 否則,它將會與 DNS 設定中的其他記錄衝突。 例如,您可以直接將 SQL Server 的 FQDN 從 sqlserver.westus.cloudapp.azure.net 修改為 sqlserver.privatelink.westus.cloudapp.azure.net

  8. 建立私人端點。

建立連結服務並測試連線

  1. 移至 [ 管理] 索引標籤,然後移至 [鏈接的服務 ] 區段。

  2. 選取 [鏈接服務] 底下的 [+ 新增]。

  3. 從清單中選取 [SQL Server] 圖格,然後選取 [繼續]。

    顯示連結服務建立頁面的螢幕快照。

  4. 啟用 互動式撰寫

    顯示如何啟用互動式撰寫的螢幕快照。

  5. 輸入內部部署 SQL Server 的 FQDN使用者名稱和密碼

  6. 然後按兩下 [ 測試連線]。

    顯示 SQL Server 連結服務建立頁面的螢幕快照。

    注意

    如果您有一個以上的 SQL Server,且需要使用不同的埠定義多個負載平衡器規則和 IP 資料表記錄,請務必在編輯連結服務時明確新增埠名稱。 NAT VM 會處理埠轉譯。 如果未明確指定,連線一律會逾時。

疑難排解

移至後端伺服器 VM,確認 SQL Server 可運作的 telnet:telnet< FQDN> 1433。

請前往下列教學課程,瞭解如何使用私人端點從 Data Factory 受控 VNet 存取 Microsoft Azure SQL 受控執行個體: