Aurora Serverless v2 (preview) 的工作原理 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Aurora Serverless v2 (preview) 的工作原理

与 MySQL 兼容的 Amazon Aurora Serverless v2 为预览版本,可能会发生变化。Aurora Serverless v2 (preview) 不在 Amazon RDS 服务等级协议 (SLA) 的涵盖范围内。不要将 Aurora Serverless v2 (preview) 用于生产数据库。预览结束时,所有资源和数据都将被删除。

Amazon Aurora Serverless v2 (preview) 专为支持即时可扩展的无服务器数据库集群而从头开始构建。Aurora Serverless v2 (preview) 架构建立在轻量级基础上,其设计旨在提供多租户无服务器云环境中所需的安全性和隔离性。该基础的开销很少,因此它可以快速作出响应。它还足够强大,以满足处理需求的急剧增长。

即时自动扩展

创建 Aurora Serverless v2 (preview) 数据库集群时,您将其容量定义为介于最小和最大 Aurora 容量单位 (ACU) 之间的范围:

  • 最小 Aurora 容量单位 – 您的 Aurora Serverless v2 (preview) 数据库集群可以向下扩展到的最小 ACU 数量。

  • 最大 Aurora 容量单位 – 您的 Aurora Serverless v2 (preview) 数据库集群可以向上扩展到的最大 ACU 数量。

每个 ACU 提供 2 GiB 的内存 (RAM) 和带网络连接的关联虚拟处理器 (vCPU)。

与 Aurora Serverless v1 不同的是,Aurora Serverless v2 (preview) 可以在每次数据库集群达到阈值时通过将 ACU 加倍来扩展,从而逐步增加 ACU。当您的工作负载需求开始达到当前资源容量时,您的 Aurora Serverless v2 (preview) 数据库集群将扩展 ACU 的数量。您的集群会按所需的增量扩展 ACU,以便为所消耗的资源提供最佳性能。

以下屏幕截图显示了运行中的即时自动扩展。这是从 Amazon CloudWatch 中提取的内容,其中将模拟的“限时促销”场景中的处理负载与 Aurora Serverless v2 (preview) 数据库集群随着时间推移而消耗的 ACU 数量进行了比较。模拟模型是一个定单系统,在常规操作期间每秒处理约 10 个订单(使用 4 个 ACU)。负载测试工具模拟“限时促销”,生成一系列订单增加的情况,直到系统达到高峰时期每秒处理 275 个订单(和 22 个 ACU)的负载。


            Aurora Serverless v2 (preview) 自动扩展以满足需求,如 CloudWatch 中所示

在屏幕截图中,这些数字表示以下信息:

  1. 每秒处理的订单量 – 当客户响应商品“限时促销”时的处理负载。该行显示每秒处理的订单数量。订单处理涉及多个数据库操作。这些措施包括检查库存、处理新订单、创建货件订单、调整库存金额以及通过通知仓库系统启动配送。

  2. Aurora 容量单位 (ACU) – 随着时间的推移应用于需求增减的内存和 CPU。该行显示了当订单达到其最高点(约每秒 275 个)时,应用于工作负载(第 1 行)的 ACU 激增。

ACU 由内存 (RAM) 和处理器 (CPU) 组成。CPU 利用率的增加可立即响应工作负载需求。当需求从峰值开始下降时,随着内存的释放速度(相比于 CPU)越来越慢,从最大 ACU 向下扩展的速度也更慢。这是一种经过深思熟虑的架构选择。Aurora Serverless v2 (preview) 随着需求的减少而逐渐释放内存,以避免影响工作负载。

使用 Amazon CloudWatch 进行日志记录

与所有 Aurora 数据库集群一样,Aurora Serverless v2 (preview) 的错误日志默认启用。但是,与预置的 Aurora 数据库集群不同,您无法在 Amazon RDS 控制台中查看 Aurora Serverless v2 (preview) 的日志。Aurora Serverless v2 (preview) 会自动将错误日志上传到 Amazon CloudWatch。

Aurora Serverless v2 (preview) 还会将您指定的日志类型的 Aurora MySQL 日志数据上传到 CloudWatch。您可以通过更改 Aurora Serverless v2 (preview) 数据库集群的多个与日志相关的数据库集群参数的值,来选择要上传的日志。与任何类型的 Aurora 数据库集群一样,您无法修改默认数据库集群参数组。相反,您是根据数据库集群和引擎类型的默认参数来创建自己的数据库集群参数组。对于 Aurora Serverless v2 (preview) 和 Aurora Serverless v1,您只能使用数据库集群参数组。

我们建议您在创建 Aurora Serverless v2 (preview) 数据库集群之前创建您的自定义数据库集群参数组,以便在控制台上创建数据库时可以选择该参数组。

您还可以稍后修改 Aurora Serverless v2 (preview) 数据库集群,以使用自定义数据库集群参数组。有关更多信息,请参阅 修改数据库集群以使用自定义数据库集群参数组

对于 Aurora MySQL 日志记录,您可以激活以下参数:

  • general_log – 设置为 1 以打开常规日志(默认设置为关闭或 0)。

  • slow_query_log – 设置为 1 以打开慢查询日志(默认设置为关闭或 0)。

  • server_audit_logging – 设置为 1 以打开服务器审计日志记录。如果启用此选项,则可以通过在 server_audit_events 参数中列出审核事件来指定要发送到 CloudWatch 的审计事件。

  • server_audit_events – 要在日志中捕获的事件列表。

有关更多信息,请参阅 在 Amazon Aurora MySQL 数据库集群中使用高级审计

将修改后的数据库集群参数组应用于 Aurora Serverless v2 (preview) 数据库集群后,您可以在 CloudWatch 中查看登录。

要查看 Aurora Serverless v2 (preview) 数据库集群的日志

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 为该区域选择 美国东部(弗吉尼亚北部)

  3. 选择 Log groups (日志组)

  4. 从列表中选择 Aurora Serverless v2 (preview) 数据库集群日志。对于错误日志,命名模式如下。

    /aws/rds/cluster/cluster-name/error

有关查看日志详细信息的更多信息,请参阅 在 Amazon CloudWatch 中监控日志事件

Amazon CloudWatch 所含的监控功能

Aurora Serverless v2 (preview) 引入了用于监控 Aurora 数据库集群容量的新指标 ServerlessDatabaseCapacity。随着数据库集群向上和向下扩展,您可以使用 CloudWatch 查看数据库集群的容量。您还可以将 ServerlessDatabaseCapacity 与其他指标进行比较,以了解工作负载的变化如何影响资源消耗。

监控 Aurora Serverless v2 (preview) 数据库集群的容量

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 选择 美国东部(弗吉尼亚北部) 区域。

  3. 选择指标。所有可用指标在控制台中显示为卡片,按服务名称进行分组。

  4. 选择 RDS

您也可以使用搜索框来查找 ServerlessDatabaseCapacity

我们建议您使用此新指标设置 CloudWatch 仪表板来监控 Aurora Serverless v2 (preview) 数据库集群容量。要了解操作方法,请参阅使用 CloudWatch 构建仪表板。您可以将 ServerlessDatabaseCapacityDatabaseUsedMemoryDatabaseConnectionsDMLThroughput 进行比较,以评估数据库集群在操作期间的响应情况。

要了解有关将 Amazon CloudWatch 与 Amazon Aurora 结合使用的更多信息,请参阅 将 Amazon Aurora MySQL 日志发布到 Amazon CloudWatch Logs