Azure Database for MySQL 灵活服务器的连接和网络概念
本文介绍了控制与 Azure Database for MySQL 灵活服务器实例的连接的相关概念。 你需要详细了解 Azure Database for MySQL 灵活服务器的网络概念,以便在 Azure 中安全地创建和访问服务器。
Azure Database for MySQL 灵活服务器支持通过以下三种方式配置与服务器的连接:
Azure Database for MySQL 灵活服务器的公用网络访问 可通过公共终结点访问灵活服务器。 公共终结点是可公开解析的 DNS 地址。 “允许的 IP 地址”一词是指你选择向其授予访问服务器的权限的一系列 IP。 这些权限称为“防火墙规则”。
专用终结点:可以使用专用终结点,以允许虚拟网络 (VNet) 上的主机通过专用链接安全地访问数据。
为 Azure Database for MySQL 灵活服务器使用虚拟网络集成实现专用网络访问 可以将灵活服务器部署到 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.chinacloudapi.cn
。 服务器的 IP 地址不能保证保持静态。 使用 FQDN 有助于避免更改连接字符串。
使用 FQDN 作为主机名的示例如下:主机名 = servername.mysql.database.chinacloudapi.cn。 尽可能避免使用主机名 = 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 版本。