

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

# 亚马逊 DocumentDB 快速入门使用 CloudFormation
<a name="quick_start_cfn"></a>

此节包含使用 [CloudFormation](https://docs.aws.amazon.com/en_us/AWSCloudFormation/latest/UserGuide/Welcome.html) 帮助您快速实现 Amazon DocumentDB（与 MongoDB 兼容）入门的步骤和其他信息。有关 Amazon DocumentDB 的一般信息，请参阅 [Amazon DocumentDB（兼容 MongoDB）是什么](what-is.md)。

这些说明使用 AWS CloudFormation 模板在您的默认 Amazon VPC 中创建集群和实例。有关自行创建这些资源的说明，请参阅[开始使用 Amazon DocumentDB](get-started-guide.md)。

**重要**  
此模板创建的 CloudFormation 堆栈会创建多个资源，包括 Amazon DocumentDB（例如，集群和实例）和亚马逊弹性计算云（例如，子网组）中的资源。  
其中一些资源并非免费套餐资源。有关定价信息，请参阅 [Amazon DocumentDB 定价](https://aws.amazon.com/documentdb/pricing/)和[ Amazon EC2 定价](https://aws.amazon.com/ec2/pricing/)。在您用堆栈完成后，您可以删除它以终止任何收费。

此 CloudFormation 堆栈仅用于教程目的。如果您将此模板用于生产环境，建议您使用更严格的 IAM 策略和安全。有关安全资源的信息，请参阅 [Amazon VPC 安全](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Security.html)和 [Amazon EC2 网络与安全](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_Network_and_Security.html)。

**Topics**
+ [先决条件](#quick_start_cfn-prerequisites)
+ [启动亚马逊 Documen CloudFormation tDB 堆栈](#quick_start_cfn-launch_stack)
+ [访问 Amazon DocumentDB 集群](#quick_start_cfn-accessing_stack)
+ [终止保护和删除保护](#quick_start_cfn-termination_deletion_protection)

## 先决条件
<a name="quick_start_cfn-prerequisites"></a>

在创建 Amazon DocumentDB 集群之前，必须执行以下操作：
+ 默认 Amazon VPC
+ 必备的 IAM 权限

### 所需的 IAM 权限
<a name="quick_start_cfn-iam_permissions"></a>

以下权限允许您为 CloudFormation 堆栈创建资源：

**AWS 托管策略**
+ `AWSCloudFormationReadOnlyAccess`
+ `AmazonDocDBFullAccess`

**其他 IAM 权限**  
以下策略概述了创建和删除此 CloudFormation 堆栈所需的其他权限。

在以下示例中，将每个*user input placeholder*示例替换为您的资源信息。

### Amazon EC2 密钥对
<a name="quick_start_cfn-ec2_key_pair"></a>

在要创建 CloudFormation 堆栈的区域中，您必须有可用的密钥对（和 PEM 文件）。如果您需要创建密钥对，请参阅*《Amazon EC2 用户指南》*中的[使用 Amazon EC2 创建密钥对](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#having-ec2-create-your-key-pair)。

## 启动亚马逊 Documen CloudFormation tDB 堆栈
<a name="quick_start_cfn-launch_stack"></a>

本节介绍如何启动和配置 Amazon DocumentDB CloudFormation 堆栈。

1. 登录到 a AWS 管理控制台 t [https://console.aws.amazon.com/](https://console.aws.amazon.com/)。

1. 下表列出每个 AWS 区域的 Amazon DocumentDB 堆栈模板。为 AWS 区域 要**启动堆栈**的选择启动堆栈。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/quick_start_cfn.html)

1. **Create stack**(创建堆栈)：描述您选定的 Amazon DocumentDB 模板。每个堆栈都基于一个模板（JSON 或 YAML 文件），其中包含有关要包含在堆栈中的 AWS 资源的配置。由于您选择从上面提供的模板启动堆栈，因此您的模板已配置为 AWS 区域 为您选择的创建一个 Amazon DocumentDB 堆栈。

   当您启动 CloudFormation 堆栈时，Amazon DocumentDB 集群的[删除保护](#quick_start_cfn-termination_deletion_protection)在默认情况下处于禁用状态。如果要为集群启用删除保护，请完成以下步骤。否则，请选择 **Next (下一步)** 以继续执行下一步。

   **要为 Amazon DocumentDB 集群启用删除保护，请执行以下操作：**

   1. 从“**创建堆栈**”页面的右下角选择“**设计器中查看**”。

   1. 在控制台生成的 “ CloudFormation 设计器” 页面中，使用集成的 JSON 和 YAML 编辑器修改模板。滚动到 `Resources` 部分并修改它以包括 `DeletionProtection`，如下所示。有关使用 D CloudFormation esigner 的更多信息，请参阅[什么是 CloudFormation 设计器？](https://docs.aws.amazon.com/en_us/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer.html) 。

      JSON:

      ```
      "Resources": {
          "DBCluster": {
              "Type": "AWS::DocDB::DBCluster",
              "DeletionPolicy": "Delete",
              "Properties": {
                  "DBClusterIdentifier": {
                      "Ref": "DBClusterName"
                  },
                  "MasterUsername": {
                      "Ref": "MasterUser"
                  },
                  "MasterUserPassword": { 
                      "Ref": "MasterPassword"
                  }, 
                  "DeletionProtection": "true"
              }
          },
      ```

      YAML：

      ```
      Resources:
        DBCluster:
          Type: 'AWS::DocDB::DBCluster'
          DeletionPolicy: Delete
          Properties:
            DBClusterIdentifier: !Ref DBClusterName
            MasterUsername: !Ref MasterUser
            MasterUserPassword: !Ref MasterPassword
            DeletionProtection: 'true'
      ```

   1. 从页面左上角选择 **Create Stack (创建堆栈)** ( ![\[Cloud icon with arrow pointing to it, representing cloud upload or storage.\]](http://docs.aws.amazon.com/zh_cn/documentdb/latest/developerguide/images/cfn-create-stack-icon.png)) 以保存更改并创建启用这些更改的堆栈。

   1. 保存更改后，您将被重定向到 **Create stack (创建堆栈)** 页面。

   1. 选择**下一步**以继续。

1. **指定堆栈详细信息**：为您的模板输入堆栈名称和参数。参数在模板中定义，并允许您在创建或更新堆栈时输入自定义值。
   + 在 **Stack name (堆栈名称)** 下，输入堆栈的名称或接受提供的名称。堆栈名称可以包含字母（A–Z 和 a–z）、数字（0–9）和破折号（—）。
   + 在 **Parameters (参数)** 下，输入以下详细信息：
     + **DBCluster名称** — 输入您的 Amazon DocumentDB 集群的名称或接受提供的名称。

       集群命名约束：
       + 长度为 [1-63] 个字母、数字或连字符。
       + 第一个字符必须是字母。
       + 不能以连字符结尾或包含两个连续的连字符。
       + 每个区域的 Amazon RDS、Neptune 和 Amazon DocumentDB 中的所有集群都必须是唯一 AWS 账户的。
     + **DBInstance类** — 从下拉列表中，为您的亚马逊文档数据库集群选择实例类。
     + **DBInstance名称** — 输入您的 Amazon DocumentDB 实例的名称或接受提供的名称。

       实例命名约束：
       + 长度为 [1-63] 个字母、数字或连字符。
       + 第一个字符必须是字母。
       + 不能以连字符结尾或包含两个连续的连字符。
       + 每个区域的 Amazon RDS、Neptune 和 Amazon DocumentDB 中的所有实例都必须是唯一 AWS 账户的。
     + **MasterPassword**— 数据库管理员帐户密码。
     + **MasterUser**— 数据库管理员帐户的用户名。 MasterUser 必须以字母开头，并且只能包含字母数字字符。

   选择 **Next (下一步)** 以保存您的更改并继续。

1. **Configure stack options (配置堆栈选项)**：配置您堆栈的标签、权限和其他选项。
   + **Tags (标签)**：指定要应用于您堆栈中资源的标签（键值）对。您可以为每个堆栈添加最多 50 个唯一标签。
   + **Permissions (权限)**：可选。选择 IAM 角色以明确定义 CloudFormation 如何在堆栈中创建、修改或删除资源。如果您不选择角色，则会根据您的用户凭据 CloudFormation 使用权限。在指定服务角色之前，请确保您具有传递该角色的权限 (`iam:PassRole`)。`iam:PassRole` 权限指定您可以使用哪些角色。
**注意**  
指定服务角色时， CloudFormation 始终使用该角色执行在该堆栈上执行的所有操作。拥有对此堆栈执行操作的权限的其他用户将可以使用该角色，即使他们无权传递该角色也是如此。如果该角色包含用户不应具有的权限，则您可能无意中提升了用户的权限。确保该角色授予[最低权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)。
   + **Advanced options (高级选项)**：您可以设置以下高级选项：
     + **Stack policy (堆栈策略)**：可选。定义在堆栈更新期间要防止意外更新的资源。默认情况下，堆栈更新期间所有资源都可更新。

       您可以直接以 JSON 形式输入堆栈策略，也可以上传包含堆栈策略的 JSON 文件。有关更多信息，请参阅[防止更新堆栈资源](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html)。
     + **Rollback configuration (回滚配置)**：可选。指定要在创建和更新堆栈时监控的 CloudWatch 日志警报。 CloudFormation 如果操作突破了警报阈值，则将其回 CloudFormation 滚。
     + **Notification options (通知选项)**：可选。指定简单通知系统 (SNS) 的主题。
     + **Stack creation options (堆栈创建选项)**：可选。可以指定以下选项：
       + **Rollback on failure (失败时回滚)**：如果堆栈创建失败，堆栈是否应回滚。
       + **Timeout (超时)**：堆栈创建超时之前的分钟数。
       + **Termination protection (终止保护)**：防止意外删除堆栈。
**注意**  
CloudFormation 终止保护不同于 Amazon DocumentDB 的删除保护概念。有关更多信息，请参阅 [终止保护和删除保护](#quick_start_cfn-termination_deletion_protection)。

   选择**下一步**以继续。

1. **Review <stack-name> (审核 <stack-name>)**：审核您的堆栈模板、详细信息和配置选项。您还可以在页面底部打开 **quick-create link (快速创建链接)**，以创建与此页面具有相同基本配置的堆栈。
   + 选择 **Create (创建)** 以创建堆栈。
   + 或者，您也可以选择 **Create change set (创建更改集)**。更改集是对在创建堆栈之前如何配置此堆栈的预览。这允许您在执行更改集之前检查各种配置。

## 访问 Amazon DocumentDB 集群
<a name="quick_start_cfn-accessing_stack"></a>

 CloudFormation 堆栈完成后，您可以使用 Amazon EC2 实例连接到您的 Amazon DocumentDB 集群。有关使用 SSH 连接到 Amazon EC2 实例的信息，请参阅*《Amazon EC2 用户指南》*中的[连接到 Linux 实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html)。

在连接之后，请参阅以下各节，其中包含有关使用 Amazon DocumentDB 的信息。
+ [步骤 3：插入和查询数据](get-started-guide.md#get-start-insert-query)
+ [管理 Amazon DocumentDB 资源](managing-documentdb.md)
+ [监控 Amazon DocumentDB](monitoring_docdb.md)

## 终止保护和删除保护
<a name="quick_start_cfn-termination_deletion_protection"></a>

启用删除保护和终止保护是 Amazon DocumentDB 的最佳实践。 CloudFormation 终止保护功能与 Amazon DocumentDB 删除保护功能截然不同。
+ **终止保护**-您可以通过为堆栈启用终止保护来防止 CloudFormation 堆栈被意外删除。如果用户尝试删除已为其启用终止保护的堆栈，则删除操作会失败，并且堆栈将保持不变。使用创建堆栈时，默认情况下终止保护处于禁用状态 CloudFormation。可在创建堆栈时对其启用终止保护。有关更多信息，请参阅[设置 CloudFormation 堆栈选项](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-add-tags.html)。
+ **删除保护**：Amazon DocumentDB 还提供对集群启用删除保护的能力。如果用户试图删除启用了删除保护的 Amazon DocumentDB 集群，则删除失败，集群保持不变。启用删除保护后，可防止意外删除 Amazon DocumentDB AWS 管理控制台 AWS CLI、和。 CloudFormation有关对 Amazon DocumentDB 集群启用和禁用删除保护的更过信息，请参阅 [删除保护](db-cluster-delete.md#db-cluster-deletion-protection)。