Share via


使用適用於 MySQL 的 Azure 資料庫 - 彈性伺服器的虛擬網路整合進行私人網路存取

適用於:適用於 MySQL 的 Azure 資料庫 - 彈性伺服器

本文描述適用於 MySQL 的 Azure 資料庫彈性伺服器的私人連線選項。 您將深入了解適用於 MySQL 的 Azure 資料庫彈性伺服器的虛擬網路概念,以在 Azure 中安全地建立伺服器。

私人存取 (虛擬網路整合)

Azure 虛擬網路是 Azure 中私人網路的基礎。 虛擬網路與適用於 MySQL 的 Azure 資料庫彈性伺服器的整合,可帶來 Azure 針對網路安全性和隔離的優點。

適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體的虛擬網路整合,可讓您將伺服器的存取權鎖定為僅限於您的虛擬網路基礎結構。 您的虛擬網路可以包含單一虛擬網路中的所有應用程式和資料庫資源,也可以延伸至相同區域或不同區域中的不同虛擬網路。 您可以透過對等互連建立各種虛擬網路之間的順暢連線,其會使用 Microsoft 的低延遲、高頻寬私人骨幹基礎結構。 基於連線目的,虛擬網路會顯示為一個。

適用於 MySQL 的 Azure 資料庫彈性伺服器支援下列來源的用戶端連線:

  • 相同 Azure 區域內的虛擬網路 (本機對等互連的虛擬網路)
  • 跨 Azure 區域的虛擬網路 (全域對等互連的虛擬網路)

子網路可讓您將虛擬網路分成一或多個子網路,並將虛擬網路位址空間的一部分配置給您要在其中部署 Azure 資源的位置。 適用於 MySQL 的 Azure 資料庫彈性伺服器需要委派的子網路。 委派的子網路是一個明確識別碼,其子網路只能裝載適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體。 藉由委派子網路,服務會取得直接權限可建立服務特定資源,以順暢地管理適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體。

注意

您可以為子網路指定用來裝載適用於 MySQL 的 Azure 資料庫彈性伺服器的最小 CIDR 範圍是 /29,其可提供八個 IP 位址。 不過,任何網路或子網路中的第一個和最後一個位址都無法指派給任何個別主機。 Azure 會保留五個 IP 位址供 Azure 網路內部使用,包括無法指派給主機的該兩個 IP 位址。 這會針對 /29 CIDR 範圍保留三個可用 IP 位址。 針對適用於 MySQL 的 Azure 資料庫彈性伺服器,啟用私人存取時,必須從委派子網路為每個節點配置一個 IP 位址。 已啟用 HA 的伺服器需要兩個 IP 位址,且非 HA 伺服器需要一個 IP 位址。 建議為每個適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體保留至少兩個 IP 位址,因為稍後可以啟用高可用性選項。 適用於 MySQL 的 Azure 資料庫彈性伺服器與 Azure 私人 DNS 區域整合,以提供可靠、安全的 DNS 服務,以便在虛擬網路內管理並解析網域名稱,而不需要新增自訂 DNS 解決方案。 藉由建立虛擬網路連結,您可以將私人 DNS 區域連結至一或多個虛擬網路

Flexible server MySQL VNET

在上圖中,

  1. 適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體會插入至委派子網路 - 虛擬網路 VNet-1 的10.0.1.0/24。
  2. 部署在相同虛擬網路內不同子網路上的應用程式,可以直接存取適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體。
  3. 部署在不同的虛擬網路 VNet-2 上的應用程式,無法直接存取適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體。 您必須先執行私人 DNS 區域虛擬網路對等互連,它們才能存取執行個體。

虛擬網路概念

以下是使用虛擬網路搭配適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體時要熟悉的一些概念。

  • 虛擬網路 -

    Azure 虛擬網路包含已設定供您使用的私人 IP 位址空間。 若要深入了解 Azure 虛擬網路,請前往 Azure 虛擬網路概觀

    您的虛擬網路必須位於與適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體相同的 Azure 區域中。

  • 委派的子網路 -

    虛擬網路包含子網路。 子網路可讓您將虛擬網路分割成較小的位址空間。 Azure 資源會部署到虛擬網路內的特定子網路。

    您的適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體必須位於僅委派適用於 MySQL 的 Azure 資料庫彈性伺服器的子網路中。 此委派表示只有適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體可以使用該子網路。 委派的子網路中不可以有其他 Azure 資源類型。 您可以將子網路的委派屬性指派為 Microsoft.DBforMySQL/flexibleServers 來委派子網路。

  • 網路安全性群組 (NSG)

    網路安全性群組中的安全性規則能讓您篩選可在虛擬網路子網路及網路介面中流入和流出的網路流量類型。 如需詳細資訊,請檢閱網路安全性群組概觀

  • 私人 DNS 區域整合

    Azure 私人 DNS 區域整合可讓您解析目前虛擬網路內的私人 DNS,或任何連結私人 DNS 區域的區域對等互連虛擬網路。

  • 虛擬網路對等互連

    虛擬網路對等互連可讓您順暢地連線 Azure 中的兩個或更多虛擬網路。 對等互連後的虛擬網路就可以作為一個整體來進行連線。 對等互連虛擬網路中虛擬機器之間的流量會使用 Microsoft 骨幹基礎結構。 用戶端應用程式與對等互連虛擬網路中適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體之間的流量,只會透過 Microsoft 的私人網路由,並隔離至該網路。

使用私人 DNS 區域

  • 如果您使用 Azure 入口網站或 Azure CLI 來建立具有虛擬網路的適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體,則會使用所提供的伺服器名稱,在您的訂用帳戶中自動佈建結尾為 mysql.database.azure.com 的新私人 DNS 區域。 或者,如果您想要使用適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體設定自己的私人 DNS 區域,請參閱私人 DNS 概觀文件。

  • 如果您使用 Azure API、Azure Resource Manager 範本 (ARM 範本) 或 Terraform,請建立結尾為 mysql.database.azure.com 的私人 DNS 區域,並在設定具有私人存取的適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體時使用這些區域。 如需詳細資訊,請參閱私人 DNS 區域概觀

    重要

    私人 DNS 區域名稱的結尾必須是 mysql.database.azure.com。 如果您要使用 SSL 連線到適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體,並使用選項來執行憑證主體名稱的完整驗證 (sslmode=VERIFY_IDENTITY),請在連接字串中使用 <servername>.mysql.database.azure.com。

了解如何在 Azure 入口網站Azure CLI 中建立具有私人存取 (虛擬網路整合) 的適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體。

與自訂 DNS 伺服器整合

如果您使用自訂 DNS 伺服器,則必須使用 DNS 轉寄站來解析適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體的 FQDN。 轉寄站 IP 位址應為 168.63.129.16。 自訂 DNS 伺服器應位於虛擬網路內部,或可透過虛擬網路的 DNS 伺服器設定連線。 若要深入了解,請參閱使用 DNS 伺服器的名稱解析

重要

若要成功佈建適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體,即使您使用自訂 DNS 伺服器,也不能使用 NSG 封鎖對 AzurePlatformDNS 的 DNS 流量

私人 DNS 區域和虛擬網路對等互連

私人 DNS 區域設定和虛擬網路對等互連彼此各自獨立。 如需建立和使用私人 DNS 區域的詳細資訊,請參閱使用私人 DNS 區域一節。

如果您想要從另一個虛擬網路中佈建的用戶端連線到適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體 (從相同區域或不同的區域),您必須將私人 DNS 區域與虛擬網路連結。 請參閱如何連結虛擬網路文件。

注意

只能連結以 mysql.database.azure.com 結尾的私人 DNS 區域名稱。

使用 ExpressRoute 或 VPN 從內部部署伺服器連線到虛擬網路中適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體

針對需要從內部部署網路存取虛擬網路中適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體的工作負載,您需要連線到內部部署ExpressRouteVPN 和虛擬網路。 有了此設定,如果您想要從在內部部署虛擬網路上執行的用戶端應用程式 (例如 MySQL Workbench) 連線,您需要 DNS 轉寄站來解析適用於 MySQL 的 Azure 資料庫彈性伺服器名稱。 此 DNS 轉寄站負責透過伺服器層級轉寄站,將所有 DNS 查詢解析到 Azure 提供的 DNS 服務 168.63.129.16

若要正確設定,您需要下列資源:

  • 內部部署網路。
  • 佈建私人存取的適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體 (虛擬網路整合)。
  • 連線到內部部署的虛擬網路。
  • 在 Azure 中部署 DNS 轉寄站168.63.129.16

然後,您可以使用適用於 MySQL 的 Azure 資料庫彈性伺服器 servername (FQDN) 從對等互連虛擬網路或內部部署網路中的用戶端應用程式連線到適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體。

注意

建議您在連線到適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體時,在連接字串中使用完整網域名稱 (FQDN) <servername>.mysql.database.azure.com。 伺服器的 IP 位址不保證保持靜態。 使用 FQDN 可協助您避免變更連接字串。

不支援的虛擬網路案例

  • 公用端點 (或公用 IP 或 DNS) - 部署至虛擬網路的適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體不能有公用端點。
  • 將適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體部署至虛擬網路和子網路之後,就無法將其移至另一個虛擬網路或子網路。 您無法將虛擬網路移至另一個資源群組或訂用帳戶。
  • 部署之後,就無法變更私人 DNS 整合設定。
  • 在子網路中有資源存在之後,就無法增加子網路大小 (位址空間)。

下一步