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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

维护 Amazon DocumentDB

Amazon DocumentDB 会定期对 Amazon DocumentDB 资源执行维护。维护最常涉及对数据库引擎(集群维护)或实例的底层操作系统 (OS)(实例维护)的更新。

某些维护项目要求 Amazon DocumentDB 使实例脱机一小段时间。要求实例脱机的维护项目包括必需的操作系统或引擎修补。仅对与安全性和实例可靠性相关的修补程序自动安排必需的修补。在集群或实例上执行维护时,将会出现这种情况;如果实例是主实例,将进行故障转移。有关更多信息,请参阅Amazon DocumentDB 故障转移

集群和实例维护都有各自的维护时段。默认情况下,Amazon DocumentDB 会为集群和每个单独的实例分配维护时段。您可以在创建集群或实例时选择维护时段。也可以随时修改维护时段以适应您的业务计划或实践。通常,建议选择尽量减少对应用程序的影响的维护时段(例如,晚上或周末)。本指南与您遇到的应用程序类型和使用模式密切相关。

确定待处理的 Amazon DocumentDB 维护操作

您可以使用 Amazon Web Services Management Console或 Amazon CLI 来查看维护更新是否对集群可用。

如果有可用更新,您可以执行以下操作之一:

  • 推迟维护操作。

  • 立即应用维护操作。

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

  • 不执行任何操作。

重要

某些 OS 更新标记为必需。如果您推迟某个必需的更新,则会收到一条来自 Amazon DocumentDB 的通知,指示何时对实例或集群执行此更新。其他更新为可用。您可以无限期推迟这些更新。

维护时段确定待处理的操作何时开始,但不限制这些操作的总执行时间。维护操作不保证在维护时段结束前完成,可以在超出指定的结束时间后继续。

使用 Amazon Web Services Management Console

如果有更新,则用单词表示Available要么必需中的维护Amazon DocumentDB 控制台上集群的列,如下所示:


               显示集群维护列的 Amazon DocumentDB 控制台。

使用 Amazon CLI

使用以下 Amazon CLI 操作确定待处理的维护操作。此处的输出显示没有待处理的维护操作。

aws docdb describe-pending-maintenance-actions

此操作的输出将类似于下文(JSON 格式)。

{ "PendingMaintenanceActions": [] }

应用 Amazon DocumentDB 更新

通过 Amazon DocumentDB,您可以选择何时应用维护操作。您可以使用 Amazon DocumentDB 何时应用更新。Amazon Web Services Management Console要么Amazon CLI.

使用此主题中的过程对实例立即执行升级或者计划升级。

使用 Amazon Web Services Management Console

您可以使用控制台管理 Amazon DocumentDB 实例和集群的更新。

管理实例或集群的更新

  1. 登录到Amazon Web Services Management Console,然后在以下位置打开 Amazon DocumentDB 控制台https://console.aws.amazon.com/docdb.

  2. 在导航窗格中,选择集群

  3. 在集群列表中,选择要应用维护操作的集群名称旁边的按钮。

  4. Actions (操作) 菜单中,选择以下选项之一:

    • Upgrade now (立即升级),以立即执行挂起的维护任务。

    • Upgrade at next window (在下一个时段升级),以在集群的下一个维护时段中执行挂起的维护任务。

      注意

      如果没有挂起的维护任务,上面的两个选项均会处于非活动状态。

使用 Amazon CLI

要将挂起的更新应用于实例或集群,请使用 apply-pending-maintenance-action Amazon CLI 操作。

参数

  • --resource-identifier— 待处理的维护操作应用于的资源的 Amazon DocumentDB 资源名称 (ARN)。

  • --apply-action— 应用于此资源的待处理的维护操作。

    有效值:system-updatedb-upgrade

  • --opt-in-type— 用于指定加入请求类型或撤消加入请求的值。不能撤消 immediate 类型的加入请求。

    有效值:

    • immediate— 立即应用维护操作。

    • next-maintenance— 在资源的下一个维护时段内应用维护操作。

    • undo-opt-in— 取消任何现有next-maintenance加入请求。

对于 Linux、macOS 或 Unix:

aws docdb apply-pending-maintenance-action \ --resource-identifier arn:aws:rds:us-east-1:123456789012:db:docdb \ --apply-action system-update \ --opt-in-type immediate

对于 Windows:

aws docdb apply-pending-maintenance-action ^ --resource-identifier arn:aws:rds:us-east-1:123456789012:db:docdb ^ --apply-action system-update ^ --opt-in-type immediate

要返回至少有一个挂起更新的资源列表,请使用 describe-pending-maintenance-actions Amazon CLI 操作。

对于 Linux、macOS 或 Unix:

aws docdb describe-pending-maintenance-actions \ --resource-identifier arn:aws:rds:us-east-1:001234567890:db:docdb

对于 Windows:

aws docdb describe-pending-maintenance-actions ^ --resource-identifier arn:aws:rds:us-east-1:001234567890:db:docdb

此操作的输出将类似于下文(JSON 格式)。

{ "PendingMaintenanceActions": [ { "ResourceIdentifier": "arn:aws:rds:us-east-1:001234567890:cluster:sample-cluster", "PendingMaintenanceActionDetails": [ { "Action": "system-update", "CurrentApplyDate": "2019-01-11T03:01:00Z", "Description": "db-version-upgrade", "ForcedApplyDate": "2019-01-18T03:01:00Z", "AutoAppliedAfterDate": "2019-01-11T03:01:00Z" } ] } ] }

您还可以通过指定--filters的参数describe-pending-maintenance-actions Amazon CLIoperation. --filters 操作的格式是 Name=filter-name,Values=resource-id,...

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

  • db-cluster-id— 接受集群标识符或 ARN 的列表。返回的列表只包括这些标识符或 ARN 标识的集群的挂起的维护操作。

  • db-instance-id— 接受实例标识符或 ARN 的列表。返回的列表只包括这些标识符或 ARN 标识的实例的挂起的维护操作。

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

对于 Linux、macOS 或 Unix:

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

对于 Windows:

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

应用日期

每个维护操作都有一个相应的应用日期,您可以在描述待处理的维护操作时找到它们。当您从 Amazon CLI 读取待处理维护操作的输出时,将列出以下三个日期:

  • CurrentApplyDate— 将立即应用或在下一个维护时段期间应用维护操作的日期。如果维护是可选的,则该值可以为 null

  • ForcedApplyDate— 自动应用维护的日期,与维护时段无关。

  • AutoAppliedAfterDate— 将在该日期后的集群维护时段期间应用维护。

用户启动的更新

作为 Amazon DocumentDB 用户,您可以启动对集群或实例的更新。例如,您可以将实例的类修改为具有更多或更少内存的类,也可以更改集群的参数组。Amazon DocumentDB 查看这些更改与 Amazon DocumentDB 启动的更新不同。有关修改集群或实例的更多信息,请参阅以下内容:

要查看待处理的用户启动的修改的列表,请运行以下命令。

查看实例的待处理的用户启动的更改

对于 Linux、macOS 或 Unix:

aws docdb describe-db-instances \ --query 'DBInstances[*].[DBClusterIdentifier,DBInstanceIdentifier,PendingModifiedValues]'

对于 Windows:

aws docdb describe-db-instances ^ --query 'DBInstances[*].[DBClusterIdentifier,DBInstanceIdentifier,PendingModifiedValues]'

此操作的输出将类似于下文(JSON 格式)。

在本例中,sample-cluster-instance 有针对 db.r5.xlarge 实例类的待处理更改,sample-cluster-instance-2 没有待处理的更改。

[ [ "sample-cluster", "sample-cluster-instance", { "DBInstanceClass": "db.r5.xlarge" } ], [ "sample-cluster", "sample-cluster-instance-2", {} ] ]

管理您的 Amazon DocumentDB 维护窗口

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

这个 30 分钟维护时段是随机从每个区域的 8 小时时间段中选择出来的。如果您未在创建实例或集群时指定首选维护时段,Amazon DocumentDB 会在一星期中随机选择的某天为您分配 30 分钟的维护时段。

下表列出的是分配了默认维护窗口的各个区域的时间段。

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

更改维护时段

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

对于数据库引擎升级,Amazon DocumentDB 会使用集群的首选维护时段,而不是单个实的维护时段。

更改维护时段