

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 的 Amazon DocumentDB 快速入門 CloudFormation
<a name="quick_start_cfn"></a>

本節包含步驟和其他資訊，可協助您使用 快速開始使用 Amazon DocumentDB （與 MongoDB 相容）[CloudFormation](https://docs.aws.amazon.com/en_us/AWSCloudFormation/latest/UserGuide/Welcome.html)。如需 Amazon DocumentDB 的一般資訊，請參閱 [什麼是 Amazon DocumentDB （具備 MongoDB 相容性）](what-is.md)。

這些指示使用 AWS CloudFormation 範本，在您的預設 Amazon VPC 中建立叢集和執行個體。如需自行建立這些資源的說明，請參閱[開始使用 Amazon DocumentDB](get-started-guide.md)。

**重要**  
此範本建立的 CloudFormation 堆疊會建立多個資源，包括 Amazon DocumentDB （例如叢集和執行個體） 和 Amazon Elastic Compute Cloud （例如子網路群組） 中的資源。  
其中部分資源不屬於免費方案資源。如需定價資訊，請參閱 [Amazon DocumentDB 定價](https://aws.amazon.com/documentdb/pricing/)和 [Amazon EC2 定價](https://aws.amazon.com/ec2/pricing/)。當您完成後可以刪除堆疊，以停止計費。

此 CloudFormation 堆疊僅供教學使用。如果您將此範本用於生產環境，我們建議您使用更嚴格的 IAM 政策和安全。如需保護資源的詳細資訊，請參閱 [Amazon VPC Security](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Security.html) 和 [Amazon EC2 Network and Security](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_Network_and_Security.html)。

**Topics**
+ [先決條件](#quick_start_cfn-prerequisites)
+ [啟動 Amazon DocumentDB CloudFormation 堆疊](#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 堆疊所需的其他許可。

在下列範例中，將每個*使用者輸入預留位置*取代為您資源的資訊。

### 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)。 *Amazon EC2 *

## 啟動 Amazon DocumentDB CloudFormation 堆疊
<a name="quick_start_cfn-launch_stack"></a>

本節說明如何啟動和設定 Amazon DocumentDB CloudFormation 堆疊。

1. 在 登入 AWS 管理主控台 [https://console.aws.amazon.com/](https://console.aws.amazon.com/)。

1. 下表列出每個 的 Amazon DocumentDB 堆疊範本 AWS 區域。針對 AWS 區域 您要**啟動堆疊**的 ，選擇啟動堆疊。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/quick_start_cfn.html)

1. **建立堆疊** — 描述您選取的 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`，如下所示。如需使用 CloudFormation 設計工具的詳細資訊，請參閱[什麼是 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_tw/documentdb/latest/developerguide/images/cfn-create-stack-icon.png)) 以儲存變更，並在啟用這些變更的情況下建立堆疊。

   1. 儲存變更之後，系統會將您重新導向至 **Create stack (建立堆疊)** 頁面。

   1. 選擇 **Next** (下一步) 繼續。

1. **指定堆疊詳細資訊** — 輸入範本的堆疊名稱和參數。參數是在您的範本中定義，而且可讓您在建立或更新堆疊時輸入自訂值。
   + 在 **Stack name (堆疊名稱)** 下，輸入堆疊的名稱或接受提供的名稱。堆疊名稱可包含字母 (A—Z 和 a—z)、數字 (0—9) 和破折號 (—)。
   + 在 **Parameters (參數)** 下，輸入下列詳細資訊：
     + **DBClusterName** — 輸入 Amazon DocumentDB 叢集的名稱或接受提供的名稱。

       叢集命名限制條件：
       + 長度為 【1-63】 個字母、數字或連字號。
       + 第一個字元必須是字母。
       + 不能以連字號結尾，或包含兩個連續連字號。
       + 對於每個區域每個 Amazon RDS、Neptune 和 Amazon DocumentDB 的所有叢集 AWS 帳戶，必須是唯一的。
     + **DBInstanceClass** — 從下拉式清單中，選取 Amazon DocumentDB 叢集的執行個體類別。
     + **DBInstanceName** — 輸入 Amazon DocumentDB 執行個體的名稱或接受提供的名稱。

       執行個體命名限制：
       + 長度為 【1-63】 個字母、數字或連字號。
       + 第一個字元必須是字母。
       + 不能以連字號結尾，或包含兩個連續連字號。
       + 對於每個區域每個 Amazon RDS、Neptune 和 Amazon DocumentDB 的所有執行個體 AWS 帳戶，必須是唯一的。
     + **MasterPassword** — 資料庫管理員帳戶密碼。
     + **MasterUser** — 資料庫管理員帳戶使用者名稱。MasterUser 必須以字母開頭，且只能包含英數字元。

   選擇 **Next (下一步)** 儲存變更並繼續。

1. **設定堆疊選項** — 設定堆疊的標籤、許可和其他選項。
   + **標籤** — 指定要套用至堆疊中資源的標籤 （索引鍵/值） 對。您最多可以為每個堆疊新增 50 個唯一的標籤。
   + **許可** — 選用。選擇 IAM 角色以明確定義 CloudFormation 如何在堆疊中建立、修改或刪除資源。如果您未選擇角色， 會根據您的使用者登入資料 CloudFormation 使用許可。在您指定服務角色之前，請確保您有傳遞許可 (`iam:PassRole`)。`iam:PassRole` 許可會指定您可使用哪些角色。
**注意**  
當您指定服務角色時， CloudFormation 一律會將該角色用於在該堆疊上執行的所有操作。其他具有在此堆疊上執行這些操作之許可的使用者，都能夠使用此角色，即使他們不具傳遞它的許可。如果該角色包含使用者不該有的許可，您可能在無意中提升使用者的許可。確保角色授予[最低權限](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)。
   + **進階選項** — 您可以設定下列進階選項：
     + **堆疊政策** — 選用。可藉由此選項來定義堆疊更新期間，您欲避免意外更新的資源。在預設情況下，系統可以在堆疊更新期間將所有資源進行更新。

       您可以直接輸入堆疊政策作為 JSON，或上傳包含堆疊政策的 JSON 檔案。如需詳細資訊，請參閱[避免更新堆疊資源](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html)。
     + **回復組態** — 選用。指定 CloudWatch Logs 警示 CloudFormation ，以在建立和更新堆疊時監控 。如果操作違反警示閾值， 會 CloudFormation 將其轉返。
     + **通知選項** — 選用。指定簡易通知系統 (SNS) 的主題。
     + **堆疊建立選項** — 選用。您可以指定下列選項：
       + **失敗時轉返** — 如果堆疊建立失敗，是否應該轉返堆疊。
       + **逾時** — 堆疊建立逾時之前的分鐘數。
       + **終止保護** — 防止堆疊意外刪除。
**注意**  
CloudFormation 終止保護與刪除保護的 Amazon DocumentDB 概念不同。如需詳細資訊，請參閱[終止保護和刪除保護](#quick_start_cfn-termination_deletion_protection)。

   選擇 **Next** (下一步) 繼續。

1. **檢閱 <stack-name>** — 檢閱您的堆疊範本、詳細資訊和組態選項。您也可以在頁面底部開啟**快速建立連結**，以建立與此相同基本組態的堆疊。
   + 選擇 **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)。