

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

# 管理 Amazon DocumentDB 集群参数组
<a name="cluster_parameter_groups"></a>

您可以通过使用集群参数组中的参数来管理 Amazon DocumentDB 引擎配置。*集群参数组*是 Amazon DocumentDB 配置值的集合，这个集合让管理 Amazon DocumentDB 集群的参数更轻松。集群参数组就像是引擎配置值的容器，这些值可应用于集群中的所有实例。

本节介绍如何创建、查看和修改集群参数组。它还介绍了您可以怎样确定哪个集群参数组与给定集群关联。

**Topics**
+ [描述集群参数组](cluster_parameter_groups-describe.md)
+ [创建集群参数组](cluster_parameter_groups-create.md)
+ [修改集群参数组](cluster_parameter_groups-modify.md)
+ [修改集群以使用自定义的集群参数组](cluster_parameter_groups-modify_clusters.md)
+ [复制集群参数组](cluster_parameter_groups-copy.md)
+ [重置集群参数组](cluster_parameter_groups-reset.md)
+ [删除集群参数组](cluster_parameter_groups-delete.md)
+ [集群参数参考](cluster_parameter_groups-list_of_parameters.md)

# 描述 Amazon DocumentDB 集群参数组
<a name="cluster_parameter_groups-describe"></a>

当您在新区域创建第一个 Amazon DocumentDB 集群或使用新引擎时，`default` 集群参数组自动创建。在同一区域创建且具有相同引擎版本的后续集群将以 `default` 集群参数组创建。

**Topics**
+ [描述集群参数组详情](#cluster_parameter_groups-describe_details)
+ [确定集群的参数组](#cluster_parameter_groups-determine)
+ [确定与集群参数组关联的集群和实例](#cluster_parameter_groups-count)

## 描述 Amazon DocumentDB 集群参数组详情
<a name="cluster_parameter_groups-describe_details"></a>

要描述给定群集参数组的详细信息，请使用 AWS 管理控制台 或 AWS Command Line Interface (AWS CLI) 完成以下步骤。

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

****

1. [登录 AWS 管理控制台，然后在 /docdb 上打开亚马逊文档数据库控制台。https://console.aws.amazon.com](https://console.aws.amazon.com/docdb)

1. 在导航窗格中，选择**参数组**。
**提示**  
如果您在屏幕左侧没有看到导航窗格，请在页面左上角选择菜单图标 (![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/docdb-menu-icon.png))。

1. 在**集群参数组**窗格中，选择要查看其详细信息的参数组的名称。

1. 所得页面显示参数组的参数、最近活动和标签。
   + 在**集群参数**下，您可以看到该参数的名称、当前值、允许值、该参数是否可修改、其应用值、数据类型和描述。您可以修改各个参数，方法是：选择该参数，然后在**集群参数**部分，选择**编辑**。有关更多信息，请参阅 [修改 Amazon DocumentDB 集群参数](cluster_parameter_groups-parameters.md)。
   + 在**近期事件**下，您可以看到该参数组的最新事件。您可以使用本部分的搜索栏筛选这些事件。有关更多信息，请参阅 [管理 Amazon DocumentDB 事件](managing-events.md)。
   + 在 **Tags (标签)**下，您可以看到此集群参数组上的标签。您可以通过在**标签**部分选择**编辑**来添加或移除标签。有关更多信息，请参阅 [标记 Amazon DocumentDB 资源](tagging.md)。

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

您可以使用`describe-db-cluster-parameter-groups` AWS CLI 命令查看您为 Amazon DocumentDB 拥有的单个集群参数组或所有集群参数组的亚马逊资源名称 (ARN)、系列、描述和名称。您还可以使用`describe-db-cluster-parameters` AWS CLI 命令查看单个集群参数组中的参数及其详细信息。
+ **--describe-db-cluster-parameter-groups**：查看所有集群参数组的列表及其详细信息。
  + **--db-cluster-parameter-group-name**：可选。您想描述的集群参数组的名称。如果忽略此参数，则将描述所有集群参数组。
+ **--describe-db-cluster-parameters**：列出参数组中的所有参数及其值。
  + **--db-cluster-parameter-group name**：必需。您想描述的集群参数组的名称。

**Example**  
以下代码列出了最多 100 个集群参数组及其 ARN、族、描述和名称。  

```
aws docdb describe-db-cluster-parameter-groups
```
此操作的输出将类似于下文（JSON 格式）。  

```
{
          "DBClusterParameterGroups": [
              {
                  "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:012345678912:cluster-pg:default.docdb4.0",
                  "DBParameterGroupFamily": "docdb4.0",
                  "Description": "Default cluster parameter group for docdb4.0",
                  "DBClusterParameterGroupName": "default.docdb4.0"
              },
              {
                  "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:012345678912:cluster-pg:sample-parameter-group",
                  "DBParameterGroupFamily": "docdb4.0",
                  "Description": "Custom docdb4.0 parameter group",
                  "DBClusterParameterGroupName": "sample-parameter-group"
              }
          ]
}
```

**Example**  
以下代码列出了 `sample-parameter-group` 的 ARN、族、描述和名称。  
对于 Linux、macOS 或 Unix：  

```
aws docdb describe-db-cluster-parameter-groups \
          --db-cluster-parameter-group-name sample-parameter-group
```
对于 Windows：  

```
aws docdb describe-db-cluster-parameter-groups ^
          --db-cluster-parameter-group-name sample-parameter-group
```
此操作的输出将类似于下文（JSON 格式）。  

```
{
          "DBClusterParameterGroups": [
              {
                  "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:sample-parameter-group",
                  "Description": "Custom docdb4.0 parameter group",
                  "DBParameterGroupFamily": "docdb4.0",
                  "DBClusterParameterGroupName": "sample-parameter-group"
              }
          ]
}
```

**Example**  
以下代码列出了 `sample-parameter-group` 中参数的值。  
对于 Linux、macOS 或 Unix：  

```
aws docdb describe-db-cluster-parameters \
    --db-cluster-parameter-group-name sample-parameter-group
```
对于 Windows：  

```
aws docdb describe-db-cluster-parameters ^
    --db-cluster-parameter-group-name sample-parameter-group
```
此操作的输出将类似于下文（JSON 格式）。  

```
{
   "Parameters": [
         {
            "ParameterName": "audit_logs",
            "ParameterValue": "disabled",
            "Description": "Enables auditing on cluster.",
            "Source": "system",
            "ApplyType": "dynamic",
            "DataType": "string",
            "AllowedValues": "enabled,disabled",
            "IsModifiable": true,
            "ApplyMethod": "pending-reboot"
         },
         {
            "ParameterName": "change_stream_log_retention_duration",
            "ParameterValue": "17777",
            "Description": "Duration of time in seconds that the change stream log is retained and can be consumed.",
            "Source": "user",
            "ApplyType": "dynamic",
            "DataType": "integer",
            "AllowedValues": "3600-86400",
            "IsModifiable": true,
            "ApplyMethod": "pending-reboot"
         }
   ]
}
```

------

## 确定 Amazon DocumentDB 集群的参数组
<a name="cluster_parameter_groups-determine"></a>

要确定哪个参数组与特定集群相关联，请使用 AWS 管理控制台 或完成以下步骤 AWS CLI。

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

1. [登录 AWS 管理控制台，然后在 /docdb 上打开亚马逊文档数据库控制台。https://console.aws.amazon.com](https://console.aws.amazon.com/docdb)

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

1. 从集群列表中，选择您感兴趣的集群的名称。

1. 生成的页面将显示所选集群的详细信息。向下滚动到 **Cluster details (集群详细信息)**。在此部分的底部，在 **Cluster parameter group (集群参数组)** 的下方找到参数组的名称。  
![\[屏幕截图：显示集群的参数组。\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/docdb-determine-parameter-group.png)

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

以下 AWS CLI 代码确定哪个参数组正在控制集群`sample-cluster`。

```
aws docdb describe-db-clusters \
      --db-cluster-identifier sample-cluster \
      --query 'DBClusters[*].[DBClusterIdentifier,DBClusterParameterGroup]'
```

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

```
[
       [
           "sample-cluster",
           "sample-parameter-group"
       ]
]
```

------

## 确定与 Amazon DocumentDB 集群参数组关联的集群和实例
<a name="cluster_parameter_groups-count"></a>

要确定与每个参数组关联的集群和实例数量，请使用完成以下步骤 AWS CLI。

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

以下 AWS CLI 代码确定了与多少集群和实例相关联`sample-parameter-group`。

对于 Linux、macOS 或 Unix：

```
aws docdb describe-db-clusters \
      --query 'DBClusters[*].[DBClusterParameterGroup,DBClusterIdentifier,DBClusterMembers[*].DBInstanceIdentifier]' \
      --output json | \
      jq -r 'group_by(.[0]) | map({
         parameter_group_name: .[0][0],
         total_clusters: length,
         total_instances: map(.[2] | length) | add // 0
      }) | .[]'
```

对于 Windows：

```
aws docdb describe-db-clusters ^
      --query 'DBClusters[*].[DBClusterParameterGroup,DBClusterIdentifier,DBClusterMembers[*].DBInstanceIdentifier]' ^
      --output json | ^
      jq -r 'group_by(.[0]) | map({
         parameter_group_name: .[0][0],
         total_clusters: length,
         total_instances: map(.[2] | length) | add // 0
      }) | .[]'
```

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

```
{
   "parameter_group_name": "sample-parameter-group",
   "total_clusters": 50,
   "total_instances": 150
}
```

------

# 创建 Amazon DocumentDB 集群参数组
<a name="cluster_parameter_groups-create"></a>

当您使用新引擎版本和在新区域创建集群时创建的默认集群参数组，例如 `default.docdb5.0`、`default.docdb4.0` 或 `default.docdb3.6`。在此区域创建且具有相同引擎版本的后续集群将继承 `default` 集群参数组。一经创建，`default` 参数组就无法删除或重命名。您可以通过创建带有首选参数值的自定义参数组并将其附加到 Amazon DocumentDB 集群来修改集群实例的引擎行为。

以下过程指导您完成集群参数组的创建。然后，您可以[修改该参数组中的参数](https://docs.aws.amazon.com//documentdb/latest/developerguide/cluster_parameter_groups-modify.html)。

**注意**  
创建一个集群参数组之后，您应至少等 5 分钟，再使用特定的集群参数组。这样，在将集群参数组用于新集群之前，Amazon DocumentDB 可以完成全部 `create` 操作。您可以使用 AWS 管理控制台 或`describe-db-cluster-parameter-groups` AWS CLI 操作来验证您的集群参数组是否已创建。有关更多信息，请参阅 [描述 Amazon DocumentDB 集群参数组](cluster_parameter_groups-describe.md)。

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

**要创建集群参数组**

1. [登录 AWS 管理控制台，然后在 /docdb 上打开亚马逊文档数据库控制台。https://console.aws.amazon.com](https://console.aws.amazon.com/docdb)

1. 在导航窗格中，选择**参数组**。
**提示**  
如果您在屏幕左侧没有看到导航窗格，请在页面左上角选择菜单图标 (![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/docdb-menu-icon.png))。

1. 在**集群参数组**窗格中，选择**创建**。

1. 在**创建集群参数组**窗格中，输入以下内容：

   1. **新集群参数组名称**：为集群参数组输入一个名称。例如 `sample-parameter-group`。集群参数组具有以下命名限制：
      + 长度为 [1-255] 个字母数字字符。
      + 第一个字符必须是字母。
      + 不能以连字符结尾或包含两个连续的连字符。

   1. **系列**：选择要用于集群的 DocumentDB 版本。

   1. **描述**：为此集群参数组提供一个描述。

1. 要创建集群参数组，请选择**创建**。要取消操作，请选择**取消**。

1. 选择**创建**后，以下文本将显示于页面顶部，以验证集群参数组是否已成功创建：

   ```
   Successfully created cluster parameter group 'sample-parameter-group'.
   ```

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

要为 Amazon DocumentDB 4.0 集群创建新的集群参数组，请使用带有以下参数的 AWS CLI `create-db-cluster-parameter-group`操作：
+ **--db-cluster-parameter-group-name**：自定义集群参数组的名称。例如 `sample-parameter-group`。
+ **--db-cluster-parameter-group-family**：用作自定义集群参数组模板的集群参数组族。
+ **--description**：用户提供的此集群参数组的描述。下面的示例使用了“`Custom docdb4.0 parameter group`”。

对于 Linux、macOS 或 Unix：

**Example**  

```
aws docdb create-db-cluster-parameter-group \
 --db-cluster-parameter-group-name sample-parameter-group \
 --db-parameter-group-family docdb5.0 \
 --description "Custom docdb5.0 parameter group"
```
对于 Windows：  

```
aws docdb create-db-cluster-parameter-group ^
 --db-cluster-parameter-group-name sample-parameter-group ^
 --db-parameter-group-family docdb5.0 ^
 --description "Custom docdb5.0 parameter group"
```
此操作的输出将类似于下文（JSON 格式）。  

```
{
    "DBClusterParameterGroup": {
        "DBClusterParameterGroupName": "sample-parameter-group",
        "DBParameterGroupFamily": "docdb5.0",
        "Description": "Custom docdb4.0 parameter group",
        "DBClusterParameterGroupArn": "sample-parameter-group-arn"
    }
}
```

------

# 修改 Amazon DocumentDB 集群参数组
<a name="cluster_parameter_groups-modify"></a>

本节介绍如何修改*自定义* Amazon DocumentDB 参数组。在 Amazon DocumentDB 中，您不能修改自己使用新引擎版本在新区域首次创建集群时所创建的 `default` 集群参数组。如果您的 Amazon DocumentDB 集群正使用默认集群参数组，而您想要修改其中的值，则您必须首先[创建新的参数组](https://docs.aws.amazon.com//documentdb/latest/developerguide/cluster_parameter_groups-create.html)或[复制现有参数组](https://docs.aws.amazon.com//documentdb/latest/developerguide/cluster_parameter_groups-copy.html)，修改它，并且将修改的参数组应用于您的集群。

请完成以下步骤以修改自定义集群参数组。修改操作可能耗费一段时间来传播。请等待修改的集群参数组变为可用，之后将其附加到您的集群。您可以使用 AWS 管理控制台 或 AWS CLI `describe-db-cluster-parameters`操作来验证您的集群参数组是否已被修改。有关更多信息，请参阅 [描述集群参数组](cluster_parameter_groups-describe.md)。

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

遵循以下步骤修改自定义 Amazon DocumentDB 参数组。您无法修改 `default` 参数组。如果要修改 `default` 参数组中的值，您可以[复制默认的集群参数组](https://docs.aws.amazon.com//documentdb/latest/developerguide/cluster_parameter_groups-copy.html)，修改它，然后将修改后的参数组应用于您的集群。有关将参数组应用于您的集群的更多信息，请参阅 [修改 Amazon DocumentDB 集群](db-cluster-modify.md)。

**修改自定义集群参数组**

1. [登录 AWS 管理控制台，然后在 /docdb 上打开亚马逊文档数据库控制台。https://console.aws.amazon.com](https://console.aws.amazon.com/docdb)

1. 在控制台左侧的导航窗格中，选择**参数组**。在参数组列表中，选择要修改的参数组的名称。
**提示**  
如果您在屏幕左侧没有看到导航窗格，请在页面左上角选择菜单图标 (![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/docdb-menu-icon.png))。

1. 对于要修改的参数组中的每个参数，执行以下操作：

   1. 找到要修改的参数，并通过核查该参数是否在**可修改**列下作为 `true` 列出，验证该参数是否可修改。

   1. 如果该参数可修改，请选择它并从控制台页面的右上角选择**编辑**。

   1. 在**修改 `<parameter-name>`** 对话框中，进行所需的更改。然后，选择**修改集群参数**或选择**取消**以放弃更改。

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

您可以使用 AWS CLI，修改 Amazon DocumentDB 集群参数组中任何可修改参数的 `ParameterValue`、`Description` 或 `ApplyMethod`。您无法直接对默认的集群参数组进行修改。

要修改自定义集群参数组的参数，请使用带以下参数的 `modify-db-cluster-parameter-group` 操作。
+ **--db-cluster-parameter-group-name**：必需。您正在修改的集群参数组的名称。
+ **--parameters**：必需。您正在修改的参数。有关适用于 Amazon DocumentDB 集群中所有实例的参数列表，请参阅 [Amazon DocumentDB 集群参数参考](cluster_parameter_groups-list_of_parameters.md)。每个参数条目必须包含以下内容：
  + **ParameterName**：您正在修改的参数的名称。
  + **ParameterValue**：此参数的新值。
  + **ApplyMethod**：您希望如何应用对此参数的更改。允许的值为 `immediate` 和 `pending-reboot`。
**注意**  
带 `static` 的 `ApplyType` 参数必须具有 `pending-reboot` 的 `ApplyMethod`。

**Example - 修改参数的值**  
在此示例中，您列出 `sample-parameter-group` 的参数值并修改 `tls` 参数。然后，等待 5 分钟后，再次列出 `sample-parameter-group` 的参数值以查看更改后的参数值。  

1. 列出 `sample-parameter-group` 的参数及其值。

   对于 Linux、macOS 或 Unix：

   ```
   aws docdb describe-db-cluster-parameters \
          --db-cluster-parameter-group-name sample-parameter-group
   ```

   对于 Windows：

   ```
   aws docdb describe-db-cluster-parameters ^
          --db-cluster-parameter-group-name sample-parameter-group
   ```

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

   ```
   {
          "Parameters": [
              {
                  "Source": "system",
                  "ApplyType": "static",
                  "AllowedValues": "disabled,enabled",
                  "ParameterValue": "enabled",
                  "ApplyMethod": "pending-reboot",
                  "DataType": "string",
                  "ParameterName": "tls",
                  "IsModifiable": true,
                  "Description": "Config to enable/disable TLS"
              },
              {
                  "Source": "user",
                  "ApplyType": "dynamic",
                  "AllowedValues": "disabled,enabled",
                  "ParameterValue": "enabled",
                  "ApplyMethod": "pending-reboot",
                  "DataType": "string",
                  "ParameterName": "ttl_monitor",
                  "IsModifiable": true,
                  "Description": "Enables TTL Monitoring"
              }
          ]
   }
   ```

1. 修改 `tls` 参数，以便其值为 `disabled`。

   您无法修改 `ApplyMethod`，因为 `ApplyType` 是 `static`。

   对于 Linux、macOS 或 Unix：

   ```
   aws docdb modify-db-cluster-parameter-group \
          --db-cluster-parameter-group-name sample-parameter-group \
          --parameters "ParameterName"=tls,"ParameterValue"=disabled,"ApplyMethod"=pending-reboot
   ```

   对于 Windows：

   ```
   aws docdb modify-db-cluster-parameter-group ^
          --db-cluster-parameter-group-name sample-parameter-group ^
          --parameters "ParameterName"=tls,"ParameterValue"=disabled,"ApplyMethod"=pending-reboot
   ```

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

   ```
   {
          "DBClusterParameterGroupName": "sample-parameter-group"
      }
   ```

1. 至少等 5 分钟。

1. 列出 `sample-parameter-group` 的参数值以验证 `tls` 参数是否修改过。

   对于 Linux、macOS 或 Unix：

   ```
   aws docdb describe-db-cluster-parameters \
          --db-cluster-parameter-group-name sample-parameter-group
   ```

   对于 Windows：

   ```
   aws docdb describe-db-cluster-parameters ^
          --db-cluster-parameter-group-name sample-parameter-group
   ```

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

   ```
   {
          "Parameters": [
              {
                  "ParameterValue": "false",
                  "ParameterName": "enable_audit_logs",
                  "ApplyType": "dynamic",
                  "DataType": "string",
                  "Description": "Enables auditing on cluster.",
                  "AllowedValues": "true,false",
                  "Source": "system",
                  "IsModifiable": true,
                  "ApplyMethod": "pending-reboot"
              },
              {
                  "ParameterValue": "disabled",
                  "ParameterName": "tls",
                  "ApplyType": "static",
                  "DataType": "string",
                  "Description": "Config to enable/disable TLS",
                  "AllowedValues": "disabled,enabled",
                  "Source": "system",
                  "IsModifiable": true,
                  "ApplyMethod": "pending-reboot"
              }
          ]
   }
   ```

------

# 修改 Amazon DocumentDB 集群以使用自定义集群参数组
<a name="cluster_parameter_groups-modify_clusters"></a>

当您创建 Amazon DocumentDB 集群时，将自动为该集群创建一个 `default.docdb4.0` 参数值。您不能修改 `default` 集群参数组。相反，您可以修改您的 Amazon DocumentDB 集群，以将新的定制化参数组与其关联。

本节介绍如何使用 AWS 管理控制台 和 AWS Command Line Interface ()AWS CLI修改现有 Amazon DocumentDB 集群以使用自定义集群参数组。

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

**修改 Amazon DocumentDB 集群以使用新的非默认集群参数组**

1. 开始之前，请确保您已创建一个 Amazon DocumentDB 集群和集群参数组。有关更多说明，请参阅 [创建 Amazon DocumentDB 集群](db-cluster-create.md) 和 [创建 Amazon DocumentDB 集群参数组](cluster_parameter_groups-create.md)。

1. 创建集群参数组后，请在 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) 打开 Amazon DocumentDB 控制台。在导航窗格中，选择 **集群**以将新参数组添加到集群。

1. 选择您想将其与您的参数组关联起来的集群。选择**操)**，然后选择 **修改**以修改您的集群。

1. 在**集群选项**下，选择要与您的集群关联的新参数组。

1. 选择 **Continue (继续)** 以查看修改摘要。

1. 在确认您的更改后，您可以立即应用这些更改，也可以在 **Scheduling of modifications (修改计划)** 下的下一个维护时段内应用这些更改。

1. 选择 **Modify cluster (修改集群)** 以使用新参数组更新您的集群。

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

开始之前，请确保您已创建一个 Amazon DocumentDB 集群和集群参数组。您可以使用操作[创建 Amazon DocumentDB 集群](https://docs.aws.amazon.com//documentdb/latest/developerguide/db-cluster-create.html)。 AWS CLI `create-db-cluster`您可以使用 AWS CLI `create-db-cluster-parameter-group`操作[创建集群参数组](https://docs.aws.amazon.com//documentdb/latest/developerguide/cluster_parameter_groups-create.html)。

要将新的集群参数组添加到集群，请使用带有以下参数的 AWS CLI `modify-db-cluster`操作。
+ **--db-cluster-identifier** — 集群的名称（例如，`sample-cluster`）。
+ **--db-cluster-parameter-group-nam** e-您要与集群关联的参数组的名称（例如，`sample-parameter-group`）。

**Example**  

```
aws docdb modify-db-cluster \
    --db-cluster-identifier sample-cluster \
    --db-cluster-parameter-group-name sample-parameter-group
```
此操作的输出将类似于下文（JSON 格式）。  

```
"DBCluster": {
    "AvailabilityZones": [
            "us-west-2c",
            "us-west-2b",
            "us-west-2a"
    ],
    "BackupRetentionPeriod": 1,
    "DBClusterIdentifier": "sample-cluster",
    "DBClusterParameterGroup": "sample-parameter-group",
    "DBSubnetGroup": "default",
   ...
}
```

------

# 复制 Amazon DocumentDB 集群参数组
<a name="cluster_parameter_groups-copy"></a>

您可以使用 AWS 管理控制台 或 AWS Command Line Interface ()AWS CLI复制 Amazon DocumentDB 中的集群参数组。

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

以下规程指导您通过复制现有集群参数组创建新的集群参数组。

**复制一个集群参数组**

1. [登录 AWS 管理控制台，然后在 /docdb 上打开亚马逊文档数据库控制台。https://console.aws.amazon.com](https://console.aws.amazon.com/docdb)

1. 在导航窗格中，选择**参数组**。

1. 在**集群参数组**窗格中，选择您要复制的集群参数组的名称。

1. 选择**操作**，然后选择**复制**以复制该参数组。

1. 在**复制选项**下，输入新集群参数组的名称和描述。然后选择**复制**以保存更改。

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

要复制一个集群参数组，请使用带以下参数的 `copy-db-cluster-parameter-group` 操作。
+ **--source-db-cluster-parameter-group-identifier**：必需。您想要复制的集群参数组的名称或 Amazon 资源名称（ARN）。

  如果源集群参数组和目标集群参数组相同 AWS 区域，则标识符可以是名称或 ARN。

  如果源集群参数组和目标集群参数组不同 AWS 区域，则标识符必须是 ARN。
+ **--target-db-cluster-parameter-group-identifier**：必需。集群参数组副本的名称 或 ARN。

  约束：
  + 不能为 null 或空。
  + 必须包含 1-255 个字母、数字或连字符。
  + 第一个字符必须是字母。
  + 不能以连字符结尾或包含两个连续的连字符。
+ **--target-db-cluster-parameter-group-description**：必需。用户提供的对集群参数组的描述。

**Example**  
以下代码将创建 `sample-parameter-group` 的副本，将副本命名为 `sample-parameter-group-copy`。  
对于 Linux、macOS 或 Unix：  

```
aws docdb copy-db-cluster-parameter-group \
    --source-db-cluster-parameter-group-identifier sample-parameter-group \
    --target-db-cluster-parameter-group-identifier sample-parameter-group-copy \
    --target-db-cluster-parameter-group-description "Copy of sample-parameter-group"
```
对于 Windows：  

```
aws docdb copy-db-cluster-parameter-group ^
    --source-db-cluster-parameter-group-identifier sample-parameter-group ^
    --target-db-cluster-parameter-group-identifier sample-parameter-group-copy ^
    --target-db-cluster-parameter-group-description "Copy of sample-parameter-group"
```
此操作的输出将类似于下文（JSON 格式）。  

```
{
    "DBClusterParameterGroup": {
        "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:sample-parameter-group-copy",
        "DBClusterParameterGroupName": "sample-parameter-group-copy",
        "DBParameterGroupFamily": "docdb4.0",
        "Description": "Copy of sample-parameter-group"
    }
}
```

------

# 重置 Amazon DocumentDB 集群参数组
<a name="cluster_parameter_groups-reset"></a>

您可以使用或 AWS Command Line Interface (AWS CLI) 重置集群参数组，将 Amazon DocumentDB 集群参数组的部分 AWS 管理控制台 或全部参数值重置为默认值。

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

按照以下步骤将将部分或全部集群参数组的参数值重置为默认值。

**要重置集群参数组的参数值**

1. [登录 AWS 管理控制台，然后在 /docdb 上打开亚马逊文档数据库控制台。https://console.aws.amazon.com](https://console.aws.amazon.com/docdb)

1. 在控制台左侧的导航窗格中，选择**参数组**。

1. 在**集群参数组**窗格中，选择要对其复置的集群参数组的名称。

1. 选择**操作**，然后选择**重置**以重置该参数组。

1. 在所得的**集群参数组重置确认**页面上，确认您想要将该参数组的所有集群参数重置为默认值。然后，选择**重置**以重置您的参数组。您也可以选择**取消**以放弃所做更改。

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

要将部分或全部集群参数组的参数值重置为其默认值，请使用带有以下参数的 `reset-db-cluster-parameter-group` 操作。
+ **--db-cluster-parameter-group-name**：必需。要重置的集群参数组的名称。
+ **--parameters**：可选。集群参数组中要重置为其默认值的 `ParameterName` 和 `ApplyMethod` 列表。静态参数必须设置成 `pending-reboot` 才能在下次实例重启或 `reboot-db-instance` 请求时生效。对于集群中您希望更新的静态参数应用于的每个实例，您必须调用 `reboot-db-instance`。

  此参数和 `--reset-all-parameters` 相互排斥：您可以使用这两个参数之一，但不能同时使用二者。
+ **--reset-all-parameters** 或 **--no-reset-all-parameters**：可选。指定是否将所有参数 (`--reset-all-parameters` ) 或仅部分参数 (`--no-reset-all-parameters`) 重置为其默认值。`--reset-all-parameters` 参数和 `--parameters` 相互排斥：您可以使用这两个参数之一，但不能同时使用二者。

  当您重置整个组时，动态参数立即更新。将静态参数设置成 `pending-reboot`，以便在下次实例重启或 `reboot-db-instance` 请求时生效。对于集群中您希望更新的静态参数应用于的每个实例，您必须调用 `reboot-db-instance`。

**Example**  
**示例 1：将所有参数重置为其默认值**  
以下代码将集群参数组 `sample-parameter-group` 中的所有参数重置成它们的默认值。
对于 Linux、macOS 或 Unix：  

```
aws docdb reset-db-cluster-parameter-group \
       --db-cluster-parameter-group-name sample-parameter-group \
       --reset-all-parameters
```
对于 Windows：  

```
aws docdb reset-db-cluster-parameter-group ^
       --db-cluster-parameter-group-name sample-parameter-group ^
       --reset-all-parameters
```
**示例 2：将指定的参数重置为其默认值**  
以下代码将集群参数组 `sample-parameter-group` 中的 `tls` 参数重置成它的默认值。
对于 Linux、macOS 或 Unix：  

```
aws docdb reset-db-cluster-parameter-group \
       --db-cluster-parameter-group-name sample-parameter-group \
       --no-reset-all-parameters \
       --parameters ParameterName=tls,ApplyMethod=pending-reboot
```
对于 Windows：  

```
aws docdb reset-db-cluster-parameter-group ^
       --db-cluster-parameter-group-name sample-parameter-group ^
       --no-reset-all-parameters ^
       --parameters ParameterName=tls,ApplyMethod=pending-reboot
```
此操作的输出将类似于下文（JSON 格式）。  

```
{
       "DBClusterParameterGroupName": "sample-parameter-group"
   }
```
**重启集群实例**  
在更改静态参数的值之前，必须重新启动集群实例。重启集群中您希望将更新的静态参数应用到的每个实例。
对于 Linux、macOS 或 Unix：  

```
aws docdb reboot-db-instance \
       --db-instance-identifier sample-cluster-instance
```
对于 Windows：  

```
aws docdb reboot-db-instance ^
       --db-instance-identifier sample-cluster-instance
```

------

# 删除 Amazon DocumentDB 集群参数组
<a name="cluster_parameter_groups-delete"></a>

您可以使用 AWS 管理控制台 或 AWS Command Line Interface ()AWS CLI删除自定义 Amazon DocumentDB 集群参数组。您不能删除 `default.docdb4.0` 集群参数组。

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

**删除集群参数组**

1. [登录 AWS 管理控制台，然后在 /docdb 上打开亚马逊文档数据库控制台。https://console.aws.amazon.com](https://console.aws.amazon.com/docdb)

1. 在导航窗格中，选择**参数组**。
**提示**  
如果您在屏幕左侧没有看到导航窗格，请在页面左上角选择菜单图标 (![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/docdb-menu-icon.png))。

1. 在**参数组**窗格中，选择要删除的集群参数组左侧的单选按钮。

1. 选择**操作**，然后选择**删除**。

1. 在**删除**确认窗格中，选择**删除**以删除集群参数组。要保留集群参数组，请选择**取消**。

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

要删除集群参数组，请使用带以下参数的 `delete-db-cluster-parameter-group` 操作。
+ **--db-cluster-parameter-group-name**：必需。要删除的集群参数组的名称。它必须是现有集群参数组。*您无法删除`default.docdb4.0` 集群参数组。*

**Example 删除集群参数组**  
以下示例引导您通过三个步骤来删除集群参数组：  

1. 找到您要删除的集群参数组的名称。

1. 删除指定的集群参数组。

1. 正在验证集群参数组是否已删除。
**1. 找到您要删除的集群参数组的名称。**  
以下代码列出了所有集群参数组的名称。
对于 Linux、macOS 或 Unix：  

```
aws docdb describe-db-cluster-parameter-groups \
       --query 'DBClusterParameterGroups[*].[DBClusterParameterGroupName]'
```
对于 Windows：  

```
aws docdb describe-db-cluster-parameter-groups ^
       --query 'DBClusterParameterGroups[*].[DBClusterParameterGroupName]'
```
上一个操作的输出是集群参数组名称的一个列表，与以下（JSON 格式）类似。  

```
[
       [
           "default.docdb4.0"
       ],
       [
           "sample-parameter-group"
       ],
       [
           "sample-parameter-group-copy"
       ]
   ]
```
**2. 删除特定的集群参数组。**  
以下代码将删除集群参数组 `sample-parameter-group-copy`。
对于 Linux、macOS 或 Unix：  

```
aws docdb delete-db-cluster-parameter-group \
       --db-cluster-parameter-group-name sample-parameter-group-copy
```
对于 Windows：  

```
aws docdb delete-db-cluster-parameter-group ^
       --db-cluster-parameter-group-name sample-parameter-group-copy
```
没有来自此操作的输出。  
**3. 验证指定的集群参数组是否已删除。**  
以下代码列出了所有其余集群参数组的名称。
对于 Linux、macOS 或 Unix：  

```
aws docdb describe-db-cluster-parameter-groups \
       --query 'DBClusterParameterGroups[*].[DBClusterParameterGroupName]'
```
对于 Windows：  

```
aws docdb describe-db-cluster-parameter-groups ^
       --query 'DBClusterParameterGroups[*].[DBClusterParameterGroupName]'
```
上一个操作的输出是集群参数组的一个列表，与以下（JSON 格式）类似。您刚刚删除的集群参数组不应在列表中。  
此操作的输出将类似于下文（JSON 格式）。  

```
[
       [
           "default.docdb4.0"
       ],
       [
           "sample-parameter-group"
       ]
   ]
```

------

# Amazon DocumentDB 集群参数参考
<a name="cluster_parameter_groups-list_of_parameters"></a>

当您更改动态参数并保存集群参数组时，更改将立即应用，而不管*立即应用*的设置如何。当您更改静态参数并保存集群参数组时，参数更改将在您手动重启实例后生效。您可以使用 Amazon DocumentDB 控制台或通过明确调用 `reboot-db-instance` 来重启实例。

下表显示了适用于 Amazon DocumentDB 集群中所有实例的参数。


**Amazon DocumentDB 集群级参数**  

| 参数 | 默认 值 | 有效值 | 可修改 | 应用类型 | 数据类型 | 说明 | 
| --- | --- | --- | --- | --- | --- | --- | 
| audit\$1logs | disabled | 已启用、已禁用、ddl、dml\$1read、dml\$1write、全部、无 | 是 | 动态 | 字符串 | 定义是否启用 Amazon CloudWatch 审计日志。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/cluster_parameter_groups-list_of_parameters.html) | 
| change\$1stream\$1log\$1retention\$1duration | 10800 | 3600-604800 | 是 | 动态 | 整数 | 定义变更流日志保留和可以使用的以秒计的时间长度。 | 
| default\$1collection\$1compression | disabled | 已启用、已禁用（亚马逊 DocumentDB 5.0）/zstd、lz4、无（亚马逊文档 .0）DB8 | 是 | 动态 | 字符串 | 定义集群中新集合的默认压缩设置 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/cluster_parameter_groups-list_of_parameters.html) | 
| profiler | disabled | 启用，禁用 | 是 | 动态 | 字符串 | 为慢速操作启用分析。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/cluster_parameter_groups-list_of_parameters.html) | 
| profiler\$1sampling\$1rate | 1.0 | 0.0-1.0 | 是 | 动态 | 浮点型 | 定义已记录操作的采样率。 | 
| profiler\$1threshold\$1ms | 100 | 50-2147483646 | 是 | 动态 | 整数 | 为 profiler 定义阈值。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/cluster_parameter_groups-list_of_parameters.html) | 
| planner\$1version | 3.0 | 1.0、2.0、3.0 | 是 | 动态 | 浮点型 | 定义用于查询的查询计划器版本。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/cluster_parameter_groups-list_of_parameters.html) | 
| tls | 已启用 | enabled、disabled、fips-140-3、tls1.2\$1、tls1.3\$1 | 是 | 静态 | 字符串 | 定义是否需要传输层安全性 (TLS) 连接。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/cluster_parameter_groups-list_of_parameters.html) | 
| ttl\$1monitor | 已启用 | 启用，禁用 | 是 | 动态 | 字符串 | 定义是否为集群启用有效时间 (TTL) 监控。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/cluster_parameter_groups-list_of_parameters.html) | 

# 修改 Amazon DocumentDB 集群参数
<a name="cluster_parameter_groups-parameters"></a>

在 Amazon DocumentDB 中，*集群参数组*由适用于您在该集群中创建的所有实例的*参数*组成。对于自定义集群参数组，您可以随时修改参数值，也可以将所有参数值重置为您创建的参数组的默认值。本节介绍如何查看构成 Amazon DocumentDB 集群参数组的参数及其值，以及您可以如何更改或更新这些值。

参数可以是*动态*或*静态*的。当您更改动态参数并保存集群参数组时，更改将立即应用，而不管 `Apply Immediately` 的设置如何。当您更改静态参数并保存集群参数组时，参数更改仅在您手动重启实例后生效。

## 查看 Amazon DocumentDB 集群参数组的参数
<a name="cluster_parameter_groups-describe_details_parameters"></a>

您可以使用或查看 Amazon DocumentDB 集群的参数及其值。 AWS 管理控制台 AWS CLI

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

**要查看集群参数组的详细信息**

1. [登录 AWS 管理控制台，然后在 /docdb 上打开亚马逊文档数据库控制台。https://console.aws.amazon.com](https://console.aws.amazon.com/docdb)

1. 在导航窗格中，选择**参数组**。
**提示**  
如果您在屏幕左侧没有看到导航窗格，请在页面左上角选择菜单图标 (![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/docdb-menu-icon.png))。

1. 在 **Parameter groups (参数组)** 窗格中，选择要查看其详细信息的集群参数组的名称。

1. 生成的页面显示每个参数的以下值：参数的名称、当前值、允许的值、参数是否可修改、应用类型、数据类型和描述。  
![\[屏幕截图：参数名称和值。\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/docdb-determine-parameter-value.png)

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

要查看集群参数组的参数及其值，请使用带有以下参数的 `describe-db-cluster-parameters` 操作。
+ **--db-cluster-parameter-group-name**：必需。您想要详细参数列表的集群参数组的名称。
+ **--source**：可选。如果提供特定源，仅返回参数。参数源可以是 `engine-default`、`system` 或 `user`。

**Example**  
以下代码列出了 `custom3-6-param-grp` 参数组的所有参数及其值。有关参数组的更多信息，请省略 `--query` 行。有关所有参数组的信息，请省略 `--db-cluster-parameter-group-name` 行。  
对于 Linux、macOS 或 Unix：  

```
aws docdb describe-db-cluster-parameters \
   --db-cluster-parameter-group-name custom3-6-param-grp \
   --query 'Parameters[*].[ParameterName,ParameterValue]'
```
对于 Windows：  

```
aws docdb describe-db-cluster-parameters ^
   --db-cluster-parameter-group-name custom3-6-param-grp ^
   --query 'Parameters[*].[ParameterName,ParameterValue]'
```
此操作的输出将类似于下文（JSON 格式）。  

```
[
    [
        "audit_logs",
        "disabled"
    ],
    [
        "tls",
        "enabled"
    ],
    [
        "ttl_monitor",
        "enabled"
    ]
]
```

------

## 修改 Amazon DocumentDB 集群参数组的参数
<a name="cluster_parameter_groups-modify_parameters"></a>

您可以使用 AWS 管理控制台 或修改参数组的参数 AWS CLI。

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

**要更新集群参数组的参数**

1. [登录 AWS 管理控制台，然后在 /docdb 上打开亚马逊文档数据库控制台。https://console.aws.amazon.com](https://console.aws.amazon.com/docdb)

1. 在导航窗格中，选择**参数组**。
**提示**  
如果您在屏幕左侧没有看到导航窗格，请在页面左上角选择菜单图标 (![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/docdb-menu-icon.png))。

1. 在**参数组** 窗格中，选择要更新其参数的集群参数组的名称。

1. 所得页面显示该集群参数组的参数及它们的相应详情。选择要更新的参数。

1. 在页面右上角，选择**编辑**以更改参数的值。有关集群参数类型的更多信息，请参阅 [Amazon DocumentDB 集群参数参考](cluster_parameter_groups-list_of_parameters.md)。

1. 进行更改，然后选择**修改集群参数**以保存更改。要放弃更改，请选择**取消**。

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

要修改集群参数组的参数，请使用带以下参数的 `modify-db-cluster-parameter-group` 操作：
+ **--db-cluster-parameter-group-name**：必需。您正在修改的集群参数组的名称。
+ **--parameters**：必需。您正在修改的参数。每个参数条目必须包含以下内容：
  + **ParameterName**：您正在修改的参数的名称。
  + **ParameterValue**：此参数的新值。
  + **ApplyMethod**：您希望如何应用对此参数的更改。允许的值为 `immediate` 和 `pending-reboot`。
**注意**  
带 `static` 的 `ApplyType` 参数必须具有 `pending-reboot` 的 `ApplyMethod`。

**更改集群参数组参数 (AWS CLI) 的值**

以下示例将更改 `tls` 参数。

1. **列出 `sample-parameter-group`** 的参数及其值。

   对于 Linux、macOS 或 Unix：

   ```
   aws docdb describe-db-cluster-parameters \
       --db-cluster-parameter-group-name sample-parameter-group
   ```

   对于 Windows：

   ```
   aws docdb describe-db-cluster-parameters ^
       --db-cluster-parameter-group-name sample-parameter-group
   ```

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

   ```
   {
       "Parameters": [
           {
               "Source": "system",
               "ApplyType": "static",
               "AllowedValues": "disabled,enabled",
               "ParameterValue": "enabled",
               "ApplyMethod": "pending-reboot",
               "DataType": "string",
               "ParameterName": "tls",
               "IsModifiable": true,
               "Description": "Config to enable/disable TLS"
           },
           {
               "Source": "user",
               "ApplyType": "dynamic",
               "AllowedValues": "disabled,enabled",
               "ParameterValue": "enabled",
               "ApplyMethod": "pending-reboot",
               "DataType": "string",
               "ParameterName": "ttl_monitor",
               "IsModifiable": true,
               "Description": "Enables TTL Monitoring"
           }
       ]
   }
   ```

1. **修改 `tls` 参数，以便其值为 `disabled`**。您无法修改 `ApplyMethod`，因为 `ApplyType` 是 `static`。

   对于 Linux、macOS 或 Unix：

   ```
   aws docdb modify-db-cluster-parameter-group \
       --db-cluster-parameter-group-name sample-parameter-group \
       --parameters "ParameterName"=tls,ParameterValue=disabled,ApplyMethod=pending-reboot"
   ```

   对于 Windows：

   ```
   aws docdb modify-db-cluster-parameter-group ^
       --db-cluster-parameter-group-name sample-parameter-group ^
       --parameters "ParameterName=tls,ParameterValue=disabled,ApplyMethod=pending-reboot"
   ```

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

   ```
   {
       "DBClusterParameterGroupName": "sample-parameter-group"
   }
   ```

1. **至少等 5 分钟。**

1. **列出 `sample-parameter-group` 的参数值。**

   对于 Linux、macOS 或 Unix：

   ```
   aws docdb describe-db-cluster-parameters \
       --db-cluster-parameter-group-name sample-parameter-group
   ```

   对于 Windows：

   ```
   aws docdb describe-db-cluster-parameters ^
       --db-cluster-parameter-group-name sample-parameter-group
   ```

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

   ```
   {
       "Parameters": [
           {
               "ParameterName": "audit_logs",
               "ParameterValue": "disabled",
               "Description": "Enables auditing on cluster.",
               "Source": "system",
               "ApplyType": "dynamic",
               "DataType": "string",
               "AllowedValues": "enabled,disabled",
               "IsModifiable": true,
               "ApplyMethod": "pending-reboot"
           },
           {
               "ParameterName": "tls",
               "ParameterValue": "disabled",
               "Description": "Config to enable/disable TLS",
               "Source": "user",
               "ApplyType": "static",
               "DataType": "string",
               "AllowedValues": "disabled,enabled",
               "IsModifiable": true,
               "ApplyMethod": "pending-reboot"
           }
       ]
   }
   ```

------