Amazon Aurora
Aurora 用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon Aurora 最佳实践

本主题包括有关使用 Amazon Aurora 数据库集群或向其迁移数据的一般最佳实践和选项的信息。

一些 Amazon Aurora 的最佳实践是特定于特殊数据库引擎的。有关特定于数据库引擎的 Aurora 最佳实践的更多信息,请参阅以下内容:

数据库引擎 最佳实践

Amazon Aurora MySQL

请参阅 Amazon Aurora MySQL 最佳实践

Amazon Aurora PostgreSQL

请参阅 Amazon Aurora PostgreSQL 最佳实践

注意

有关 Aurora 的常见建议,请参阅 使用 Amazon Aurora 建议

Amazon Aurora 基本操作指导方针

以下是使用 Amazon Aurora 时每个人都应遵循的基本操作指导方针。请注意,Amazon RDS 服务等级协议要求您遵循以下指导方针:

  • 监控内存、CPU 和存储空间使用情况。可以将 Amazon CloudWatch 设置为在使用模式发生变化或接近部署容量时向您发送通知,以保持系统性能和可用性。

  • 如果客户端应用程序正在缓存数据库实例的域名服务 (DNS) 数据,请将生存时间 (TTL) 值设置为小于 30 秒。因为数据库实例的底层 IP 地址在故障转移后可能会发生变化,所以如果您的应用程序试图连接到不再使用的 IP 地址,那么在较长时间内缓存 DNS 数据可能会导致连接失败。如果连接使用读取器终端节点,并且只读副本实例之一处于维护状态或已删除,那么具有多个只读副本的 Aurora 数据库集群也会遭遇连接失败。

  • 测试数据库集群的故障转移,以了解该过程在您的使用案例中所需的时间,并确保访问数据库集群的应用程序能够在故障转移后自动连接到新数据库集群。

数据库实例 RAM 建议

要获得最佳性能,请分配足够多的 RAM,以便您的工作集几乎完全位于内存中。要确定您的工作集是否几乎完全位于内存中,请在 Amazon CloudWatch 中检查以下指标:

  • VolumeReadIOPS – 这会测量集群卷中的读取 I/O 操作的平均数量,每隔 5 分钟报告一次。VolumeReadIOPS 值应该是一个较小且稳定的值。如果您发现读取 IO 达到峰值或高于平常值,应调查数据库集群中的数据库实例,以确定哪些数据库实例导致 IO 增加。

  • BufferCacheHitRatio – 该指标测量数据库集群中的数据库实例的缓冲区缓存处理的请求百分比。通过使用该指标,您可以深入了解从内存中处理的数据量。如果命中率很低,则很好地表明多半将该数据库实例上的查询保存到磁盘中。在这种情况下,您应该调查工作负载以确定哪些查询导致该行为。

在调查工作负载后,如果发现需要更多内存,将数据库实例类扩展为具有更多 RAM 的类可能是非常有用的。在执行该操作后,您可以调查上述指标,并继续根据需要进行扩展。有关监控数据库集群的更多信息,请参阅监控 Amazon Aurora 数据库集群指标

监控 Amazon Aurora

Amazon Aurora 提供了一些 Amazon CloudWatch 指标,您可以监控这些指标以确定 Aurora 数据库集群的运行状况和性能。您可以使用各种工具查看 Aurora 指标,例如,Amazon RDS 管理控制台、AWS CLI 和 CloudWatch API。有关更多信息,请参阅监控 Amazon Aurora 数据库集群

使用数据库参数组和数据库集群参数组

在将参数组更改应用于生产数据库集群之前,我们建议您在测试数据库集群上试验数据库参数组和数据库集群参数组更改。不正确地设置数据库引擎参数可能会产生意外的不利影响,包括性能下降和系统不稳定。

在修改数据库引擎参数时,请务必谨慎,并在修改数据库参数组之前备份数据库集群。有关备份数据库集群的信息,请参阅备份和还原 Amazon Aurora 数据库集群

Amazon Aurora 最佳实践演示视频

芝加哥 2016 AWS 峰会包括创建和配置安全且高度可用的 Amazon Aurora 数据库集群的最佳实践演示。可在此处获取演示视频: