维护数据库实例 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

维护数据库实例

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

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

您已选择不立即应用的延迟数据库实例修改也会在维护时段内应用。例如,您可以选择在维护时段内更改数据库实例类或参数组。您使用等待重启设置指定的此类修改不会显示在等待维护列表中。有关修改 数据库实例的信息,请参阅修改 Amazon RDS 数据库实例

查看待处理维护

通过使用 RDS 控制台、Amazon CLI 或 RDS API 来查看维护更新是否可用于数据库实例。如果某个更新可用,则将在 Amazon RDS 控制台上的数据库实例维护列中指示它,如下所示。


            可用的脱机修补程序

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

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

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

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

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

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

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

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

  • 立即应用维护项目。

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

  • 不执行任何操作。

注意

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

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


            待处理维护项目

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

您可以通过运行 describe-pending-maintenance-actions Amazon CLI 命令来查看维护更新是否可用于数据库实例

应用数据库实例的更新

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

管理数据库实例的更新

  1. 登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

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

  3. 选择具有必需更新的数据库实例

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

    • 立即升级

    • 在下一个窗口升级

      注意

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

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

要将待处理的更新应用于数据库实例,请使用 apply-pending-maintenance-action Amazon CLI 命令。

对于 Linux、macOS 或 Unix:

aws rds apply-pending-maintenance-action \ --resource-identifier arn:aws: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:rds:us-west-2:001234567890:db:mysql-db ^ --apply-action system-update ^ --opt-in-type immediate
注意

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

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

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

对于 Linux、macOS 或 Unix:

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

对于 Windows:

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

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

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

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

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

例如,以下示例返回sample-instance1sample-instance2 数据库实例的待处理维护操作。

对于 Linux、macOS 或 Unix:

aws rds describe-pending-maintenance-actions \ --filters Name=db-instance-id,Values=sample-instance1,sample-instance2

对于 Windows:

aws rds describe-pending-maintenance-actions ^ --filters Name=db-instance-id,Values=sample-instance1,sample-instance2

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

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

多可用区部署的维护

采用多可用区部署的方式运行数据库实例可进一步降低维护事件的影响。此结果是因为 Amazon RDS 通过执行以下步骤来应用操作系统更新:

  1. 执行备用实例的维护。

  2. 将备用实例提升为主实例。

  3. 执行原主实例的维护,该实例将变成新的备用实例。

在多可用区部署中为数据库实例修改数据库引擎时,Amazon RDS 会同时升级主和辅助数据库实例。在这种情况下,整个多可用区部署的数据库引擎会在升级过程中关闭。

有关多可用区部署的更多信息,请参阅 多可用区部署,可实现高可用性

Amazon RDS 维护时段

每个数据库实例都有一个每周维护时段,在此期间会应用任何系统更改。可以考虑利用维护时段控制何时进行修改和软件修补。如果在给定的周内安排了维护事件,则将在您确定的 30 分钟维护时段内启动维护。大部分维护事件也将在 30 分钟的维护时段内完成,但较大的维护事件可能需要 30 分钟以上的时间才能完成。

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

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

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

区域名称 区域 时间段
US East (Ohio) 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
Africa (Cape Town) af-south-1 03:00–11:00 UTC
Asia Pacific (Hong Kong) ap-east-1 06:00–14:00 UTC
亚太地区(雅加达) ap-southeast-3 08:00–16:00 UTC
亚太地区(孟买) ap-south-1 06:00–14:00 UTC
Asia Pacific (Osaka) ap-northeast-3 22:00–23:59 UTC
Asia Pacific (Seoul) 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
China (Beijing) cn-north-1 06:00–14:00 UTC
China (Ningxia) cn-northwest-1 06:00–14:00 UTC
Europe (Frankfurt) eu-central-1 21:00–05:00 UTC
欧洲(爱尔兰) eu-west-1 22:00–06:00 UTC
Europe (London) eu-west-2 22:00–06:00 UTC
Europe (Paris) eu-west-3 23:59–07:29 UTC
Europe (Milan) eu-south-1 02:00–10:00 UTC
Europe (Stockholm) eu-north-1 23:00–07:00 UTC
中东(巴林) me-south-1 06:00–14:00 UTC
中东(阿联酋) me-central-1 05:00–13:00 UTC
South America (São Paulo) sa-east-1 00:00–08:00 UTC
Amazon GovCloud(美国东部) us-gov-east-1 17:00–01:00 UTC
Amazon GovCloud(美国西部) us-gov-west-1 06:00–14:00 UTC

调整首选数据库实例维护时段

维护时段应当选在使用量最小的时段上,因而可能必须不时予以修改。数据库实例只会在应用系统更改(例如,数据库实例类中的更改)而需要中断的期间内不可用。数据库实例仅在进行必要更改所需的最短时间内不可用。

在以下示例中,将调整数据库实例的首选维护时段。

对于此示例,我们假设存在名为 mydbinstance 的数据库实例,它首选的维护时段为 UTC 时间“Sun:05:00–Sun:06:00”。

调整首选维护时段

  1. 登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择数据库,然后选择您希望修改的数据库实例。

  3. 选择修改。将显示 Modify DB Instance (修改数据库实例) 页面。

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

    注意

    数据库实例的维护时段不能与备份时段重叠。如果向与备份时段重叠的维护时段内输入值,会显示一条错误消息。

  5. 选择 Continue (继续)

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

  6. 要立即应用对维护时段的更改,请选择立即应用

  7. 选择修改数据库实例以保存更改。

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

要调整首选维护时段,请使用带下列参数的 Amazon CLI modify-db-instance 命令:

  • --db-instance-identifier

  • --preferred-maintenance-window

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

对于 Linux、macOS 或 Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --preferred-maintenance-window Tue:04:00-Tue:04:30

对于 Windows:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --preferred-maintenance-window Tue:04:00-Tue:04:30

要调整首选维护时段,请使用具有以下参数的 Amazon RDS API ModifyDBInstance 操作:

  • DBInstanceIdentifier

  • PreferredMaintenanceWindow

使用操作系统更新

RDS for MariaDB、RDS for MySQL 和 RDS for PostgreSQL 数据库实例有时需要操作系统更新。Amazon RDS 将操作系统升级到更新的版本,以提高数据库性能和客户的整体安保状况。通常而言,更新大约需要花费 10 分钟。操作系统更新不会更改数据库实例的数据库引擎版本或数据库实例类。

操作系统更新可能是可选的,也可能是强制性的。

  • 可选更新没有应用日期,可以随时应用。虽然这些更新是可选的,但我们建议您定期应用它们,以使 RDS 实例集保持最新状态。RDS 自动应用这些更新。

  • 强制更新为必需的更新且有应用日期。请制定计划以安排在此日期之前更新。在指定的应用日期之后,Amazon RDS 会自动将数据库实例的操作系统升级到最新版本。此更新将在数据库实例的后续维护时段中执行。

注意

为了履行各种合规性义务,可能需要及时了解所有可选和强制性更新。我们建议您在维护时段内定期应用 RDS 提供的所有更新。

您可以使用 Amazon Web Services Management Console或 Amazon CLI 以确定更新是可选还是强制性的。

使用 Amazon Web Services Management Console确定更新是可选还是强制性的

  1. 登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Databases(数据库),然后选择数据库实例。

  3. 选择 Maintenance & backups (维护和备份)

  4. Pending maintenance(等待维护)部分中,找到操作系统更新,然后检查 Status(状态)值。

在 Amazon Web Services Management Console中,可选的更新将其维护 Status(状态)设置为 available(可用)并且没有 Apply date(应用日期),如下图所示。


                        可选操作系统更新

强制性更新将其维护 Status(状态)设置为 required(必需)并且有 Apply date(应用日期),如下图所示。


                        必需的操作系统更新

要使用 Amazon CLI 确定更新是可选还是强制性的,请调用 describe-pending-maintenance-actions 命令。

aws rds describe-pending-maintenance-actions

强制性操作系统更新包括 AutoAppliedAfterDate 值和 CurrentApplyDate 值。可选的操作系统更新不包含这些值。

以下输出显示强制性操作系统更新。

{ "ResourceIdentifier": "arn:aws:rds:us-east-1:123456789012:db:mydb1", "PendingMaintenanceActionDetails": [ { "Action": "system-update", "AutoAppliedAfterDate": "2022-08-31T00:00:00+00:00", "CurrentApplyDate": "2022-08-31T00:00:00+00:00", "Description": "New Operating System update is available" } ] }

以下输出显示可选的操作系统更新。

{ "ResourceIdentifier": "arn:aws:rds:us-east-1:123456789012:db:mydb2", "PendingMaintenanceActionDetails": [ { "Action": "system-update", "Description": "New Operating System update is available" } ] }

操作系统更新的可用性

操作系统更新特定于数据库引擎版本和数据库实例类。因此,数据库实例在不同的时间接收或要求更新。当根据数据库实例的引擎版本和实例类,数据库实例有可用的操作系统更新时,更新将显示在控制台中。也可以通过运行 Amazon CLI describe-pending-maintenance-actions 命令或通过调用 RDS DescribePendingMaintenanceActions API 操作来查看更新。如果您的实例有可用更新,则可以按照应用数据库实例的更新中的说明更新操作系统。

强制性操作系统更新时间表

我们计划使用以下时间表进行强制性操作系统更新。对于表格中的每个日期,开始时间均为 00:00 通用协调时间 (UTC)。

数据库引擎 应用日期

RDS for MySQL

2022 年 8 月 31 日*

RDS for MariaDB

2022 年 8 月 31 日

RDS for PostgreSQL

2022 年 8 月 31 日

* 对于 RDS for MySQL,此日期仅适用于亚太地区(雅加达)区域。对于其他 Amazon Web Services 区域,强制性操作系统更新已完成。

在应用日期之后,Amazon RDS 将在后续维护时段中自动将数据库实例的操作系统升级到最新版本。为避免自动升级,我们建议您安排在应用日期之前进行更新。