维护 Amazon Aurora 数据库集群 - Amazon Aurora
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

维护 Amazon Aurora 数据库集群

Amazon RDS 会定期对 Amazon RDS 资源执行维护。维护最常涉及对数据库集群的基础硬件、基础操作系统 (OS) 或数据库引擎版本的更新。针对操作系统的大多数更新通常是因安全问题而必须尽快进行的。

一些维护项目要求 Amazon RDS 使您的数据库集群脱机一小段时间。要求资源脱机的维护项目包括必需的操作系统或数据库修补。仅对与安全性和实例可靠性相关的修补程序自动安排必需的修补。这种修补很少发生 (通常几个月一次),并且几乎不会需要过长的维护时段。

您可以使用 RDS 控制台、AWS CLI 或 Amazon RDS API 来查看维护更新是否对数据库集群可用。如果某个更新可用,则将在 Amazon RDS 控制台上的数据库集群维护列中指示它,如下所示。


            可用的脱机修补程序

如果没有维护更新可用于数据库集群,则它的列值为

如果有维护更新可用于数据库集群,则可能为以下列值:

  • 必需 – 维护操作将应用于资源且不能无限期推迟。

  • available (可用) – 维护操作可用,但不会自动应用于资源。您可以手动应用它。

  • 下一个窗口 – 维护操作将在下一个维护窗口期间应用于资源。

  • In progress (正在进行) – 维护操作正在应用于资源。

如果更新可用,则可执行这些操作之一:

  • 如果维护值为 next window (下一时段),请通过从 Actions (操作) 中选择 Defer upgrade (推迟升级) 来推迟维护项目。如果维护操作已经启动,则无法推迟该操作。

  • 立即应用维护项目。

  • 计划下一个维护时段内要开始的维护项目。

  • 不执行任何操作。

注意

某些 OS 更新标记为 required (必需)。如果您推迟某个必需的更新,则会获得一条来自 Amazon RDS 的通知,指示何时执行此更新。其他更新将标记为 available (可用),而且您可以无限期地推迟这些更新。

要采取操作,请选择数据库集群以显示其详细信息,然后选择 Maintenance & backups (维护和备份)。将显示待处理维护项目。


            待处理维护项目

维护时段确定待处理的操作何时开始,但不限制这些操作的总运行时间。维护操作不保证在维护时段结束前完成,可以在超出指定的结束时间后继续。有关更多信息,请参阅Amazon RDS 维护时段

有关 Amazon Aurora 引擎更新的信息以及升级和修补这些引擎的说明,请参阅Amazon Aurora MySQL 的数据库引擎更新Amazon Aurora PostgreSQL 数据库引擎更新

应用数据库集群的更新

通过 Amazon RDS,您可以选择何时应用维护操作。您可通过使用 RDS 控制台、AWS Command Line Interface (AWS CLI) 或 RDS API 来决定 Amazon RDS 何时应用更新。

管理数据库集群的更新

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择 Databases (数据库)

  3. 选择具有必需更新的数据库集群

  4. 对于操作,请选择下列选项之一:

    • 立即升级

    • 在下一个窗口升级

      注意

      如果您选择 Upgrade at next window (在下一个窗口升级),并且以后希望延迟更新,可以选择 Defer upgrade (推迟升级)。如果维护操作已经启动,则无法推迟该操作。

      要取消维护操作,请修改数据库实例并禁用 Auto minor version upgrade (自动次要版本升级)

要将待处理的操作系统更新应用于数据库集群,请使用 apply-pending-maintenance-action AWS CLI 命令。

对于 Linux、macOS 或 Unix:

aws rds apply-pending-maintenance-action \ --resource-identifier arn:aws-cn:rds:us-west-2:001234567890:db:mysql-db \ --apply-action system-update \ --opt-in-type immediate

对于 Windows:

aws rds apply-pending-maintenance-action ^ --resource-identifier arn:aws-cn:rds:us-west-2:001234567890:db:mysql-db ^ --apply-action system-update ^ --opt-in-type immediate
注意

要推迟维护操作,请为 --opt-in-type 指定 undo-opt-in。如果维护操作已启动,则无法为 --opt-in-type 指定 undo-opt-in

要取消维护操作,请运行 modify-db-instance AWS CLI 命令并指定 --no-auto-minor-version-upgrade

要返回具有至少一个待处理更新的资源的列表,请使用 describe-pending-maintenance-actions AWS CLI 命令。

对于 Linux、macOS 或 Unix:

aws rds describe-pending-maintenance-actions \ --resource-identifier arn:aws-cn:rds:us-west-2:001234567890:db:mysql-db

对于 Windows:

aws rds describe-pending-maintenance-actions ^ --resource-identifier arn:aws-cn:rds:us-west-2:001234567890:db:mysql-db

您还可以通过指定 describe-pending-maintenance-actions AWS CLI 命令的 --filters 参数来返回数据库集群的资源列表。--filters 命令的格式是 Name=filter-name,Value=resource-id,...

下面是筛选条件的 Name 参数中接受的值:

  • db-instance-id – 接受数据库实例标识符或 Amazon 资源名称 (ARN) 的列表。返回的列表只包括这些标识符或 ARN 标识的数据库实例的待处理维护操作。

  • db-cluster-id – 接受 Amazon Aurora 的数据库集群标识符或 ARN 的列表。返回的列表只包括这些标识符或 ARN 标识的数据库集群的待处理维护操作。

例如,以下示例返回 sample-cluster1sample-cluster2 数据库集群的待处理维护操作。

对于 Linux、macOS 或 Unix:

aws rds describe-pending-maintenance-actions \ --filters Name=db-cluster-id,Values=sample-cluster1,sample-cluster2

对于 Windows:

aws rds describe-pending-maintenance-actions ^ --filters Name=db-cluster-id,Values=sample-cluster1,sample-cluster2

要将更新应用于数据库集群,请调用 Amazon RDS API ApplyPendingMaintenanceAction 操作。

要返回具有至少一个待处理更新的资源的列表,请调用 Amazon RDS API DescribePendingMaintenanceActions 操作。

Amazon RDS 维护时段

每个数据库集群都有一个每周维护时段,在此期间会应用任何系统更改。在请求或要求的情况下,您可以将维护时段视为控制修改及软件修补程序更新的时间的机会。如果在给定的周内安排了维护事件,则将在您确定的 30 分钟维护时段内启动维护。大部分维护事件也将在 30 分钟的维护时段内完成,但较大的维护事件可能需要 30 分钟以上的时间才能完成。

这个 30 分钟维护时段是随机从每个地区的 8 小时时间段中选择出来的。如果在创建数据库集群时未指定首选维护时段,则 Amazon RDS 在该星期中随机选择的某一天中分配 30 分钟的维护时段。

在应用维护时,RDS 将使用您的数据库集群上的一些资源。您可观察到对性能的影响甚微。对于数据库实例来说,在极少数情况下,可能需要多可用区故障转移才能完成维护更新。

在下面可以找到为每个区域分配默认维护时段的时间段。

区域名称 区域 时间段
美国东部(俄亥俄州) us-east-2 03:00–11:00 UTC
美国东部(弗吉尼亚北部) us-east-1 03:00–11:00 UTC
美国西部(加利福尼亚北部) us-west-1 06:00–14:00 UTC
美国西部(俄勒冈) us-west-2 06:00–14:00 UTC
亚太地区(香港) ap-east-1 06:00–14:00 UTC
亚太地区(孟买) ap-south-1 17:30–01:30 UTC
亚太区域 (大阪当地) ap-northeast-3 22:00–23:59 UTC
亚太区域(首尔) ap-northeast-2 13:00–21:00 UTC
亚太区域(新加坡) ap-southeast-1 14:00–22:00 UTC
亚太区域(悉尼) ap-southeast-2 12:00–20:00 UTC
亚太区域(东京) ap-northeast-1 13:00–21:00 UTC
加拿大 (中部) ca-central-1 03:00–11:00 UTC
中国(北京) cn-north-1 06:00–14:00 UTC
中国 (宁夏) cn-northwest-1 06:00–14:00 UTC
欧洲(法兰克福) eu-central-1 23:00–07:00 UTC
欧洲(爱尔兰) eu-west-1 22:00–06:00 UTC
欧洲(伦敦) eu-west-2 22:00–06:00 UTC
欧洲(巴黎) eu-west-3 23:59–07:29 UTC
欧洲(斯德哥尔摩) eu-north-1 23:00–07:00 UTC
中东(巴林) me-south-1 06:00–14:00 UTC
南美洲(圣保罗) sa-east-1 00:00–08:00 UTC
AWS GovCloud (US-West) us-gov-west-1 06:00–14:00 UTC

调整首选数据库集群维护时段

Aurora 数据库集群维护时段应当选在使用量最小的时段上,因而可能必须不时予以修改。仅当正在应用的更新需要中断时,您的数据库集群才会在这段时间内不可用。执行必要更新所需的中断持续时间会非常短。

调整首选数据库集群维护时段

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择 Databases (数据库)

  3. 选择要更改维护时段的数据库集群。

  4. 选择修改

  5. 维护部分中,更新维护时段。

  6. 选择 Continue (继续)

    在确认页面上,检查您的更改。

  7. 要立即将更改应用于维护时段,请在修改计划部分中选择立即

  8. 选择修改集群以保存更改。

    或者,选择 Back 编辑您的更改,或者选择 Cancel 取消更改。

要调整首选数据库集群维护时段,请使用具有以下参数的 AWS CLI modify-db-cluster 命令:

  • --db-cluster-identifier

  • --preferred-maintenance-window

以下代码示例将维护时段设置为周二的凌晨 4:00–4:30 (UTC)。

对于 Linux、macOS 或 Unix:

aws rds modify-db-cluster \ --db-cluster-identifier my-cluster \ --preferred-maintenance-window Tue:04:00-Tue:04:30

对于 Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier my-cluster ^ --preferred-maintenance-window Tue:04:00-Tue:04:30

要调整首选数据库集群维护时段,请使用带以下参数的 Amazon RDS ModifyDBCluster API 操作:

  • DBClusterIdentifier = my-cluster

  • PreferredMaintenanceWindow = Tue:04:00-Tue:04:30

以下代码示例将维护时段设置为周二的凌晨 4:00–4:30 (UTC)。

https://rds.us-west-2.amazonaws.com/ ?Action=ModifyDBCluster &DBClusterIdentifier=my-cluster &PreferredMaintenanceWindow=Tue:04:00-Tue:04:30 &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-10-31 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140725/us-east-1/rds/aws4_request &X-Amz-Date=20161017T161457Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=d6d1c65c2e94f5800ab411a3f7336625820b103713b6c063430900514e21d784

Aurora 数据库集群的自动次要版本升级

自动次要版本升级设置指定 Aurora 是否自动将升级应用于您的集群。这些升级包括:包含错误修复的补丁级别以及包含其他功能的新次要版本。它们不包括任何不兼容的更改。

注意

默认情况下,此设置处于启用状态。对于每个新集群,根据其重要性、预期生命周期以及每次升级后执行的验证测试量为此设置选择适当的值。

有关启用或禁用此设置的说明,请参阅Amazon Aurora 设置。特别是,请确保对集群中的所有数据库实例应用相同的设置。如果对集群中的任何数据库实例禁用了此设置,则不会自动升级集群。

有关 Aurora PostgreSQL 引擎更新的更多信息,请参阅Amazon Aurora PostgreSQL 数据库引擎更新

有关 Aurora MySQL 的自动次要版本升级设置的更多信息,请参阅 启用 Aurora MySQL 次要版本之间的自动升级。有关 Aurora MySQL 的引擎更新的一般信息,请参阅 Amazon Aurora MySQL 的数据库引擎更新

选择 Aurora MySQL 维护更新的频率

您可以控制每个数据库集群是经常还是很少进行 Aurora MySQL 升级。最佳选择取决于 Aurora MySQL 使用情况以及在 Aurora 上运行的应用程序的优先级。有关需要不太频繁的升级的 Aurora MySQL 长期稳定性 (LTS) 版本的信息,请参阅 Aurora MySQL 长期支持 (LTS) 版本

如果符合以下部分或全部条件,您可能会选择很少升级 Aurora MySQL 集群:

  • 对于 Aurora MySQL 数据库引擎的每次更新,应用程序的测试周期需要很长的时间。

  • 很多数据库集群或很多应用程序运行相同的 Aurora MySQL 版本。您希望同时升级所有数据库集群和关联的应用程序。

  • 您使用 Aurora MySQL 和 Amazon RDS MySQL,并希望将 Aurora MySQL 集群和 RDS MySQL 数据库实例与同一级别的 MySQL 保持兼容。

  • Aurora MySQL 应用程序位于生产环境中或在其他方面对业务至关重要。除了在极少数情况下应用关键补丁以外,您无法承受升级停机。

  • Aurora MySQL 应用程序不受在后续 Aurora MySQL 版本中解决的性能问题或功能差异的限制。

如果上述因素适用于您的情况,您可以限制 Aurora MySQL 数据库集群的强制升级次数。为此,您可以在创建或升级该数据库集群时选择称为“长期支持”(LTS) 版本的特定 Aurora MySQL 版本。这样做可以最大限度减少该数据库集群的升级周期数、测试周期数以及与升级相关的中断次数。

如果符合以下部分或全部条件,您可能会选择经常升级 Aurora MySQL 集群:

  • 应用程序的测试周期简单明了。

  • 应用程序仍处于开发阶段。

  • 数据库环境使用各种不同的 Aurora MySQL 版本或 Aurora MySQL 和 Amazon RDS MySQL 版本。每个 Aurora MySQL 集群具有自己的升级周期。

  • 在增加 Aurora MySQL 使用量之前,您正在等待改进特定的性能或功能。

如果上述因素适用于您的情况,您可以将 Aurora MySQL 数据库集群升级到比 LTS 版本更新的 Aurora MySQL 版本,以使 Aurora 更频繁地应用重要升级。这样做可以使您更快地获得最新的性能增强、错误修复和功能。