

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

# 维护 Amazon DocumentDB
<a name="db-instance-maintain"></a>

Amazon DocumentDB 定期执行两种维护：
+ **集群维护会**更新数据库引擎。引擎更新包含安全补丁、错误修复、新功能和其他引擎增强功能。
+ **实例维护会**更新实例上的操作系统 (OS)。

引擎补丁和操作系统更新使用相同的三个生命周期类别（*可选**、*必需和*强制*），每个类别的通知和应用行为相同。引擎版本还有第四类：*次要版本*，您可以手动升级到次要版本。这些类别是：
+ **可选 ** —包含非关键改进。没有自动申请日期，也没有 AHD 通知；在适合你的时候申请。（对于操作系统更新，您可以订阅`RDS-EVENT-0230`以便在更新可用时收到通知。）
+ **必需 ** —包含安全补丁和其他重要补丁。您将通过 Health Dashboard (AHD) 和电子邮件收到通知。在集群或实例维护窗口之后的集群或实例维护时段内，必需的操作会自动生效。`AutoAppliedAfterDate`您可以在该日期之前更改维护时段来推迟。
+ **强制 ** — 一种罕见的、非常关键的修复方法。 Auto-applies 在维护窗口之外的`ForcedApplyDate`。只有在没有其他选项可用时，Amazon DocumentDB 才会指定强制执行的操作。
+ **次要版本**（仅限引擎版本）— 在主要版本之上编号的引擎版本（例如，`5.0.1`）。 User-driven：您可以通过修改集群的引擎版本进行升级。永远不要自动应用；没有 AHD 通知。对于早于 5.0 的主要版本，不会发布次要版本。

引擎补丁按单一类别（可选、必需或强制发布）发布，并保持不变。操作系统更新进度：大多数操作系统开始时都是可选的，如果不适用，则过渡到必需更新，最终是强制更新。确切的时间取决于补丁，发布在 AHD 通知和返回的日期字段中`describe-pending-maintenance-actions`（参见[应用日期](#db-instance-updates-apply-date)）。亚马逊 DocumentDB [ 发行说明在宣布引擎变更时](https://docs.aws.amazon.com/documentdb/latest/devguide/release-notes.html)使用这些类别名称。

应用任何引擎补丁都会使集群短暂脱机。本主题的其余部分将介绍维护窗口的工作原理、如何查找待处理的工作、如何应用引擎补丁和次要版本、操作系统更新的工作原理以及全局集群的特殊处理。

**Topics**
+ [亚马逊 DocumentDB 的维护操作](#maintenance-actions)
+ [引擎版本编号](#engine-version-numbering)
+ [管理您的 Amazon DocumentDB 维护窗口](#maintenance-window)
+ [Amazon DocumentDB 引擎补丁通知](#patch-notifications)
+ [查看待处理的 Amazon DocumentDB 维护操作](#view-pending-maintenance)
+ [Amazon DocumentDB 引擎更新](#db-instance-updates-apply)
+ [次要版本升级](#minor-version-upgrades)
+ [Amazon DocumentDB 操作系统更新](#os-system-updates)
+ [User-initiated 更新](#user-initiated-updates)
+ [全局集群补丁](#global-clusters-patching)

## 亚马逊 DocumentDB 的维护操作
<a name="maintenance-actions"></a>

以下维护操作适用于 Amazon DocumentDB 集群：
+  `system-update`— 升级 Amazon DocumentDB 集群的引擎补丁。有关更多信息，请参阅 [Amazon DocumentDB 引擎更新](#db-instance-updates-apply)。
+  `os-upgrade`— 使用滚动升级，更新 Amazon DocumentDB 集群中所有数据库实例的操作系统。有关更多信息，请参阅 [Amazon DocumentDB 操作系统更新](#os-system-updates)。

以下维护操作适用于 Amazon DocumentDB 实例：
+  `system-update`— 升级 Amazon DocumentDB 实例的操作系统。我们建议您改用集群级别的`os-upgrade`维护操作。有关更多信息，请参阅 [Amazon DocumentDB 操作系统更新](#os-system-updates)。

## 引擎版本编号
<a name="engine-version-numbering"></a>

Amazon DocumentDB 使用两个单独的版本标识符：
+ **引擎版本 ** — 由三部分组成的表单中的数字`{{major}}.{{major}}.{{minor}}`（例如，`5.0.0`或`5.0.1`）。前两部分 (`5.0`) 是 MongoDB 兼容性版本；第三部分是次要版本，当 Amazon DocumentDB 发布包含错误修复和非破坏性改进的次要版本时，该版本会增加。这是您在创建或升级集群时指定的版本。
+ **引擎补丁**版本 — 一个由三部分组成的独立数字`{{major}}.0.{{patch}}`（例如，`3.0.17983`），用于标识应用于您的集群的补丁级别。中间的数字始终是`0`。补丁版本包含重要的安全性和稳定性补丁。

您可以根据引擎补丁版本的前缀确定引擎版本，如下表所示。


| 引擎补丁版本前缀 | 亚马逊 DocumentDB 引擎版本 | 
| --- | --- | 
| 1.0.{{x}} | 3.6 | 
| 2.0.{{x}} | 4.0 | 
| 3.0.{{x}} | 5.0 | 
| 4.0.{{x}} | 8.0 | 

要检查您的集群正在运行的补丁版本，请连接并运行`db.runCommand({getEngineVersion: 1})`。

有关已发布的引擎补丁版本列表以及每个版本包含的内容，请参阅[发布说明](release-notes.md)。

## 管理您的 Amazon DocumentDB 维护窗口
<a name="maintenance-window"></a>

每个集群和每个实例都有自己的每周 30 分钟维护窗口，即计划修改和软件补丁运行的时段。大多数活动在 30 分钟内完成；较大的活动可以持续更长时间。

如果您在创建资源时未选择窗口，Amazon DocumentDB 会在为该地区定义的 8 小时每日区块内随机选择一个时段。选择可最大限度地减少对应用程序影响的窗口，例如晚间或周末。

对于数据库引擎升级，Amazon DocumentDB 使用集群的窗口，而不是单个实例的窗口。

下表显示了每个区域的默认时段。


| 区域名称 | Region | UTC 时间数据块 | 
| --- | --- | --- | 
| 美国东部（俄亥俄州） | us-east-2 | 03:00-11:00 | 
| 美国东部（弗吉尼亚州北部） | us-east-1 | 03:00-11:00 | 
| 美国西部（俄勒冈州） | us-west-2 | 06:00-14:00 | 
| 非洲（开普敦） | af-south-1 | 03:00–11:00 | 
| 亚太地区（香港） | ap-east-1 | 06:00-14:00 | 
| 亚太地区（海得拉巴） | ap-south-2 | 06:30–14:30 | 
| 亚太地区（马来西亚） | ap-southeast-5 | 13:00-21:00 | 
| 亚太地区（孟买） | ap-south-1 | 06:00-14:00 | 
| 亚太地区（大阪） | ap-northeast-3 | 12:00-20:00 | 
| 亚太地区（首尔） | ap-northeast-2 | 13:00-21:00 | 
| 亚太地区（新加坡） | ap-southeast-1 | 14:00-22:00 | 
| 亚太地区（悉尼） | ap-southeast-2 | 12:00-20:00 | 
| 亚太地区（雅加达） | ap-southeast-3 | 08:00-16:00 | 
| 亚太地区（墨尔本） | ap-southeast-4 | 11:00-19:00 | 
| 亚太地区（泰国） | ap-southeast-7 | 15:00-23:00 | 
| 亚太地区（东京） | ap-northeast-1 | 13:00-21:00 | 
| 加拿大（中部） | ca-central-1 | 03:00-11:00 | 
| 加拿大西部（卡尔加里） | ca-west-1 | 18:00-02:00 | 
| 中国（北京） | cn-north-1 | 06:00-14:00 | 
| 中国（宁夏） | cn-northwest-1 | 06:00-14:00 | 
| 欧洲地区（法兰克福） | eu-central-1 | 21:00-05:00 | 
| 欧洲（苏黎世） | eu-central-2 | 02:00-10:00 | 
| 欧洲地区（爱尔兰） | eu-west-1 | 22:00-06:00 | 
| 欧洲地区（伦敦） | eu-west-2 | 22:00-06:00 | 
| 欧洲地区（米兰） | eu-south-1 | 02:00-10:00 | 
| 欧洲地区（巴黎） | eu-west-3 | 23:59-07:29 | 
| 欧洲（西班牙） | eu-south-2 | 02:00–10:00 | 
| 欧洲地区（斯德哥尔摩） | eu-north-1 | 04:00 — 12:00 | 
| 墨西哥（中部） | mx-central-1 | 03:00-11:00 | 
| 中东（阿联酋）： | me-central-1 | 05:00–13:00 | 
| 南美洲（圣保罗） | sa-east-1 | 00:00-08:00 | 
| 以色列（特拉维夫） | il-central-1 | 04:00-12:00 | 
| AWS GovCloud (US-East) | us-gov-east-1 | 17:00-01:00 | 
| AWS GovCloud (US-West) | us-gov-west-1 | 06:00-14:00 | 

### 更改您的 Amazon DocumentDB 维护窗口
<a name="maintenance-windows"></a>

尽可能选择最低流量窗口，并随着流量模式的变化进行调整。只有当系统变更（例如扩展存储操作或实例类别更改）需要停机时，集群或实例才能在窗口期间不可用，并且仅在变更实际需要的时间内不可用。

**更改维护时段**
+ 对于集群：请参阅[修改 Amazon DocumentDB 集群](db-cluster-modify.md)。
+ 对于实例：请参阅[修改 Amazon DocumentDB 实例](db-instance-modify.md)。

## Amazon DocumentDB 引擎补丁通知
<a name="patch-notifications"></a>

当*所需的*引擎补丁在某个 AWS 地区可用时，在该地区拥有受影响 Amazon DocumentDB 集群的每个 AWS 账户都会通过 Health Dashboard (AHD) 和电子邮件（发送到该 AWS 账户的根用户地址）收到通知。每个受影响的 Amazon DocumentDB 引擎版本都会发送一条通知。您可以在 AHD 的 “**预定更改**” 下找到它们。每份通知都列出了补丁可用时间、自动应用时间表、受影响的集群和发行说明。

![Amazon DocumentDB 控制台显示引擎补丁升级的“计划更改”选项卡。](https://docs.aws.amazon.com/zh_cn/documentdb/latest/devguide/images/scheduled-changes.png)


所需的引擎补丁的单一交货期约为 30 天。当补丁在您所在的地区可用时，Amazon DocumentDB 会发送上述通知。此时，该补丁的发布时间设定`AutoAppliedAfterDate`为大约 30 天后。在此之前，该补丁一直处于待处理状态：您可以随时应用该补丁，也可以将集群的维护窗口移至稍后一天进行推迟。在之后或之后`AutoAppliedAfterDate`，该补丁将在集群的下一个维护时段内自动应用。

例如，2026 年 6 月 1 日发布的必需补丁大约为 2026 年 7 月 1 日。`AutoAppliedAfterDate`您将在 2026 年 6 月 1 日收到通知，如果您不采取任何措施，补丁将在 2026 年 7 月 1 日或之后的集群的第一个维护时段内自动生效。

收到通知后，您有两种选择：在自动应用日期之前自行应用补丁，或者在即将到来的维护时段（默认）等待补丁自动应用。要自行申请，请打开集群的 “**维护和备份**” 选项卡并查找类型`system-update`条目。

**注意**  
**在亚马逊DocumentDB发布另一个带有新补**丁版本的引擎补丁**之前，通知在AHD中的**状态将保持有效。  
应用补丁后，集群的引擎补丁版本将更新以匹配通知中的版本。通过运行来验证新版本`db.runCommand({getEngineVersion: 1})`。

可选补丁和新的次要版本不会生成 AHD 或电子邮件通知。要对其进行跟踪，请观看亚马逊 DocumentDB [ 发行说明](https://docs.aws.amazon.com/documentdb/latest/devguide/release-notes.html)。

强制补丁（最罕见的类别，专用于最关键的安全补丁）也通过AHD和电子邮件发布。与必需的补丁不同，它们在维护窗口之外适用，因此上面的自动应用时间示例不适用。

### 以编程方式对补丁通知做出反应
<a name="patch-notifications-eventbridge"></a>

AWS Health 与亚马逊集成 EventBridge，允许您在 20 多个目标上构建事件驱动的应用程序，包括 AWS Lambda 亚马逊简单队列服务 (SQS)。要以编程方式对引擎补丁的可用性做出反应，请 EventBridge 针对事件进行配置。`AWS_DOCDB_DB_PATCH_UPGRADE_MAINTENANCE_SCHEDULED`在此处，您可以捕获事件数据、引发其他事件、通过发送推送通知或采取所需的任何其他操作。 AWS Console Mobile Application

如果亚马逊 DocumentDB 取消补丁（罕见），您将收到 AHD 通知和一封有关取消的电子邮件。使用亚马逊`AWS_DOCDB_DB_PATCH_UPGRADE_MAINTENANCE_CANCELLED`的事件代码 EventBridge 来处理此案件。有关编写规则的更多信息，请参阅[亚马逊 EventBridge 用户指南](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html)。

## 查看待处理的 Amazon DocumentDB 维护操作
<a name="view-pending-maintenance"></a>

使用 AWS 管理控制台 或 AWS CLI 来检查集群或实例的待维护情况。

待处理的更新以操作类型显示`system-update`，该操作类型涵盖引擎补丁和操作系统更新。

待更新时，您可以：
+ 立即涂抹。
+ 将其安排到下一个维护时段。
+ 通过更改维护窗口来推迟（仅限引擎补丁和操作系统更新）`AutoAppliedAfterDate`。该日期过后，该操作将在下一个维护时段内自动生效。一旦`ForcedApplyDate`通过，就无法再延期。

**注意**  
如果您不采取任何措施，则所需的维护操作（例如所需的引擎补丁）将在即将到来的维护时段内自动生效。可选补丁和次要版本永远不会自动应用。

维护窗口控制待处理操作何时*开始*，而不是需要多长时间才能完成。

------
#### [ Using the AWS 管理控制台 ]

1. 登录并打开 Amazon DocumentDB 控制台 AWS 管理控制台，网址为[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)。

1. 在导航窗格中，选择**集群**。

1. 待更新**时**，集群的 ** “**维护” 列显示 “**可用” **、“**必需” 或 “**下一个窗口”。  
![显示集群维护列的 Amazon DocumentDB 控制台。](https://docs.aws.amazon.com/zh_cn/documentdb/latest/devguide/images/db-cluster-maintenance-updates-status.png)

1. 打开集群，然后选择 “**维护和备份” ** 以查看 “**待定维护” ** 项目并对其进行操作。  
![显示集群维护窗口的 Amazon DocumentDB 控制台。](https://docs.aws.amazon.com/zh_cn/documentdb/latest/devguide/images/cluster-maint-3.png)

------
#### [ Using the AWS CLI ]

跑`describe-pending-maintenance-actions`去看看有什么待处理的。以下示例显示了一个没有待处理操作的账户。

```
aws docdb describe-pending-maintenance-actions
```

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

```
{
    "PendingMaintenanceActions": []
}
```

具有待处理操作的账户返回的输出如下所示：

```
{
    "PendingMaintenanceActions": [
        {
            "ResourceIdentifier": "arn:aws:rds:us-east-1:123456789012:cluster:sample-cluster",
            "PendingMaintenanceActionDetails": [
                {
                    "Action": "system-update",
                    "Description": "db-version-upgrade",
                    "CurrentApplyDate": "2026-05-15T03:01:00Z",
                    "AutoAppliedAfterDate": "2026-05-15T03:01:00Z"
                }
            ]
        }
    ]
}
```

您可以使用以下表单将列表范围限定为特定的集群`Name={{filter-name}},Values={{resource-id}},...`。`--filters`接受的过滤器`Name`是`db-cluster-id`，它采用集群标识符或 ARN 的列表。

**Example**  
对于 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}}
```

------

### 应用日期
<a name="db-instance-updates-apply-date"></a>

每项待处理的维护操作最多有三个申请日期。它们出现在的 AWS CLI 输出中`describe-pending-maintenance-actions`，并指示操作何时运行。字段`null`用于可选维护。
+ **CurrentApplyDate**—计划运行操作时，无论是现在还是下一个维护时段。为必需和强制操作填充。
+ **AutoAppliedAfterDate**—集群或实例维护时段内自动应用开始之后的日期。为必需的操作填充。
+ **ForcedApplyDate**—艰难的最后期限。在此日期之后，无论您的维护时段如何，操作都会自动运行。为强制行动而填充。

要推迟待处理的操作，请将维护窗口移至前一天晚些时候`AutoAppliedAfterDate`。一旦`AutoAppliedAfterDate`通过，该操作将在下一个维护时段内自动应用。一旦`ForcedApplyDate`通过，就无法再延期。每个补丁的确切延期限各不相同；日期在 AHD 通知和输出中公布。 AWS CLI 

## Amazon DocumentDB 引擎更新
<a name="db-instance-updates-apply"></a>

确定待处理的引擎补丁后，请使用以下步骤之一来应用或安排补丁。您可以从 AWS 管理控制台 或运行这些过程 AWS CLI。

------
#### [ Using the AWS 管理控制台 ]

**管理集群的更新**

1. 登录并打开 Amazon DocumentDB 控制台 AWS 管理控制台，网址为[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)。

1. 在导航窗格中，选择**集群**。

1. 选择要更新的集群。

1. 从 ** “**操作” 菜单中，选择以下任一选项：
   + **立即升级 ** —立即运行待处理的维护。
   + **在下一个窗口升级 ** —在集群的下一个维护时段内运行它。

   您还可以使用集群维护和备份**选项卡的 “**待定维护” ** 部分中的立即****申请**或在下一个**维护窗口**申请（参见[查看待处理的 Amazon DocumentDB 维护操作](#view-pending-maintenance)）。
**注意**  
如果没有待处理的内容，则所有这些选项都处于非活动状态。

------
#### [ Using the AWS CLI ]

使用应用待处理的更新`apply-pending-maintenance-action`。

**参数**
+ **--resource-identifier**— 待处理操作目标资源的 Amazon DocumentDB 亚马逊资源名称 (ARN)。
+ **--apply-action**—待执行的维护措施。`system-update`用于应用引擎补丁。
+ **--opt-in-type**—选择加入请求的类型，或者是否撤消该请求。有效值：
  + `immediate`—立即申请。提交后无法撤消。
  + `next-maintenance`—在资源的下一个维护时段内申请。
  + `undo-opt-in`—取消现有的`next-maintenance`选择加入。

**Example**  
对于 Linux、macOS 或 Unix：  

```
aws docdb apply-pending-maintenance-action \
    --resource-identifier arn:aws:rds:us-east-1:{{123456789012}}:db:{{sample-cluster-instance-1}} \
    --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:{{sample-cluster-instance-1}} ^
    --apply-action system-update ^
    --opt-in-type immediate
```

------

### 修补期间的读取可用性
<a name="read-availability-during-patching"></a>

当集群有多个实例时，Amazon DocumentDB 引擎 5.0 和 8.0 可在修补期间保持读取可用性。Amazon DocumentDB 以滚动方式分三组修补读取器实例，因此其余读取器可以继续为流量提供服务。该写入器在补丁时短暂不可用。要实现零读取停机时间，请设置您的读取首选项，以便读取可以退回写入器：`secondaryPreferred`或`primaryPreferred`正常工作；`primary`或者`secondary`单独读取可能会导致读取停机。


| 阅读偏好模式 | 在写入器升级期间 | 在读者升级期间 | 零读取停机时间所需的读取器数量最少 | 
| --- | --- | --- | --- | 
| primary | Read/write 停机时间 | 没有影响 | N/A | 
| primaryPreferred | 写入停机时间 | 没有影响 | 1 | 
| secondary | 写入停机时间 | 读取停机时间（如果只有一个读取器） | 2 | 
| secondaryPreferred | 写入停机时间 | 没有影响 | 1 | 
| nearest | 写入停机时间 | 没有影响 | 1 | 

在读取器打补丁时，集群的总读取吞吐量会暂时下降。要保持吞吐量稳定，请在升级之前配置额外的读取器，并在升级完成后将其删除。

在引擎 3.6 和 4.0 上，这些读取可用性功能不适用：引擎补丁会导致更长的停机时间，从而影响读取和写入。要升级到可以升级的主要版本，请参阅[Amazon DocumentDB 主版本就地升级](docdb-mvu.md)。

### 补丁停机时长
<a name="patch-downtime-length"></a>

Engine-patch 停机时间各不相同。最大的因素是 CPU 利用率和补丁时实例的内存压力，因此调整实例大小很重要。为了最大限度地减少停机时间，请运行最新的 Amazon DocumentDB 主要引擎版本并将实例分布在多个可用区。

### 补丁更新和替换
<a name="disappearing-engine-patches"></a>

亚马逊 DocumentDB 会在补丁发布后对其进行监控 在发现问题的极少数情况下，Amazon DocumentDB 会在准备更新版本时暂停推出。发生这种情况时，尚未收到补丁的集群将不再将其视为可用的维护操作，并且中相应的预定变更通知将被撤回。 Health Dashboard 已经运行受影响版本的集群继续正常运行，无需您执行任何操作。

不久将发布更新的补丁。当它在您所在的地区可用时，您将通过 Health Dashboard 和电子邮件收到新的通知，如中所述[Amazon DocumentDB 引擎补丁通知](#patch-notifications)。

## 次要版本升级
<a name="minor-version-upgrades"></a>

Amazon DocumentDB 在主要版本 5.0 及更高版本的基础上发布次要版本（例如，`5.0.1`）。对于早于 5.0 的主要版本，不会发布次要版本。次要版本的行为与必需和可选的引擎补丁不同：
+ 它们不会显示为待处理的维护操作，也不会自动应用。
+ 他们不生成 AHD 或电子邮件通知。新的次要版本将在亚马逊 DocumentDB [ 发行说明](https://docs.aws.amazon.com/documentdb/latest/devguide/release-notes.html)中公布。
+ 要升级，您需要修改集群的引擎版本（立即或在下一个维护时段内）。次要版本升级需要短暂的停机时间，并且是单向的，您无法降级到较早的次要版本。对于全局集群，请先升级辅助集群，然后再升级主集群。

阅读更多:[亚马逊 DocumentDB 次要版本升级](docdb-minor-version-upgrade.md).

## Amazon DocumentDB 操作系统更新
<a name="os-system-updates"></a>

实例偶尔需要操作系统更新。亚马逊 DocumentDB 更新操作系统以提高性能并加强安全性。操作系统更新使集群引擎版本和实例类保持不变。与引擎补丁一样，操作系统更新使用本主题顶部描述的可选/必需/强制生命周期；与引擎补丁不同，如果您推迟，操作系统更新可以随着时间的推移过渡到这些类别。在操作系统更新可用时立即应用这些更新，并将您的集群和实例维护窗口设置为适合您的业务需求的时间。

使用集群级`os-upgrade`维护操作将操作系统更新应用于集群中的所有实例。Amazon DocumentDB 以滚动方式更新实例，一次更新几个实例，最后更新主实例以最大限度地减少故障转移。更新在您配置的集群维护时段（而不是单个实例维护窗口）期间运行。

实例收到操作系统更新后，其缓冲区缓存开始为空。在从存储卷中重新填充工作集之前，该实例上的查询可能会遇到更高的延迟和更低`BufferCacheHitRatio`的延迟。

当 Amazon DocumentDB 更新主实例时，故障转移会将副本升级为新的主实例。使用集群终端节点，以便您的应用程序透明地处理此问题。要在实例更新期间保持读取可用性，请将读取首选项设置为，`primaryPreferred`这样读取就可以回退到可用实例。`secondaryPreferred`将潜在的故障转移目标（具有最高优先级的副本）保持在与主实例相同的实例类别。这样可以避免升级后写入性能下降。有关更多信息，请参阅 [亚马逊文档数据库故障转移](failover.md)。

集群级`os-upgrade`和实例级`system-update`操作可能同时显示在可用操作中`describe-pending-maintenance-actions`。但是，您不能同时安排两者。如果在任何实例上主动计划实例级`system-update`操作，则在计划集群级操作之前，必须取消或完成这些`os-upgrade`操作，反之亦然。

**重要**  
您的亚马逊文档数据库实例因操作系统更新而离线。 Multi-instance 集群将影响降至最低。如果您运行单实例集群，则可以临时为更新添加辅助集群，然后将其删除。次要机构在存在时会产生通常的费用。

**注意**  
实例级`system-update`操作仍然可用于向后兼容。如果必须使用它，请先更新副本，最后更新主副本，避免同时修补它们，因为补丁期间的故障转移会延长停机时间。

要在新的可选操作系统更新到来时获取事件，请在安全补丁事件类别`RDS-EVENT-0230`中订阅。有关更多信息，请参阅 [订阅 Amazon DocumentDB 事件](event-subscriptions.subscribe.md)。

**注意**  
为了合规性，可能需要及时了解可选和必需的更新。在维护时段内定期`os-upgrade`采取措施。

操作系统更新与特定的实例类别相关联，因此不同的实例在不同的时间符合条件。如果您的集群未使用最新的引擎补丁，则操作系统更新可能不会出现，请先应用最新的引擎补丁（参见[Amazon DocumentDB 引擎更新](#db-instance-updates-apply)）。

使用 AWS 管理控制台 或 AWS CLI 检查更新是否可用。

------
#### [ Using the AWS 管理控制台 ]

要从控制台检查操作系统更新，请执行以下操作：

1. 登录并打开 Amazon DocumentDB 控制台 AWS 管理控制台，网址为[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)。

1. 在导航窗格中，选择**集群**，然后选择集群名称。

1. 选择 “**维护和备份**” 选项卡。

1. 在 “**待维护” 下**，如果有操作系统更新可用，则会显示该`os-upgrade`操作。  
![显示操作系统升级维护操作的 Amazon DocumentDB 维护和备份选项卡。](https://docs.aws.amazon.com/zh_cn/documentdb/latest/devguide/images/maintenance-available-1.png)

1. 选择`os-upgrade`操作并选择 “立即**申请” ** 或 “在下一个维护时段**申请” **。如果该值是**下一个窗口**，则**只要操作尚未开始，就可以使用 “**延迟升级” 来推迟。

------
#### [ Using the AWS CLI ]

检查待处理的操作系统更新：

```
aws docdb describe-pending-maintenance-actions
```

```
{
    "PendingMaintenanceActions": [
        {
            "ResourceIdentifier": "arn:aws:rds:aa-example-1:111122223333:cluster:sample-cluster",
            "PendingMaintenanceActionDetails": [
                {
                    "Action": "os-upgrade",
                    "Description": "New Operating System update is available"
                }
            ]
        },
        {
            "ResourceIdentifier": "arn:aws:rds:aa-example-1:111122223333:db:sample-cluster-instance-1",
            "PendingMaintenanceActionDetails": [
                {
                    "Action": "system-update",
                    "Description": "New Operating System update is available"
                }
            ]
        },
        {
            "ResourceIdentifier": "arn:aws:rds:aa-example-1:111122223333:db:sample-cluster-instance-2",
            "PendingMaintenanceActionDetails": [
                {
                    "Action": "system-update",
                    "Description": "New Operating System update is available"
                }
            ]
        }
    ]
}
```

操作系统更新在集群级别显示为`os-upgrade`，在实例级别显示为`system-update`。使用集群级别`os-upgrade`的操作。

**Example**  
以下示例立即应用操作系统更新。  
对于 Linux、macOS 或 Unix：  

```
aws docdb apply-pending-maintenance-action \
    --resource-identifier arn:aws:rds:{{aa-example-1}}:{{111122223333}}:cluster:{{sample-cluster}} \
    --apply-action os-upgrade \
    --opt-in-type immediate
```
对于 Windows：  

```
aws docdb apply-pending-maintenance-action ^
    --resource-identifier arn:aws:rds:{{aa-example-1}}:{{111122223333}}:cluster:{{sample-cluster}} ^
    --apply-action os-upgrade ^
    --opt-in-type immediate
```

------

## User-initiated 更新
<a name="user-initiated-updates"></a>

一些更改是您自己开始的，例如，将一个实例类换成内存较大或更少的实例类，或者更改集群的参数组。Amazon DocumentDB 对这些问题的处理方式与其启动的更新不同。有关详细信息，请参阅：
+ [修改 Amazon DocumentDB 集群](db-cluster-modify.md)
+ [修改 Amazon DocumentDB 实例](db-instance-modify.md)

要列出用户发起但仍处于待处理状态的更改，请执行以下操作：

**Example**  
**列出待处理的用户对您的实例发起的更改 **  
对于 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",
        {}
    ]
]
```

## 全局集群补丁
<a name="global-clusters-patching"></a>

在全局群集中，每个成员群集（主群集和辅助群集）都在自己的维护时段内升级。当每个地区都有所需的引擎补丁时，您会收到 AHD 和电子邮件通知。可选补丁和新的次要版本不会生成通知；有关这些信息，请查看 Amazon DocumentDB [ 发行](https://docs.aws.amazon.com/documentdb/latest/devguide/release-notes.html)说明。

如果您自行申请，请务必先修补辅助版本，最后修补主要版本。该命令可在整个部署过程中保持故障转移和切换的可用性。

**重要**  
如果你错误地先修补了主版本，请尽快将所有辅助版本升级到同一个版本。在每个集群都处于相同版本之前，故障转移和切换将保持禁用状态。

如果您不采取任何措施，则补丁将在每个集群的下一个维护时段内自动应用：首先是辅助集群，然后在辅助集群完成后在其窗口中应用主集群。

将主数据库集群和辅助数据库集群保持在同一版本上。只有当每个集群共享相同的引擎版本和补丁级别时，托管跨区域故障转移才适用于全局数据库。如果您添加使用比主版本更新的引擎版本的新辅助版本，则同样适用——在将主版本加入全局数据库之前，在主要版本上创建新的辅助版本。

收到补丁通知后，尽早将主版本和辅助版本升级到最新版本，以保持故障转移和切换正常运行。如果故障转移或切换请求被拒绝，请比较集群间的引擎补丁版本；如果不匹配，则在滞后的集群上应用可用补丁。