你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Database for MySQL 灵活服务器的连接和网络概念

本文介绍了控制与 Azure Database for MySQL 灵活服务器实例的连接的相关概念。 你需要详细了解 Azure Database for MySQL 灵活服务器的网络概念,以便在 Azure 中安全地创建和访问服务器。

Azure Database for MySQL 灵活服务器支持通过以下三种方式配置与服务器的连接:

备注

部署支持公共访问或专用访问(通过 VNet 集成)的服务器后,将无法再修改连接模式。 但在公共访问模式下,可以根据需要启用或禁用专用终结点,也可以根据需要禁用公共访问。

选择网络选项

如需以下功能,请选择“公共访问(允许的 IP 地址)和专用终结点”方法:

  • 在没有虚拟网络支持的情况下从 Azure 资源进行连接
  • 从未通过 VPN 或 ExpressRoute 连接的 Azure 外部资源进行连接
  • 灵活服务器可通过公共终结点进行访问,并且可以通过授权的 Internet 资源进行访问。 如果需要,可以禁用公共访问。
  • 能够将专用终结点配置为从虚拟网络 (VNet) 上的主机访问服务器

如需以下功能,请选择“专用访问(VNet 集成)”:

  • 从同一虚拟网络或对等互连虚拟网络中的 Azure 资源连接到灵活服务器,而无需配置专用终结点
  • 使用 VPN 或 ExpressRoute 从非 Azure 资源连接到灵活服务器
  • 无公共终结点

无论你是选择使用专用访问还是公共访问选项,以下特征都适用:

  • 从允许的 IP 地址进行连接需要使用有效凭据向 Azure Database for MySQL 灵活服务器实例进行身份验证
  • 连接加密可用于你的网络流量
  • 服务器具有完全限定的域名 (FQDN)。 对于连接字符串中的 hostname 属性,建议使用 FQDN 而不是 IP 地址。
  • 这两个选项都是在服务器级别控制访问,而不是在数据库或表级别进行控制。 你将使用 MySQL 的角色属性来控制数据库、表和其他对象访问。

不受支持的虚拟网络场景

  • 公共终结点(或公共 IP 或 DNS)- 部署到虚拟网络的灵活服务器不能有公共终结点。
  • 将灵活服务器部署到虚拟网络和子网后,不能将它移动到其他虚拟网络或子网。
  • 部署灵活服务器后,无法将灵活服务器使用的虚拟网络移到另一个资源组或订阅中。
  • 一旦子网中存在资源,子网大小(地址空间)便不能增加。
  • 创建服务器后,禁止从公共访问更改为专用访问。 建议使用时间点还原。

注意

如果使用自定义 DNS 服务器,则必须使用 DNS 转发器解析 Azure Database for MySQL 灵活服务器实例的 FQDN。 有关详细信息,请参阅使用 DNS 服务器的名称解析

主机名

无论网络选项如何,都建议你在连接到 Azure Database for MySQL 灵活服务器实例时使用连接字符串中的完全限定的域名 (FQDN):<servername>.mysql.database.azure.com。 服务器的 IP 地址不能保证保持静态。 使用 FQDN 有助于避免更改连接字符串。

使用 FQDN 为主机名的示例如下:主机名 = servername.mysql.database.azure.com。 尽可能避免使用主机名 = 10.0.0.4 (专用地址) 或主机名 = 40.2.45.67 (公共地址) 。

TLS 和 SSL

Azure Database for MySQL 灵活服务器支持使用安全套接字层 (SSL) 和传输层安全性 (TLS) 加密将客户端应用程序连接到 Azure Database for MySQL 灵活服务器实例。 TLS 是一种行业标准协议,可确保在数据库服务器与客户端应用程序之间实现加密的网络连接,使你能够满足合规性要求。

默认情况下,Azure Database for MySQL 灵活服务器支持使用传输层安全性 (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 如果旧版应用程序不支持与 Azure Database for MySQL 灵活服务器实例建立加密连接,则可以通过将 require_secure_transport 设置为 OFF,来禁用与灵活服务器建立加密连接的强制要求。
在 TLS 版本 < 1.2(将于 2024 年 9 月弃用)的情况下强制实施 SSL 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 版本。