教學課程:如何使用私人端點從 Data Factory 管理的 VNet 存取 SQL 受控執行個體

重要

SQL 受控執行個體現在具有私人端點的原生支援。 建議您不要在本文件中實作解決方案,而是直接建立 SQL 受控執行個體資源的私人端點,如受控私人端點中所述

本教學課程提供使用 Azure 入口網站來設定 Private Link 服務,和使用私人端點從受控 VNET 存取 SQL 受控執行個體的步驟。

Screenshot that shows the access model of SQL MI.

注意

使用此解決方案連線到 Azure SQL Database 受控執行個體時,不支援「重新導向」連線原則,您必須切換至「Proxy」 模式。

必要條件

  • Azure 訂用帳戶。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶
  • 虛擬網路。 如果您沒有虛擬網路,請遵循建立虛擬網路建立一個。
  • 虛擬網路到內部部署網路。 使用 ExpressRouteVPN 建立虛擬網路與內部部署網路間的連線。
  • 已啟用受控 VNet 的 Data Factory。 如果您沒有 Data Factory 或受控 VNet 未啟用,請依照使用受控 VNet 建立 Data Factory 的指示建立一個。

建立資源的子網路

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

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

Screenshot that shows the subnets.

建立標準負載平衡器

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

  1. 在入口網站頂端的搜尋列中,從搜尋窗格的 [服務] 區段中搜尋並選取 [負載平衡器]

  2. 在 [負載平衡服務] 頁面上選取 [建立],以建立新的負載平衡器。

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

    設定
    訂用帳戶 選取您的訂用帳戶。
    資源群組 選取您的資源群組。
    名稱 輸入 myLoadBalancer
    區域 選取 [美國東部]
    SKU 選取 [標準]。
    類型 選取 [內部]。
  4. 在 [建立負載平衡器] 頁面的 [前端 IP 設定] 索引標籤上,選取 [新增前端 IP設定],然後在 [新增前端 IP 位址] 設定窗格上輸入或選取下列詳細資料:

    設定
    前端 IP 名稱 輸入前端 IP 位址的名稱
    虛擬網路 選取您的虛擬網路。
    子網路 選取上一個步驟中建立的 [fe-subnet]。
    IP 位址指派 選取 [動態]
    可用性區域 選取 [區域備援]
  5. 接受其餘設定的預設值,然後選取 [檢閱 + 建立]

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

建立負載平衡器資源

建立後端集區

後端位址集區會包含已連線至負載平衡器之虛擬 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 18.04LTS - Gen1]
    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。

    注意

    此指令碼只會暫時設定 IP 轉送。 若要讓此設定為永久,請確定檔案 /etc/sysctl.conf 中取消註解 "net.ipv4.ip_forward=1" 行

  2. 使用下列選項執行指令碼:
    sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
    <FQDN/IP> 是您 SQL 受控執行個體的主機。

    Screenshot that shows SQL MI host.

  3. 執行下列命令,並檢查後端伺服器 VM 中的 iptable。 您可以使用目標 IP 查看 iptable 其中一個資料列。
    sudo iptables -t nat -v -L PREROUTING -n --line-number

    Screenshot that shows the command record.

    注意

    注意:如果您有多個 SQL MI 或其他資料來源,則必須使用不同的連接埠來定義多個負載平衡器規則和 IP 資料表記錄。 否則,會發生一些衝突。 例如,

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

    注意

    每次重新啟動負載平衡器後方的 VM 時,都應再次執行指令碼。

  1. 在左側功能表中,選取 [所有服務]、選取 [所有資源],然後從資源清單選取您的資料處理站。

  2. 選取 [編寫與監視],以在個別索引標籤中啟動 Data Factory 使用者介面。

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

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

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

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

  7. 新增目標 SQL 受控執行個體的 FQDN。

    Screenshot that shows SQL MI host.

    Screenshot that shows the private endpoint settings.

  8. 建立私人端點。

建立連結服務並測試連線

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

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

  3. 從清單中選取 [Azure SQL Database 受控執行個體] 圖格,然後選取 [繼續]

    Screenshot that shows the linked service creation page.

  4. 啟用 [互動式製作]

    Screenshot that shows how to enable Interactive Authoring.

  5. 輸入 SQL 受控執行個體的主機使用者名稱密碼

    注意

    請手動輸入 SQL 受控執行個體主機。 否則,這就不是選取清單中的完整網域名稱。

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

    Screenshot that shows the SQL MI linked service creation page.

前往下列教學課程,了解如何使用私人端點從 Data Factory 管理的 VNet 存取內部部署 SQL Server: