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

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

适用于:Azure Database for MySQL - 灵活服务器

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

Azure Database for MySQL 灵活服务器支持三种方法来配置与服务器的连接:

  • 公共访问:可通过公共终结点访问灵活服务器。 公共终结点是可公开解析的 DNS 地址。 “允许的 IP 地址”一词是指你选择向其授予访问服务器的权限的一系列 IP。 这些权限称为“防火墙规则”。

  • 专用终结点:可以使用专用终结点,以允许虚拟网络 (VNet) 上的主机通过专用链接安全地访问数据。

  • 专用访问(VNet 集成):可以将灵活服务器部署到 Azure 虚拟网络中。 Azure 虚拟网络提供专用的安全网络通信。 虚拟网络中的各个资源可通过专用 IP 地址进行通信。

备注

部署支持公共访问或专用访问(通过 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 设置的不同配置:

方案 服务器参数设置 说明
禁用 SSL(加密连接) require_secure_transport 设置为 OFF 如果旧应用程序不支持与 Azure Database for MySQL 灵活服务器实例的加密连接,可以通过设置 require_secure_transport=OFF 来禁用对灵活服务器的加密连接强制实施。
强制使用 SSL 和低于 TLS 版本 1.2 的版本 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 进行连接了解详细信息。

后续步骤