適用於 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 設定的不同組態:
重要
根據 移除 TLS 1.0 和 TLS 1.1 通訊協定的支援,從 2024 年 9 月初開始,將不再允許新伺服器使用 TLS 1.0 或 1.1,而且不允許現有伺服器降級至這些版本。 從 2024 年 9 月中旬開始,我們將起始目前使用 TLS 1.0 或 1.1 到 TLS 1.2 的所有伺服器強制升級。 此升級程式預計將在 2024 年 9 月底之前完成。 強烈建議客戶確保其應用程式在 9 月底之前與 TLS 1.2 完全相容。
案例 | 伺服器參數設定 | 描述 |
---|---|---|
停用 SSL (加密連線) | require_secure_transport = OFF | 如果您的舊版應用程式不支援 適用於 MySQL 的 Azure 資料庫 彈性伺服器實例的加密連線,您可以藉由設定 require_secure_transport=OFF 來停用對彈性伺服器的加密連線強制。 |
使用 TLS < 1.2 版強制執行 SSL(將於 2024 年 9 月淘汰) | require_secure_transport = ON 以及 tls_version = TLS 1.0 或 TLS 1.1 | 如果您的舊版應用程式支援加密連線,但需要 TLS 1.2 版 < ,您可以啟用加密的連線,但將彈性伺服器設定為允許與應用程式支援的 TLS 版本 (v1.0 或 v1.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 連線,以瞭解如何識別您使用 的 TLS 版本。
下一步
- 了解如何使用 Azure 入口網站或 Azure CLI 啟用私人存取 (VNet 整合)
- 了解如何使用 Azure 入口網站 或 Azure CLI 啟用公用存取 (允許的 IP 位址)
- 瞭解如何從 Azure 入口網站 設定 適用於 MySQL 的 Azure 資料庫 彈性伺服器的私人連結。