Azure Database for MySQL 灵活服务器部署模型

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

由 MySQL 社区版提供支持的 Azure Database for MySQL 提供两种部署模式:

  • Azure Database for MySQL 灵活服务器
  • Azure Database for MySQL 单一服务器

本文概述并介绍了灵活服务器部署模型的核心概念。 若要了解如何确定适合工作负荷的部署选项,请参阅在 Azure 中选择合适的 MySQL 服务器选项

概述

Azure Database for MySQL 灵活服务器是一种完全托管的生产就绪数据库服务,旨在针对数据库管理功能和配置设置提供更精细的控制和更大的灵活性。 灵活服务器体系结构允许用户选择单个可用性区域内以及跨多个可用性区域的高可用性。 灵活服务器提供了更好的成本优化控制,并且能够停止/启动服务器和可突发计算层,非常适合不需要连续的全部计算容量的工作负载。 该服务支持 MySQL 5.7 和 8.0 的社区版。 目前,该服务已在各种 Azure 区域中正式发布。

灵活服务器部署选项提供三个计算层:可突发、常规用途和业务关键。 每个层提供不同的计算和内存容量以支持数据库工作负载。 可以在一个月内花费很少的费用基于可突发层构建第一个应用,然后根据解决方案的需求调整规模。 动态可伸缩性使得数据库能够以透明方式对不断变化的资源需求做出响应。 只需在需要资源时为所需的资源付费。 有关详细信息,请参阅计算和存储

灵活服务器最适合用于

  • 轻松部署、简化的缩放,以及备份、高可用性、安全性和监视等功能的低数据库管理开销。
  • 需要具有更好的控制力和自定义功能的社区版本的 MySQL 的应用程序开发。
  • 具有相同区域、区域冗余高可用性和托管维护时段的生产工作负载。
  • 简化的开发体验。
  • 企业级安全性、合规性和隐私。

Flexible Server conceptual diagram

可用性区域内和跨可用性区域的高可用性

Azure Database for MySQL 灵活服务器支持为高可用性配置自动故障转移。 高可用性解决方案旨在确保提交的数据永远不会因故障而丢失,并提升应用程序的总体运行时间。 配置高可用性后,灵活服务器会自动预配和管理备用副本。 我们将对主要副本和次要副本的预配计算和存储计费。 有两种高可用性体系结构模型:

  • 区域冗余高可用性 (HA) :此选项是跨多个可用性区域实现基础结构完全隔离和冗余的首选选项。 它提供最高级别的可用性,但需要你配置跨区域的应用程序冗余。 如果希望实现最高级别可用性以防可用性区域中出现任何基础结构故障,并且可接受整个可用性区域中的延迟,则首选区域冗余高可用性。 区域冗余高可用性在部分 Azure 区域中可用,这些地理区域支持多个可用性区域并且提供区域冗余高级文件共享。

Zone redundant HA.

  • 相同区域高可用性 (HA):要实现网络延迟较低的基础结构冗余,此选项是首选项,因为主服务器和备用服务器位于同一可用性区域中。 它提供高可用性,且无需跨区域配置应用程序冗余。 如果希望在网络延迟最低的单个可用性区域中实现最高级别可用性,则首选相同区域 HA。 相同区域高可用性在所有 Azure 区域中可用,在这些区域中可以创建 Azure Database for MySQL 灵活服务器实例。

Zone redundant high availability.

有关详细信息,请参阅高可用性概念

具有托管维护时段的自动修补

该服务执行基础硬件、OS 和数据库引擎的自动修补。 修补包括安全更新和软件更新。 对于 MySQL 引擎,次要版本升级也包括在计划内维护版本中。 用户可以将修补计划配置为系统托管或定义自己的自定义计划。 在维护计划期间将应用补丁,并且可能需要修补过程中重启服务器才能完成更新。 使用自定义计划,用户可以使修补周期可预测,并选择对业务影响最小的维护时段。 一般来说,作为持续集成和发布的一部分,该服务遵循每月发布计划。

有关详细信息,请参阅计划性维护

自动备份

Azure Database for MySQL 灵活服务器服务可自动创建服务器备份并将其存储在用户配置的本地冗余或异地冗余存储中。 备份可用于将服务器还原到备份保持期内的任何时间点。 默认的备份保留期为七天。 可选择将保留期配置为 1-35 天。 所有备份都使用 AES 256 位加密进行加密。

有关详细信息,请参阅备份概念

网络隔离

可以通过两个网络选项连接到 Azure Database for MySQL 灵活服务器。 这两个选项是“专用访问(VNet 集成)”和“公共访问(允许的 IP 地址)” 。

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

    如果需要以下功能,请选择“虚拟网络集成”选项:

    • 使用专用 IP 地址从同一虚拟网络中的 Azure 资源连接到 Azure Database for MySQL 灵活服务器实例。
    • 使用 VPN 或 ExpressRoute 从非 Azure 资源连接到 Azure Database for MySQL 灵活服务器实例。
    • 无公共终结点。
  • 公共访问(允许的 IP 地址)– 可以使用公共终结点部署 Azure Database for MySQL 灵活服务器实例。 公共终结点是可公开解析的 DNS 地址。 “允许的 IP 地址”一词是指你选择向其授予访问服务器的权限的一系列 IP。 这些权限称为“防火墙规则”。

有关详细信息,请参阅网络概念

几秒钟内调整性能和规模

Azure Database for MySQL 灵活服务器在三个服务层中可用:可突发、常规用途和业务关键。 可突发层最适合用于低成本开发和不需要持续全计算容量的低并发工作负载。 常规用途和业务关键更适用于需要高并发性、缩放性和可预测性能的生产工作负载。 可以在一个月内花费很少的费用基于小型数据库构建第一个应用,然后根据解决方案的需求无缝调整规模。 存储缩放是联机的,支持存储自动增长。 Azure Database for MySQL 灵活服务器使你能够在免费的 IOPS 限制之上预配额外的 IOPS,最高可达 80K IOPS,而不依赖于存储。 使用此功能,你可以根据工作负载需求随时增加或减少预配的 IOPS 数。 动态可伸缩性使得数据库能够以透明方式对不断变化的资源需求做出响应。 只需为所使用的资源付费。

有关详细信息,请参阅计算和存储概念

使用多达 10 个只读副本来横向扩展读取工作负载

MySQL 是一种常用的数据库引擎,用于运行 Internet 规模的 Web 和移动应用程序。 许多客户将其用于在线教育服务、视频流式处理服务、数字支付解决方案、电子商务平台、游戏服务、新闻门户、政府和医疗保健网站。 这些服务需要随着 Web 或移动应用程序流量的增加而服务和扩展。

在应用程序端,应用程序通常是用 Java 或 PHP 开发的,并迁移到 Azure 虚拟机规模集Azure 应用服务上运行,或者进行容器化以在 Azure Kubernetes 服务 (AKS) 上运行。 使用具有应用服务或 AKS 地虚拟机规模集作为底层基础结构,可以通过即时预配新的 VM 并复制应用程序的无状态组件来满足请求,从而简化应用程序的缩放,但是数据库通常会作为集中式有状态组件而成为瓶颈。

使用只读副本功能,可将数据从 Azure Database for MySQL 灵活服务器实例复制到只读服务器。 可将源服务器中的数据复制到最多 10 个副本。 使用 MySQL 引擎的基于二进制日志 (binlog) 文件位置的原生复制技术以异步方式更新副本。 可以使用负载均衡器代理解决方案(例如 ProxySQL)将应用程序工作负载无缝横向扩展到只读副本,而不会产生任何应用程序重构成本。

有关详细信息,请参阅只读副本的概念

使用数据传入复制来设置混合或多云数据同步

可以通过数据传入复制将数据从外部 MySQL 服务器同步到 Azure Database for MySQL 灵活服务器中。 外部服务器可以处于本地、虚拟机中、Azure Database for MySQL 单台服务器中或是其他云提供商托管的数据库服务。 复制中数据是基于二进制日志 (binlog) 文件位置。 可以考虑使用数据传入复制的主要场景有:

有关详细信息,请参阅数据传入复制概念

停止/启动服务器以优化成本

Azure Database for MySQL 灵活服务器允许你按需停止和启动服务器以优化成本。 服务器停止后,计算层计费会立即停止。 此功能使你可在开发和测试期间以及针对有时限的可预测生产工作负载节省大量成本。 服务器将保持停止状态 30 天(除非提前重启它)。

有关详细信息,请参阅服务器的概念

企业级安全性、合规性和隐私

Azure Database for MySQL 灵活服务器使用 FIPS 140-2 验证的加密模块对静态数据进行存储加密。 在运行查询时创建的数据(包括备份)和临时文件都会进行加密。 该服务使用包含在 Azure 存储加密中的 AES 256 位密码,并且密钥可由系统进行管理(默认)。

默认情况下,Azure Database for MySQL 灵活服务器使用强制实施传输层安全性加密动态数据。 Azure Database for MySQL 灵活服务器默认支持使用传输层安全性 (TLS 1.2) 的加密连接,所有使用 TLS 1.0 和 TLS 1.1 的传入连接都会被拒绝。 可以通过设置 require_secure_transport 服务器参数来禁用 TSL/SSL 强制,然后为服务器设置最低 tls_version。

有关详细信息,请参阅如何使用加密连接到 Azure Database for MySQL 灵活服务器实例

Azure Database for MySQL 灵活服务器允许使用 Azure 虚拟网络集成对服务器进行完全专用访问。 只能通过专用 IP 地址才能访问和连接 Azure 虚拟网络中的服务器。 使用虚拟网络集成时,将会拒绝公共访问,并且无法使用公共终结点访问服务器。

有关详细信息,请参阅网络概念

监视和警报

Azure Database for MySQL 灵活服务器配备了内置的性能监视和警报功能。 所有 Azure 指标的频率都是一分钟,每个指标提供 30 天的历史记录。 可针对指标配置警报。 Azure Database for MySQL 灵活服务器公开主机服务器指标以监视资源利用率,允许配置慢查询日志。 使用这些工具,可快速优化工作负载并配置服务器以获得最佳性能。 凭借 Azure Database for MySQL 灵活服务器,可以使用 Azure Monitor 工作簿对慢查询和审核日志数据进行可视化。 你可以使用工作簿获取一个灵活的画布,用于分析数据,并在 Azure 门户中创建丰富的可视化报告。 Azure Database for MySQL 灵活服务器提供三个现成工作簿模板,包括服务器概述、审核查询性能见解查询性能见解工作簿旨在通过提供以下信息来帮助你减少排查数据库性能问题所花费的时间:

  • 前 N 个长时间运行的查询及其趋势。
  • 查询详细信息:查看查询文本以及包含最小、最大、平均和标准偏差查询时间的执行历史记录。
  • 资源利用率(CPU、内存和存储)。

此外,还可以将 Percona Monitoring and Management 等社区监视工具与 Azure Database for MySQL 灵活服务器配合使用和进行集成。

有关详细信息,请参阅监视的概念

迁移

Azure Database for MySQL 灵活服务器运行 MySQL 社区版本。 这可以实现完全的应用程序兼容性,并且只需最小的重构成本就能将在 MySQL 引擎上开发的现有应用程序迁移到 Azure Database for MySQL 灵活服务器。 可以使用以下选项迁移到 Azure Database for MySQL 灵活服务器:

脱机迁移

联机迁移或停机时间最短的迁移

将数据传入复制与 mydumper/myloader 一致备份/还原配合使用,以便进行初始种子设定。 通过分步说明了解详情 - 教程:将 Azure Database for MySQL 单一服务器以最短的停机时间迁移到 Azure Database for MySQL 灵活服务器

若要通过 5 个简单的步骤从 Azure Database for MySQL 单一服务器迁移到 Azure Database for MySQL 灵活服务器,请参阅此博客

有关详细信息,请参阅“选择正确的工具迁移到 Azure Database for MySQL 灵活服务器”。

Azure 区域

Azure Database for MySQL 灵活服务器现已在以下 Azure 区域推出:

区域 可用性 同一区域 HA 区域冗余 HA 异地冗余备份
中国东部 2
中国东部 3
中国北部 2
中国北部 3

联系人

如果对 Azure Database for MySQL 灵活服务器有任何疑问或建议,请根据需要考虑以下联系点:

后续步骤

通过此 Azure Database for MySQL 灵活服务器部署模式简介,你可以: