Azure Database for MariaDB 中的连接体系结构

重要

Azure Database for MariaDB 已列入停用计划。 强烈建议迁移到 Azure Database for MySQL。 若要详细了解如何迁移到 Azure Database for MySQL,请参阅《Azure Database for MariaDB 发生了什么情况?》。

本文介绍 Azure Database for MariaDB 的连接体系结构,以及如何在 Azure 内部和外部将流量从客户端定向到 Azure Database for MariaDB 实例。

连接体系结构

通过网关建立与 Azure Database for MariaDB 的连接,该网关负责将传入连接路由到群集中服务器的物理位置。 下图演示了流量流。

连接体系结构概述

当客户端连接到数据库时,指向服务器的连接字符串将解析为网关 IP 地址。 网关侦听端口 3306 上的 IP 地址。 在数据库群集中,流量将转发到相应的 Azure Database for MariaDB。 因此,为了通过某种方式(例如,公司网络)连接到服务器,必须打开客户端防火墙,使出站流量能够到达我们的网关。 下面是一个按区域分类的可供我们的网关使用的 IP 地址的完整列表。

Azure Database for MariaDB 网关 IP 地址

网关服务托管在一个 IP 地址后面的一组无状态计算节点上,当你的客户端尝试连接到 Azure Database for MariaDB 服务器时,将首先访问该 IP 地址。

在持续的服务维护过程中,我们会定期刷新托管网关的计算硬件,以确保提供最安全和性能最佳的体验。 刷新网关硬件后,将首先生成一个新的计算节点环。 这一新环为所有新创建的 Azure Database for MariaDB 服务器提供流量,在同一区域中,它具有与旧网关环不同的 IP 地址,以使流量区分开来。 新环完全正常运行后,为现有服务器提供服务的较旧的网关硬件将计划解除授权。 在解除网关硬件的授权之前,运行其服务器并连接到较旧网关通道的客户可通过电子邮件和 Azure 门户提前三个月收到通知。 如果你在应用程序的连接字符串中硬编码网关 IP 地址,

  • 网关的解除授权可能会影响与服务器的连接。 不建议这样做。 应在应用程序的连接字符串中使用服务器的完全限定域名 (FQDN),格式为 <servername>.mariadb.database.chinacloudapi.cn
  • 请勿为使出站流量能够到达新的网关通道而在客户端防火墙中更新较新的网关 IP 地址。

重要

如果客户连接堆栈需要直接连接到网关而不是建议的 DNS 名称方法,或将防火墙规则中的网关加入允许列表以连接到客户的基础结构或从其连接,我们强烈建议客户使用网关 IP 地址子网,而不是硬编码静态 IP,以免受可能导致 IP 在子网范围内更改的区域中此活动的影响。

下表列出了所有数据区域的 Azure Database for MariaDB 网关的网关 IP 地址。 下表中保留了每个区域的网关 IP 地址的最新信息。 在下表中,列表示以下内容:

  • 网关 IP 地址子网:此列列出了位于特定区域中的网关通道的 IP 地址子网。 随着我们停用较旧的网关硬件,建议打开客户端防火墙,以允许在你运营的区域中的 IP 地址子网的出站流量。
  • 网关 IP 地址:系统将定期停用各个 网关 IP 地址,并将流量迁移到相应的网关 IP 地址子网。

我们强烈建议客户不要依赖任何单个网关 IP 地址(因为这些地址将在未来停用)。 请改为允许网络流量到达区域内的单个网关 IP 地址和网关 IP 地址子网。

区域名称 当前网关 IP 地址 网关 IP 地址子网
中国东部 52.130.112.139 52.130.112.136/29, 52.130.13.96/27
中国东部 2 40.73.82.1、52.130.120.89 52.130.120.88/29、52.130.7.0/27
中国北部 52.130.128.89 52.130.128.88/29、40.72.77.128/27
中国北部 2 40.73.50.0 52.130.40.64/29、52.130.21.160/27

连接重定向

Azure Database for MariaDB 支持另一个连接策略(即“重定向”),该策略有助于降低客户端应用程序与 MariaDB 服务器之间的网络延迟。 利用此功能,在建立与 Azure Database for MariaDB 服务器的初始 TCP 会话后,服务器会将承载 MariaDB 服务器的节点的后端地址返回到客户端。 此后,所有后续数据包会绕过网关直接流向服务器。 由于数据包会直接流向服务器,因此延迟和吞吐量这两个指标的表现得到了改善。

引擎版本为 10.2 和 10.3 的 Azure Database for MariaDB 服务器支持此功能。

对重定向的支持可通过 Microsoft 开发的 PHP mysqlnd_azure 扩展获得,也可在 PECL 上获得。 有关如何在应用程序中使用重定向的详细信息,请参阅配置重定向一文。

重要

PHP mysqlnd_azure 扩展对重定向的支持目前为预览版。

后续步骤