维护 Amazon DocumentDB

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

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

    您可以使用 AWS 管理控制台或 AWS CLI 来查看维护更新是否对集群可用。

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

    • 推迟维护操作。

    • 立即应用维护操作。

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

    • 不执行任何操作。

    重要

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

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

    如果某个更新可用,则该更新将由 Amazon DocumentDB 控制台上的集群的 Maintenance (维护) 列中的 Available (可用)Required (必需) 一词指示,如下所示:

    使用 AWS CLI

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

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

    1. "PendingMaintenanceActions": []
    2. }

    通过 Amazon DocumentDB,您可以选择何时应用维护操作。使用 AWS 管理控制台或 AWS CLI 时,您可以决定 Amazon DocumentDB何时应用更新。

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

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

    管理实例或集群的更新

    1. 通过以下网址登录 AWS 管理控制台并打开 Amazon DocumentDB 控制台:https://console.aws.amazon.com/docdb

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

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

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

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

        注意

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

    使用 AWS CLI

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

    参数

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

    • --apply-action — 应用于此资源的挂起的维护操作。

      有效值:system-updatedb-upgrade

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

      有效值:

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

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

    对于 Linux、macOS 或 Unix:

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

    对于 Windows:

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

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

    对于 Linux、macOS 或 Unix:

    对于 Windows:

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

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

    1. "PendingMaintenanceActions": [
    2. {
    3. "ResourceIdentifier": "arn:aws:rds:us-east-1:001234567890:cluster:sample-cluster",
    4. "PendingMaintenanceActionDetails": [
    5. {
    6. "Action": "system-update",
    7. "CurrentApplyDate": "2019-01-11T03:01:00Z",
    8. "Description": "db-version-upgrade",
    9. "ForcedApplyDate": "2019-01-18T03:01:00Z",
    10. "AutoAppliedAfterDate": "2019-01-11T03:01:00Z"
    11. }
    12. ]
    13. }
    14. ]
    15. }

    通过指定 describe-pending-maintenance-actions AWS CLI 操作的 --filters 参数,您还可以返回实例或集群的资源列表。--filters 操作的格式是 Name=`filter-name`,Values=`resource-id`,...

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

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

    对于 Linux、macOS 或 Unix:

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

    对于 Windows:

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

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

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

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

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

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

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

    对于 Linux、macOS 或 Unix:

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

    对于 Windows:

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

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

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

    1. [
    2. [
    3. "sample-cluster",
    4. "sample-cluster-instance",
    5. {
    6. "DBInstanceClass": "db.r5.xlarge"
    7. }
    8. ],
    9. [
    10. "sample-cluster",
    11. "sample-cluster-instance-2",
    12. {}
    13. ]
    14. ]

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

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

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

    更改维护时段

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

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

    更改维护时段

    • 对于集群:请参阅。