教學課程:使用 Azure 入口網站透過 Azure 私人端點連線至 Azure SQL 伺服器
Azure 私人端點是 Azure 中私人連結的基本建置組塊。 其可讓虛擬機器 (VM) 這類 Azure 資源私下且安全地與 Azure SQL 伺服器這類 Private Link 資源進行通訊。
在本教學課程中,您會了解如何:
- 建立虛擬網路和堡壘主機。
- 建立虛擬機器。
- 建立 Azure SQL 伺服器和私人端點。
- 測試 SQL 伺服器私人端點的連線能力。
如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
必要條件
- Azure 訂閱
登入 Azure
登入 Azure 入口網站。
建立虛擬網路和 Azure Bastion 主機
下列程序會建立具有資源子網路、Azure Bastion 子網路和 Bastion 主機的虛擬網路:
在入口網站中,搜尋並選取 [虛擬網路]。
在 [虛擬網路] 頁面上,選取 [+ 建立]。
在 [建立虛擬網路] 的 [基本] 索引標籤上,輸入或選取下列資訊:
設定 值 專案詳細資料 訂用帳戶 選取您的訂用帳戶。 資源群組 選取 [新建]
輸入 test-rg 作為名稱。
選取 [確定]。[執行個體詳細資料] 名稱 輸入 vnet-1。 區域 選取 [美國東部 2]。 選取 [下一步],繼續前往 [安全性] 索引標籤。
在 [Azure Bastion] 區段中,選取 [啟用 Azure Bastion]。
Bastion 會使用您的瀏覽器,透過安全殼層 (SSH) 或遠端桌面通訊協定 (RDP) 連線至虛擬網路中的 VM (使用其私人 IP 位址)。 VM 不需要公用 IP 位址、用戶端軟體或特殊設定。 如需詳細資訊,請參閱什麼是 Azure Bastion?。
在 Azure Bastion 中,輸入或選取下列資訊:
設定 值 Azure Bastion 主機名稱 輸入 bastion。 Azure Bastion 公用 IP 位址 選取 [建立公用 IP 位址]。
在 [名稱] 中輸入 public-ip-bastion。
選取 [確定]。選取 [下一步],繼續前往 [IP 位址] 索引標籤。
在 [子網路] 的 [位址空間] 方塊中,選取 [預設] 子網路。
在 [編輯子網路] 中,輸入或選取下列資訊:
設定 值 子網路用途 保留 Default 的預設值。 名稱 輸入 subnet-1。 IPv4 IPv4 位址範圍 保留 10.0.0.0/16 的預設值。 起始位址 保留預設值 [10.0.0.0]。 大小 保留 /24 (256 個位址) 的預設值。 選取 [儲存]。
選取視窗底部的 [檢閱 + 建立]。 通過驗證後,選取 [建立]。
建立測試虛擬機器
下列程序會在虛擬網路中建立名為 vm-1 的測試虛擬機器 (VM)。
在入口網站中,搜尋並選取 [虛擬機器]。
在 [虛擬機器] 中,選取 [+ 建立],然後選取 [Azure 虛擬機器]。
在 [建立虛擬機器] 的 [基本] 索引標籤上,輸入或選取下列資訊:
設定 值 專案詳細資料 訂用帳戶 選取您的訂用帳戶。 資源群組 選取 [test-rg]。 [執行個體詳細資料] 虛擬機器名稱 輸入 vm-1。 區域 選取 [美國東部 2]。 可用性選項 選取 [不需要基礎結構備援]。 安全性類型 保留預設值 [標準]。 映像 選取 [Ubuntu Server 22.04 LTS - x64 Gen2]。 VM 架構 保留預設值 [x64]。 大小 選取大小。 系統管理員帳戶 驗證類型 選取 [密碼]。 使用者名稱 輸入 azureuser。 密碼 輸入密碼。 確認密碼 請重新輸入密碼。 輸入連接埠規則 公用輸入連接埠 選取 [無]。 選取頁面頂端的 [網路] 索引標籤。
在 [網路] 索引標籤中,輸入或選取以下資訊:
設定 值 網路介面 虛擬網路 選取 [vnet-1]。 子網路 選取 [subnet-1 (10.0.0.0/24)]。 公用 IP 選取 [無]。 NIC 網路安全性群組 選取進階。 設定網路安全性群組 選取 [新建]
輸入 nsg-1 作為名稱。
將其餘項目保留為預設值,然後選取 [確定]。將其餘設定保留為預設值,然後選取 [檢閱 + 建立]。
檢閱設定並選取 [建立]。
注意
虛擬網路中的虛擬機器 (具有 Bastion 主機) 不需要公用 IP 位址。 Bastion 會提供公用 IP,而 VM 會使用私人 IP 在網路內通訊。 您可以從裝載了 Bastion 的虛擬網路中,移除任何 VM 的公用 IP。 如需詳細資訊,請參閱中斷公用 IP 位址與 Azure VM 的關聯。
注意
無論是未獲指派公用 IP 位址的 VM,或位於內部基本 Azure 負載平衡器後端集區的 VM,Azure 都會為其提供預設輸出存取 IP。 預設輸出存取 IP 機制能提供無法自行設定的輸出 IP 位址。
發生下列其中一個事件時,會停用預設輸出存取 IP:
- 公用 IP 位址會指派給 VM。
- 無論有沒有輸出規則,都會將 VM 放在標準負載平衡器的後端集區中。
- Azure NAT 閘道資源會指派給 VM 的子網路。
您在彈性協調流程模式中使用虛擬機器擴展集建立的 VM 沒有預設輸出存取。
如需 Azure 中輸出連線的詳細資訊,請參閱 Azure 的預設輸出存取與針對輸出連線,使用來源網路位址轉譯 (SNAT)。
建立 Azure SQL 伺服器和私人端點
在本節中,您會在 Azure 中建立 SQL 伺服器。
在入口網站頂端的搜尋方塊中,輸入 SQL。 在搜尋結果中,選取 [SQL 資料庫]。
在 [SQL 資料庫] 中,選取 [+ 建立]。
在 [建立 SQL Database] 的 [基本] 索引標籤中,輸入或選取下列資訊:
設定 值 專案詳細資料 訂用帳戶 選取您的訂用帳戶。 資源群組 選取 [test-rg]。 [資料庫詳細資料] 資料庫名稱 輸入 sql-db。 伺服器 選取 [新建]
在 [伺服器名稱] 中,輸入 sql-server-1 (伺服器名稱必須是唯一的,請將 sql-server-1 取代為唯一值)。
在 [位置] 中,選取 [(美國) 美國東部 2]。
選取 [使用 SQL 驗證]。
輸入伺服器管理員登入和密碼。
選取 [確定]。想使用 SQL 彈性集區嗎? 選取 否。 工作負載環境 保留預設值 [Production]。 [備份儲存體備援] [備份儲存體備援] 選取 [本地備援備份儲存體]。 選取 [下一步:網路]。
在 [建立 SQL Database] 的 [網路] 索引標籤中,輸入或選取下列資訊:
設定 值 網路連線 連線方法 選取 [私人端點]。 私人端點 選取 [+ 新增私人端點]。 建立私人端點 訂用帳戶 選取您的訂用帳戶。 資源群組 選取 [test-rg]。 Location 選取 [美國東部 2]。 名稱 輸入 private-endpoint-sql。 目標子資源 選取 SqlServer。 網路功能 虛擬網路 選取 [vnet-1]。 子網路 選取 [subnet-1]。 私人 DNS 整合 與私人 DNS 區域整合 選取 [是]。 私人 DNS 區域 保留預設值 [privatelink.database.windows.net]。 選取 [確定]。
選取 [檢閱 + 建立]。
選取 [建立]。
重要
當您新增私人端點連線時,預設不會封鎖 Azure SQL 伺服器的公用路由。 [防火牆與虛擬網路] 刀鋒視窗下的 [拒絕公用網路存取] 設定預設為未核取。 若要停用公用網路存取,請確定已核取此選項。
停用 Azure SQL 邏輯伺服器的公用存取
在此案例中,假設您想要停用 Azure SQL 伺服器的所有公用存取,並只允許來自您虛擬網路的連線。
在入口網站頂端的搜尋方塊中,輸入 SQL 伺服器。 在搜尋結果中,選取 [SQL 資料庫]。
選取 [sql-server-1]。
在 [安全性] 中,選取 [網络] 索引標籤,然後選取 [停用] 進行公用網络存取。
選取儲存。
測試對私人端點的連線能力
在本節中,您會使用在上一個步驟中建立的虛擬機器,連線至私人端點上的 SQL 伺服器。
在入口網站頂端的搜尋方塊中,輸入虛擬機器。 在搜尋結果中,選取 [虛擬機器]。
選取 [vm-1]。
在 [作業] 中,選取 [Bastion]。
輸入虛擬機器的使用者名稱和密碼。
選取 Connect。
若要驗證私人端點的名稱解析,請在終端機視窗中輸入下列命令:
nslookup server-name.database.windows.net
您會收到類似以下範例的訊息。 傳回的 IP 位址是私人端點的私人 IP 位址。
Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: sql-server-8675.database.windows.netcanonical name = sql-server-8675.privatelink.database.windows.net. Name:sql-server-8675.privatelink.database.windows.net Address: 10.1.0.4
從在 Linux 上安裝 SQL Server 命令列工具 sqlcmd 和 bcp 安裝 SQL Server 命令行工具。 安裝完成後,繼續進行後續步驟。
使用下列命令連線到您在先前步驟中建立的 SQL 伺服器。
以您在 SQL 伺服器建立期間輸入的管理員使用者名稱取代 <server-admin>。
以您在 SQL 伺服器建立期間輸入的管理員密碼取代 <admin-password>。
以 SQL 伺服器的名稱取代 sql-server-1。
sqlcmd -S server-name.database.windows.net -U '<server-admin>' -P '<admin-password>'
成功登入時,會顯示 SQL 命令提示字元。 輸入 exit 以結束 sqlcmd 工具。
使用完所建立的資源時,您可以刪除資源群組及其所有資源。
在 Azure 入口網站中,搜尋並選取 [資源群組]。
在 [資源群組] 頁面上,選取 [test-rg] 資源群組。
在 [test-rg] 頁面上,選取 [刪除資源群組]。
在 [輸入資源群組名稱以確認刪除] 中輸入 test-rg,然後選取 [刪除]。
下一步
在本教學課程中,您已了解如何建立:
建立虛擬網路和堡壘主機。
虛擬機器。
具有私人端點的 Azure SQL 伺服器。
您已使用虛擬機器在私人端點上私下且安全地測試與 SQL 伺服器的連線。
下一個步驟中,您可能也會想了解與 Azure SQL Database 之間具有私人連線能力的 Web 應用程式架構案例,可將虛擬網路外部的 Web 應用程式連線到資料庫的私人端點。