共用方式為


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

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

注意

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

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

必要條件

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

建立資源的子網路

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

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

顯示子網的螢幕快照。

建立標準負載平衡器

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

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

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

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

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

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

建立負載平衡器資源

建立後端集區

後端位址集區會包含已連線至負載平衡器之虛擬 NIC 的 IP 位址。

建立後端位址集區 myBackendPool,以包含用於平衡網際網路流量負載的虛擬機器。

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

建立健康狀態探查

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

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

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

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

  2. 在 [設定] 底下選取 [健康狀態探查],然後選取 [新增]

    設定
    名稱 輸入 myHealthProbe
    通訊協定 選取 [TCP]。
    連接埠 輸入 22。
    間隔 輸入 15 作為探查嘗試之間的 [間隔] 秒數。
    狀況不良臨界值 選取 [2] 作為 [狀況不良閾值] 的數值,或將 VM 視為狀況不良之前,必須達到的連續探查失敗次數。
  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. 在 [Private Link 中心] 下的 [概觀] 中,選取藍色 [建立私人連結服務] 按鈕。

  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,建立多個後端伺服器 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 使用者介面。

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

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

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

  6. 輸入私人端點的名稱,然後在私人連結服務清單中,選取 [myPrivateLinkService]。

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

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

    注意

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

    注意

    SQL 連線屬性目前不支援 ApplicationIntent 和 MultiSubnetFailover。

  8. 建立私人端點。

建立連結服務並測試連線

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

  2. 在 [連結服務] 下,選取 [+ 新增]。

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

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

  4. 啟用 [互動式製作]

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

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

  6. 然後,按一下 [測試連線]

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

    注意

    如果您有多個 SQL Server,且必須定義多個負載平衡器和不同連接埠的 IP 資料表資料列,在編輯連結服務時,請務必在 FQDN 後方明確新增連接埠名稱。 NAT VM 會處理連接埠轉譯。 如果未明確指定,連線一律會逾時。

疑難排解

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

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