维护数据库实例 - 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 或 Amazon 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 小时时间段中选择出来的。如果在创建数据库实例时未指定首选维护时段,则 Amazon 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
Asia Pacific (Mumbai) 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
南美洲(圣保罗) 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 MySQL 和 PostgreSQL 数据库实例有时需要强制更新操作系统。Amazon RDS 将操作系统升级到更新的版本,以提高数据库性能和客户的整体安保状况。通常而言,更新大约需要花费 10 分钟。更新不会影响数据库实例的运作方式。

是否需要为数据库实例强制更新操作系统取决于其数据库引擎版本和数据库实例类别。在以下部分中,您可以找到适用于 RDS for MySQL 和 RDS for PostgreSQL 的受影响数据库引擎版本和数据库实例类别的说明。

有关查看维护更新是否可用于数据库实例的信息,请参阅 查看待处理维护

为 RDS for MySQL 强制更新操作系统

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

操作或建议 日期范围

我们建议您更新 RDS for MySQL 数据库实例的操作系统。

要更新操作系统,请按照 应用数据库实例的更新 中的说明进行操作。

现在至 2022 年 2 月 14 日

Amazon RDS 会在维护时段内开始将 RDS for MySQL 数据库实例的操作系统自动升级到最新版本。

2022 年 2 月 14 日 - 2022 年 3 月 30 日

无论是否在维护时段内,Amazon RDS 都会开始将 RDS for MySQL 数据库实例的操作系统自动升级到最新版本。

2022 年 3 月 30 日之后

为了按要求进行此操作系统更新,数据库实例必须运行下表中每个数据库实例类都带有“Yes”(是)的操作系统版本。

针对 RDS for MySQL 的版本和数据库实例类别的强制性操作系统更新
RDS for MySQL 版本 db.t2 db.r4 db.m4 db.t3 db.r5 db.m5

8.0.23 和更高的 8.0.x 版本

8.0.21 及更低的 8.0.x 版本

5.7.33 和更高的 5.7 版本

5.7.31 及更低的 5.7.x 版本

5.6.51 和更高的 5.6.x 版本

5.6.49 及更低的 5.6.x 版本

为 RDS for PostgreSQL 强制更新操作系统

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

操作或建议 日期范围

建议您更新 RDS for PostgreSQL 数据库实例的操作系统。

要更新操作系统,请按照 应用数据库实例的更新 中的说明进行操作。

现在至 2022 年 6 月 30 日

Amazon RDS 会在维护时段内开始将 RDS for PostgreSQL 数据库实例的操作系统自动升级到最新版本。

2022 年 6 月 30 日至 2022 年 10 月 30 日

无论是否在维护时段内,Amazon RDS 都会开始将 RDS for PostgreSQL 数据库实例的操作系统自动升级到最新版本。

2022 年 10 月 30 日之后

为了按要求进行此操作系统更新,数据库实例必须运行下表中每个数据库实例类都带有“Yes”(是)的操作系统版本。

为 RDS for PostgreSQL 按版本和数据库实例类别强制更新操作系统
RDS for PostgreSQL 版本 db.t2 db.r4 db.m4 db.t3 db.r5 db.m5

所有 13 版本

12.7 及更高的 12.x 版本

12.6

12.5 及更低的 12.x 版本

11.12 及更高的 11.x 版本

11.11

11.10 及更低的 11.x 版本

10.17 及更高的 10.x 版本

10.16

10.15 及更低的 10.x 版本

9.6.22 和更高的 9.6 版本

9.6.21

9.6.20 及更低的 9.6.x 版本

强制性操作系统更新的建议操作

是否需要为数据库实例强制更新操作系统取决于其数据库引擎版本和数据库实例类别。您可以在 Mandatory operating system updates by DB engine version and DB instance class for RDS for MySQLMandatory operating system updates by DB engine version and DB instance class for RDS for PostgreSQL 中找到受影响的数据库引擎版本和数据库实例类。

如果根据数据库引擎版本和数据库实例类,经判断需要对数据库实例进行操作系统更新,则所需的更新将显示在 Amazon Web Services Management Console。在这种情况下,请按照 应用数据库实例的更新 中的说明更新操作系统。

尽管我们建议采取本节中描述的操作,但 Amazon RDS 不会自动升级或修改数据库实例的数据库实例类。Amazon RDS 不会升级数据库实例的数据库引擎版本,除非开启了 auto minor version upgrade(自动升级次要版本)选项。有关 auto minor version upgrade(自动升级次要版本)选项的更多信息,请参阅 自动升级次要引擎版本

如果您无法在 Amazon Web Services Management Console 中识别任何强制性操作系统更新,建议您采取以下操作:

  • 您的数据库实例未使用需要执行此项操作系统更新的数据库引擎版本。您的数据库实例使用受影响的数据库实例类。

    请采取以下建议的操作:

    1. 将数据库引擎版本升级到需要执行此项操作系统更新的版本。有关更多信息,请参阅 升级数据库实例引擎版本

    2. 按照 应用数据库实例的更新 中的说明更新操作系统。

  • 您的数据库实例使用的是需要执行此项操作系统更新的数据库引擎版本。您的数据库实例使用受此更新影响的数据库实例类系列中较旧的数据库实例类。

    建议您修改数据库实例,以使用需要执行此项操作系统更新的数据库实例类。例如,如果数据库实例使用 db.r3 数据库实例类,建议您修改数据库实例以使用 db.r4 或 db.r5 数据库实例类。同样,如果数据库实例使用 db.m3 数据库实例类,建议您修改数据库实例以使用 db.m4 或 db.m5 数据库实例类。在这种情况下,您无需更新操作系统,因为数据库实例类的修改会应用操作系统更新。您还可以修改数据库实例以使用不同的数据库实例类系列,例如 db.m6g 或 db.r6g。

    如果您的数据库实例已使用的数据库实例类不在受此操作系统更新影响的数据库实例类系列中,则无需修改其数据库实例类。例如,如果您的数据库实例使用 db.m6g、db.x2g 或 db.z1d 数据库实例类,则无需修改其数据库实例类。

    有关数据库实例类的更多信息,请参阅 数据库实例类。有关修改数据库实例的更多信息,请参阅 修改 Amazon RDS 数据库实例

  • 您的数据库实例未使用需要执行此项操作系统更新的数据库引擎版本。您的数据库实例使用了受此操作系统更新影响的数据库实例类系列中较旧的数据库实例类。

    请采取以下建议的操作:

    1. 将数据库引擎版本升级到需要执行此项操作系统更新的版本。有关更多信息,请参阅 升级数据库实例引擎版本

    2. 修改数据库实例,以使用“相同数据库实例类系列中”“不同数据库实例类系列中”“较新的数据库实例类”“较新的数据库实例类”。

      例如,如果数据库实例使用 db.r3 数据库实例类,建议您修改数据库实例以使用 db.r4 或 db.r5 数据库实例类。同样,如果数据库实例使用 db.m3 数据库实例类,建议您修改数据库实例以使用 db.m4 或 db.m5 数据库实例类。在这种情况下,您无需更新操作系统,因为数据库实例类的修改会应用操作系统更新。您还可以修改数据库实例以使用不同的数据库实例类系列,例如 db.m6g 或 db.r6g。

      有关数据库实例类的更多信息,请参阅 数据库实例类。有关修改数据库实例的更多信息,请参阅 修改 Amazon RDS 数据库实例