Amazon Aurora 的最佳实践 - Amazon Aurora
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 值应该是一个较小且稳定的值。在某些情况下,您可能发现读取 I/O 处于高峰或高于平常。如果是这样,请调查数据库集群中的数据库实例,以查看哪些数据库实例正在导致 I/O 增加。

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

在调查工作负载后,如果发现需要更多内存,则考虑将数据库实例类扩展为具有更多 RAM 的类。在执行该操作后,您可以调查前面讨论的指标,并继续根据需要进行扩展。如果您的 Aurora 集群大于 40 TB,请勿使用 db.t2 或 db.t3 实例类。有关监控数据库集群的更多信息,请参阅监控 Amazon Aurora 数据库集群指标

监控 Amazon Aurora

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

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

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

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

Amazon Aurora 最佳实践演示视频

芝加哥 2016 AWS 峰会包括用于创建和配置更安全且高度可用的 Amazon Aurora 数据库集群的最佳实践演示。您可以找到以下演示视频: