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

维护数据库实例

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

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

在应用操作系统更新时,数据库实例不会自动备份,所以您应该在应用更新前备份数据库实例。

您可以使用 RDS 控制台、AWS CLI 或 Amazon RDS API 来查看维护更新是否对数据库实例可用。如果某个更新可用,则该更新将由 Amazon RDS 控制台上的数据库实例Maintenance (维护) 列中的 Available (可用)Required (必需) 一词指示,如下所示:


            可用的脱机修补程序

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

  • 推迟维护项目。

  • 立即应用维护项目。

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

  • 不执行任何操作。

注意

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

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

应用数据库实例的更新

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

AWS 管理控制台

管理数据库实例的更新

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

  2. 在导航窗格中,选择 Instances (实例)

  3. 选中具有必需更新的数据库实例所对应的复选框。

  4. 选择 Instance actions (实例操作),然后选择下列选项之一:

    • 立即升级

    • 在下一个窗口升级

      注意

      如果您选择 Upgrade at next window (在下一个窗口升级),并且以后希望延迟更新,可以选择 Defer upgrade (推迟升级)

CLI

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

针对 Linux、OS X 或 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

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

针对 Linux、OS X 或 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-instance1sample-instance2 数据库实例的待处理维护操作。

针对 Linux、OS X 或 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

API

要将更新应用于数据库实例,请调用 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 将使用您的数据库实例上的一些资源。您可观察到对性能的影响甚微。对于数据库实例来说,在极少数情况下,可能需要多可用区故障转移才能完成维护更新。

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

区域 时间数据块
美国西部(俄勒冈)区域 06:00–14:00 UTC
美国西部(加利福利亚北部)区域 06:00–14:00 UTC
美国东部(俄亥俄)区域 03:00–11:00 UTC
美国东部(弗吉尼亚北部)地区 03:00–11:00 UTC
亚太地区(孟买)区域 17:30–01:30 UTC
亚太区域(首尔) 13:00–21:00 UTC
亚太区域(新加坡) 14:00–22:00 UTC
亚太区域(悉尼) 12:00–20:00 UTC
亚太区域(东京) 13:00–21:00 UTC
加拿大 (中部) 区域 03:00–11:00 UTC
欧洲(法兰克福)区域 23:00–07:00 UTC
欧洲(爱尔兰)区域 22:00–06:00 UTC
欧洲 (伦敦) 区域 22:00–06:00 UTC
南美洲(圣保罗)区域 00:00–08:00 UTC
AWS GovCloud(美国) 06:00–14:00 UTC

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

维护时段应当选在使用量最小的时段上,因而可能必须不时予以修改。数据库实例只会在应用系统更改 (例如,扩展存储操作或数据库实例类的更改) 并且需要中断的期间出现不可用现象,且持续时间只是这些必要更改所需的最少时间。

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

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

AWS 管理控制台

调整首选维护时段

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

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

  3. 选择实例操作,然后选择修改。此时会显示 Modify DB Instance (修改数据库实例) 页面。

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

    注意

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

  5. 选择 Continue (继续)

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

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

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

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

CLI

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

  • --db-instance-identifier

  • --preferred-maintenance-window

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

针对 Linux、OS X 或 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

API

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

  • DBInstanceIdentifier = mydbinstance

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

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

https://rds.us-west-2.amazonaws.com/ ?Action=ModifyDBInstance &DBInstanceIdentifier=mydbinstance &PreferredMaintenanceWindow=Tue:04:00-Tue:04:30 &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2014-09-01 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/rds/aws4_request &X-Amz-Date=20140425T192732Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3