本教學課程提供使用 Azure 入口網站 來設定 Private Link 服務,並使用私人端點從受控虛擬網路存取內部部署 SQL Server 的步驟。 使用受控虛擬網路可確保來自內部部署 SQL 來源的流量都會通過您自己的私人端點,藉此透過額外的安全性和隔離層來保護公開至公用雲端的安全。 以下是支援案例的必要資源。
注意
本文提供的解決方案說明 SQL Server 連線能力,但您可以使用類似的方法,連線並查詢 Azure Data Factory 支援的其他可用內部部署連接器。
必要條件
- Azure 訂用帳戶。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
- 虛擬網路。 如果您沒有虛擬網路,請遵循建立虛擬網路建立一個。
- 虛擬網路到內部部署網路。 使用 ExpressRoute 或 VPN 建立虛擬網路與內部部署網路間的連線。 如果您想要在專用網中使用雲端虛擬機,也可以這麼做。 只要為您的雲端虛擬機建立虛擬網路和 虛擬網路 的私人連結,您就可以存取它們,就好像它們是您專用網中的內部部署機器一樣,即使它們裝載於雲端中也一樣。
- 已啟用 Data Factory 的受控 VNet。 如果您未啟用 Data Factory 或受控 VNet,請遵循使用受控 VNet 建立 Data Factory 建立一個。
建立資源的子網路
使用入口網站在您的虛擬網路中建立子網路。
子網路 | 描述 |
---|---|
be-subnet | 後端伺服器的子網路 |
fe-subnet | 標準內部負載平衡器的子網路 |
pls-subnet | Private Link 服務的子網路 |
建立標準負載平衡器
使用入口網站建立標準內部負載平衡器。
在畫面的左上方,選取 [建立資源] > [網路] > [負載平衡器]。
在 [建立負載平衡器] 頁面的 [基本] 索引標籤中,輸入或選取下列資訊:
設定 值 訂用帳戶 選取您的訂用帳戶。 資源群組 選取您的資源群組。 名稱 輸入 myLoadBalancer。 區域 選取 [美國東部]。 類型 選取 [內部]。 SKU 選取 [標準]。 虛擬網路 選取您的虛擬網路。 子網路 選取上一個步驟中建立的 [fe-subnet]。 IP 位址指派 選取 [動態]。 可用性區域 選取 [區域備援]。 接受其餘設定的預設值,然後選取 [檢閱 + 建立]。
在 [檢閱 + 建立] 索引標籤中,選取 [建立]。
建立負載平衡器資源
建立後端集區
後端位址集區會包含已連線至負載平衡器之虛擬 NIC 的 IP 位址。
建立後端位址集區 myBackendPool,以包含用於平衡網際網路流量負載的虛擬機器。
- 選取左側功能表中的 [所有服務]、選取 [所有資源],然後從資源清單中選取 myLoadBalancer。
- 在 [設定] 底下選取 [後端集區],然後選取 [新增]。
- 在 [新增後端集區] 頁面上,針對名稱輸入 myBackEndPool 作為後端集區的名稱,然後選取 [新增]。
建立健康狀態探查
負載平衡器會使用健康狀態探查來監視應用程式的狀態。
健康狀態探查會根據 VM 對健康情況檢查的回應,從負載平衡器中新增或移除 VM。
建立名為 myHealthProbe 的健康狀態探查,以監視 VM 的健康狀態。
選取左側功能表中的 [所有服務]、選取 [所有資源],然後從資源清單中選取 myLoadBalancer。
在 [設定] 底下選取 [健康狀態探查],然後選取 [新增]。
設定 值 名稱 輸入 myHealthProbe。 通訊協定 選取 [TCP]。 連接埠 輸入 22。 間隔 輸入 15 作為探查嘗試之間的 [間隔] 秒數。 狀況不良臨界值 選取 [2] 作為 [狀況不良閾值] 的數值,或將 VM 視為狀況不良之前,必須達到的連續探查失敗次數。 保留其餘的預設值,然後選取 [確定]。
建立負載平衡器規則
負載平衡器規則會用來定義如何將流量分散至 VM。 您會定義連入流量的前端 IP 設定和接收流量的後端 IP 集區。 規則中定義來源和目的地連接埠。
在本節中,您將建立負載平衡器規則:
選取左側功能表中的 [所有服務]、選取 [所有資源],然後從資源清單中選取 myLoadBalancer。
在 [設定] 下選取 [負載平衡規則],然後選取 [新增]。
使用下列值來設定負載平衡規則:
設定 值 名稱 輸入 myRule。 IP 版本 選取 [IPv4]。 前端 IP 位址 選取 [LoadBalancerFrontEnd]。 通訊協定 選取 [TCP]。 連接埠 輸入 1433。 後端連接埠 輸入 1433。 後端集區 選取 [myBackendPool]。 健康狀態探查 選取 [myHealthProbe]。 閒置逾時 (分鐘) 將滑桿移至 15 分鐘。 TCP 重設 選取 [已停用]。 保留其餘的預設值,然後選取 [確定]。
建立私人連結服務
在本節中,您將建立標準負載平衡器後方的 Private Link 服務。
在 Azure 入口網站頁面的左上角,選取 [建立資源]。
在 [搜尋 Marketplace] 方塊中搜尋 Private Link。
選取 建立。
在 [Private Link 中心] 下的 [概觀] 中,選取藍色 [建立私人連結服務] 按鈕。
在 [建立私人連結服務] 下的 [基本] 索引標籤中,輸入或選取下列資訊:
設定 值 專案詳細資料 訂用帳戶 選取您的訂用帳戶。 資源群組 選取您的資源群組。 [執行個體詳細資料] 名稱 輸入 myPrivateLinkService。 區域 選取 [美國東部]。 選取 [輸出設定] 索引標籤,或選取頁面底部的 [下一步: 輸出設定] 按鈕。
在 [輸出設定] 索引標籤中,輸入或選取以下資訊:
設定 值 負載平衡器 選取 [myLoadBalancer]。 負載平衡器前端 IP 位址 選取 [LoadBalancerFrontEnd]。 來源 NAT 子網路 選取 [pls-subnet]。 啟用 TCP Proxy V2 保留預設值 [否]。 私人 IP 位址設定 保留預設設定。 選取 [存取安全性] 索引標籤,或選取頁面底部的 [下一步: 存取安全性] 按鈕。
在 [存取安全性] 索引標籤中,保留 [僅角色型存取控制] 預設值。
選取 [標籤] 索引標籤,或選取頁面底部的 [下一步: 標籤]。
選取 [檢閱 + 建立] 索引標籤,或在頁面底部選取 [下一步: 檢閱 + 建立]。
在 [檢閱 + 建立] 索引標籤中,選取 [建立]。
建立後端伺服器
在入口網站的左上方,選取 [建立資源] > [計算] > [虛擬機器]。
在 [建立虛擬機器] 中,輸入或選取 [基本資訊] 索引標籤中的值:
設定 值 專案詳細資料 訂用帳戶 選取 Azure 訂閱。 資源群組 選取您的資源群組。 [執行個體詳細資料] 虛擬機器名稱 輸入 myVM1。 區域 選取 [美國東部]。 可用性選項 選取 [可用性區域]。 可用性區域 選取 [1]。 映像 選取 [Ubuntu Server 22.04 LTS]。 Azure Spot 執行個體 選取 否。 大小 選擇 VM 大小或接受預設設定。 系統管理員帳戶 使用者名稱 輸入使用者名稱。 SSH 公開金鑰來源 產生新的金鑰組。 金鑰組名稱 mySSHKey。 輸入連接埠規則 公用輸入連接埠 無 選取 [網路] 索引標籤,或選取 [下一步: 磁碟],然後選取 [下一步: 網路]。
在 [網路功能] 索引標籤中,選取或輸入:
設定 值 網路介面 虛擬網路 選取您的虛擬網路。 子網路 be-subnet。 公用 IP 選取 [無]。 NIC 網路安全性群組 選取 [無]。 負載平衡 要將此虛擬機器放在現有負載平衡解決方案後面嗎? 選取 [是]。 負載平衡設定 負載平衡選項 選取 [Azure 負載平衡]。 選取負載平衡器 選取 [myLoadBalancer]。 選取後端集區 選取 [myBackendPool]。 選取 [檢閱 + 建立]。
檢閱設定,然後選取 [建立]。
您可以重複步驟 1 到 6,建立多個後端伺服器 VM 實現高可用性。
建立端點的轉送規則
在登入後將指令碼 ip_fwd.sh 複製到後端伺服器 VM。
使用下列選項執行指令碼:
sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
設定預留位置
<FQDN/IP>
是您的目標 SQL Server IP。注意
除非您在 Azure DNS 區域中新增資料列,否則 FQDN 不適用於內部部署 SQL Server。
執行下列命令,並檢查後端伺服器 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 重新啟動時,此設定將需要重新設定。
建立 Private Link 服務的私人端點
在左側功能表中,選取 [所有服務]、選取 [所有資源],然後從資源清單選取您的資料處理站。
選取 [編寫與監視],以在個別索引標籤中啟動 Data Factory 使用者介面。
移至 [管理] 索引標籤,然後移至 [受控私人端點] 區段。
在 [受控私人端點] 下,選取 [+ 新增]。
從清單選取 [Private Link 服務] 圖格,然後選取 [繼續]。
輸入私人端點的名稱,然後在私人連結服務清單中,選取 [myPrivateLinkService]。
新增目標內部部署 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。
建立私人端點。
建立連結服務並測試連線
移至 [管理] 索引標籤,然後移至 [連結服務] 區段。
在 [連結服務] 下,選取 [+ 新增]。
從清單選取 [SQL Server] 圖格,然後選取 [繼續]。
啟用 [互動式製作]。
輸入內部部署 SQL Server 的 FQDN、使用者名稱和密碼。
然後,按一下 [測試連線]。
注意
如果您有多個 SQL Server,且必須定義多個負載平衡器和不同連接埠的 IP 資料表資料列,在編輯連結服務時,請務必在 FQDN 後方明確新增連接埠名稱。 NAT VM 會處理連接埠轉譯。 如果未明確指定,連線一律會逾時。
疑難排解
移至後端伺服器 VM,確認 SQL Server 的 telnet 正常運作:telnet <FQDN> 1433。
相關內容
前往下列教學課程,了解如何使用私人端點從 Data Factory 受控 VNet 存取 Microsoft Azure SQL 受控執行個體: