共用方式為


適用於 MySQL 的 Azure 資料庫彈性伺服器的連線和網路概念

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

本文介紹控制適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體的連線能力概念。 您將了解適用於 MySQL 的 Azure 資料庫彈性伺服器的網路概念,以在 Azure 中安全地建立並存取伺服器。

適用於 MySQL 的 Azure 資料庫彈性伺服器支援三種方式來設定伺服器的連線能力:

  • 公用存取 您的彈性伺服器會透過公用端點存取。 公用端點是可公開解析的 DNS 位址。 「允許的 IP 位址」一詞指的是您選擇授與伺服器存取權的 IP 範圍。 這些權限稱為防火牆規則

  • 私人端點 您可使用私人端點,以允許虛擬網路 VNet 上的主機透過 Private Link 安全地存取資料。

  • 私人存取 (VNet 整合) 您可以將彈性伺服器部署至 Azure 虛擬網路。 Azure 虛擬網路提供私人且安全的網路通訊。 這可讓虛擬網路中的資源透過私人 IP 位址通訊。

注意

經由公用或私人存取 (透過 VNet 整合) 部署伺服器之後,便無法修改連線模式。 但在公用存取模式中,您可以視需要啟用或停用私人端點,並視需要停用公用存取。

選擇網路選項

如果您想要下列功能,請選擇 [公用存取 (允許的 IP 位址) 和私人端點] 方法:

  • 在沒有虛擬網路支援的情況下從 Azure 資源進行連線
  • 透過未由 VPN 或 ExpressRoute 連線的 Azure 外部資源連線
  • 彈性伺服器可透過公用端點存取,並可透過授權的網際網路資源存取。 公用存取可視需要停用。
  • 能夠設定私人端點,以從虛擬網路 (VNet) 上的主機存取伺服器

如果您想使用下列功能,請選擇 [私人存取 (VNet 整合)]

  • 從相同虛擬網路或對等互連虛擬網路內的 Azure 資源連線到您的彈性伺服器,而不需要設定私人端點
  • 使用 VPN 或 ExpressRoute 從非 Azure 資源連線到您的彈性伺服器
  • 沒有公用端點

無論您選擇使用私人存取或公用存取選項,都適用下列特性:

  • 來自允許的 IP 位址的連線需要使用有效的認證向適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體進行驗證
  • 您的網路流量適用連線加密
  • 伺服器具有完整網域名稱 (fqdn)。 對於連接字串中的 hostname 屬性,建議使用 fqdn 而不是 IP 位址。
  • 這兩個選項都會控制伺服器層級的存取,而不是資料庫層級或資料表層級。 您可使用 MySQL 的角色屬性來控制資料庫、資料表及其他物件存取。

不支援的虛擬網路案例

  • 公用端點 (或公用 IP 或 DNS) - 部署至虛擬網路的彈性伺服器不能有公用端點。
  • 將彈性伺服器部署到虛擬網路和子網路之後,您就無法將其移到另一個虛擬網路或子網路。
  • 部署彈性伺服器之後,您無法將彈性伺服器使用的虛擬網路移至另一個資源群組或訂用帳戶。
  • 一旦子網路中有資源存在,即無法增加子網路大小 (位址空間)。
  • 伺服器建立後,便不允許從「公用」變更為「私人」存取。 建議的方法是使用時間點還原。

注意

如果您正在使用自訂 DNS 伺服器,則必須使用 DNS 轉寄站來解析適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體的 FQDN。 若要深入了解,請參閱使用 DNS 伺服器的名稱解析

主機名稱

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

使用 FQDN 作為主機名的範例是 hostname = servername.mysql.database.azure.com。 可能的話,避免使用 hostname = 10.0.0.4 (a private address) or hostname = 40.2.45.67 (公用位址)。

TLS 和 SSL

適用於 MySQL 的 Azure 資料庫彈性伺服器支援使用安全通訊端層 (SSL) 搭配傳輸層安全性 (TLS) 加密,將用戶端應用程式連線到適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體。 TLS 是一種業界標準的通訊協定,可確保您的資料庫伺服器與用戶端應用程式之間有加密的網路連線,讓您可以遵守合規性的要求。

適用於 MySQL 的 Azure 資料庫彈性伺服器預設支援使用傳輸層安全性 (TLS 1.2) 的加密連線,且預設會拒絕所有使用 TLS 1.0 和 TLS 1.1 的連入連線。 您可以設定和變更彈性伺服器上的加密連線強制執行或 TLS 版本組態。

以下是彈性伺服器可用 SSL 和 TLS 設定的不同設定:

案例 伺服器參數設定 描述
停用 SSL (加密連線) require_secure_transport = OFF 如果您的舊版應用程式不支援對適用於 MySQL 的 Azure 資料庫彈性伺服器執行個體的加密連線,則可藉由設定 require_secure_transport=OFF 來停用對彈性伺服器的加密連線強制執行。
強制使用 TLS 版本 < 1.2 版的 SSL require_secure_transport = ON 以及 tls_version = TLS 1.0 或 TLS 1.1 如果您的舊版應用程式支援加密連線,但需要 TLS 版本 < 1.2 版,您可以啟用加密連線,但設定彈性伺服器以允許與支援 TLS 版本 (1.0 版或 1.1 版) 的連線。
強制 SSL 使用 TLS 版本 = 1.2 (預設設定) require_secure_transport = ON 以及 tls_version = TLS 1.2 這是彈性伺服器的建議和預設組態。
強制 SSL 使用 TLS 版本 = 1.3 (MySQL v8.0 和更新版本支援) require_secure_transport = ON 以及 tls_version = TLS 1.3 此設定對於新應用程式的開發很實用,建議使用

注意

不支援變更彈性伺服器上的 SSL 加密。 當 tls_version 設定為 TLS 1.2 版時,預設會強制執行 FIPS 加密套件。 針對 1.2 版以外的 TLS 版本,SSL 加密會設定為 MySQL 社群安裝隨附的預設設定。

檢閱如何使用 SSL/TLS 連線以了解更多資訊。

下一步