

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

# 手動連接 Amazon EC2
<a name="connect-ec2-manual"></a>

**Topics**
+ [步驟 1：建立 Amazon EC2 執行個體](#manual-connect-ec2.launch-ec2-instance)
+ [步驟 2：建立安全群組](#manual-connect-ec2.security-group)
+ [步驟 3：建立 Amazon DocumentDB 叢集](#manual-connect-ec2.launch-cluster)
+ [步驟 4：連線至您的 Amazon EC2 執行個體](#manual-connect-ec2.connect)
+ [步驟 5：安裝 MongoDB Shell](#manual-connect-ec2.install-mongo-shell)
+ [步驟 6：管理 Amazon DocumentDB TLS](#manual-connect-ec2.tls)
+ [步驟 7：連線至 Amazon DocumentDB 叢集](#manual-connect-ec2.connect-use)
+ [步驟 8：插入和查詢資料](#manual-cloud9-insert-query)
+ [步驟 9：探索](#manual-connect-ec2.explore)

下列步驟假設您已完成 [先決條件](connect-ec2.md#connect-ec2-prerequisites)主題中的步驟。

## 步驟 1：建立 Amazon EC2 執行個體
<a name="manual-connect-ec2.launch-ec2-instance"></a>

在此步驟中，您將在稍後用來佈建 Amazon DocumentDB 叢集的相同區域和 Amazon VPC 中建立 Amazon EC2 執行個體。 Amazon DocumentDB 

1. 在 Amazon EC2 主控台上，選擇**啟動執行個體**。  
![\[Amazon EC2 主控台上的啟動執行個體區段。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/ec2/launch-instance.png)

1. 在名稱和**標籤**區段**的名稱**欄位中輸入名稱或識別符。

1. 在 **Amazon Machine Image (AMI)** 下拉式清單中，找到 **Amazon Linux 2 AMI** 並選擇它。  
![\[應用程式和作業系統映像界面與 Quick Start 區段中選取的 Amazon Linux 2 AMI 選項。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/ec2/linux2-ami.png)

1. 在**執行個體類型**下拉式清單中尋找並選擇 **t3.micro。**

1. 在**金鑰對 （登入）** 區段中，輸入現有金鑰對的識別符，或選擇**建立新的金鑰對**。  
![\[顯示金鑰對名稱欄位和建立新金鑰對選項的金鑰對界面。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/ec2/key-pair.png)

   您必須提供 Amazon EC2 金鑰對。
   + 如果您有 Amazon EC2 金鑰對：

     1. 選取金鑰對，從清單中選擇您的金鑰對。

     1. 您必須已有私有金鑰檔案 (.pem 或 .ppk 檔案） 可供登入 Amazon EC2 執行個體。
   + 如果您沒有 Amazon EC2 金鑰對：

     1. 選擇**建立新金鑰對**，即會顯示**建立金鑰對**對話方塊。

     1. 在**金鑰對名稱欄位中輸入名稱**。

     1. 選擇**金鑰對類型**和**私有金鑰檔案格式**。

     1. 選擇 **Create key pair (建立金鑰對)**。  
![\[使用金鑰對名稱、類型和檔案格式的欄位建立金鑰對界面。建立金鑰對按鈕位於右下角。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/ec2/create-key-pair.png)
**注意**  
基於安全考量，我們強烈建議針對 SSH 和網際網路連線至 EC2 執行個體，使用金鑰對。

1. 在**網路設定區段**的**防火牆 （安全群組）** 下，選擇**建立安全群組**或**選取現有的安全群組**。  
![\[網路設定界面會顯示建立安全群組的選項。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/ec2/firewall.png)

   如果您選擇選取現有的安全群組，請從**常見安全群組**下拉式清單中選取一個。

   如果您選擇建立新的安全群組，請執行下列動作：

   1. 檢查所有流量允許適用於 EC2 連線的規則。

   1. 在 IP 欄位中，選擇**我的 IP** 或選取**自訂**，從 CIDR 區塊、字首清單或安全群組清單中選擇。我們不建議**選擇 Anywhere**，除非您的 EC2 執行個體位於隔離的網路上，因為它允許存取 EC2 執行個體的任何 IP 地址。  
![\[我的 IP 下拉式清單。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/ec2/ip-field.png)

1. 在**摘要**區段中，檢閱您的 EC2 組態，如果正確，請選擇**啟動執行個體**。

## 步驟 2：建立安全群組
<a name="manual-connect-ec2.security-group"></a>

您現在將在預設 Amazon VPC 中建立新的安全群組。安全群組`demoDocDB`可讓您從 Amazon DocumentDB EC2 執行個體連線至連接埠 27017 (Amazon DocumentDB 的預設連接埠） 上的 Amazon DocumentDB 叢集。 Amazon EC2 

1. 在 [Amazon EC2 管理主控台](https://console.aws.amazon.com/ec2)**的網路和安全性**下，選擇**安全群組**。  
![\[在網路和安全性下拉式清單中選取了安全群組選項的 Amazon DocumentDB 主控台導覽窗格。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/ec2/nav-security-groups.png)

1. 選擇**建立安全群組**。  
![\[建立安全群組按鈕。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/ec2/create-sg-btn-2.png)

1. 在**基本詳細資訊**區段中：

   1. 針對 **Security group name (安全群組名稱)**，輸入 `demoDocDB`。

   1. 在**描述**中，輸入描述。

   1. 對於 **VPC**，接受預設 VPC 的使用。

1. 在 **Inbound rules (傳入規則)** 區段中，選擇 **Add rule (新增規則)**。

   1. 針對**類型**，選擇**自訂 TCP 規則** （預設）。

   1. 針對**連接埠範圍**，輸入 `27017`。

   1. 對於 **Source (資源)**，選擇 **Custom (自訂)**。在旁邊的欄位中，搜尋您剛在步驟 1 中建立的安全群組。您可能需要重新整理瀏覽器，Amazon EC2 主控台才能自動填入來源名稱。  
![\[傳入規則區段顯示類型、通訊協定、連接埠範圍、來源和描述的欄位。新增規則按鈕位於左下角。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/ec2/inbound-rules.png)

1. 接受所有其他預設值，然後選擇**建立安全群組**。  
![\[建立安全群組按鈕。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/ec2/create-sg-btn-2.png)

## 步驟 3：建立 Amazon DocumentDB 叢集
<a name="manual-connect-ec2.launch-cluster"></a>

佈建 Amazon EC2 執行個體時，您將建立 Amazon DocumentDB 叢集。

1. 導覽至 Amazon DocumentDB 主控台，然後從導覽窗格中選擇**叢集**。

1. 選擇**建立**。

1. 將**叢集類型**設定保留為**執行個體型叢集**的預設值。

1. 在**叢集組態**中，針對**叢集識別符**輸入唯一名稱。請注意，無論如何輸入叢集名稱，主控台都會將所有叢集名稱變更為小寫。

   將**引擎版本**保留為預設值 **5.0.0**。

1. 對於**叢集儲存組態**，請保留 **Amazon DocumentDB Standard **的預設設定。

1. 在**執行個體組態**中：
   + 針對**資料庫執行個體類別**，選擇**記憶體最佳化類別 （包括 r 類別）** （這是預設值）。

     另一個執行個體選項是 **NVMe 支援的類別**。如需詳細資訊，請參閱 [NVMe 支援的執行個體](db-instance-nvme.md)。
   + 針對**執行個體類別**，選擇符合您需求的執行個體類型。如需執行個體類別的詳細說明，請參閱 [執行個體類別規格](db-instance-classes.md#db-instance-class-specs)。
   + 針對**執行個體數量**，請選擇最能反映您需求的數字。請記住，數字越低，成本越低，叢集可管理的讀取/寫入磁碟區就越低。  
![\[具有叢集識別符、引擎版本和執行個體類別預設值的組態界面，執行個體數量設定為 1。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/create-cluster/instance-config.png)

1. 對於**連線**，請保留**預設設定 不連線至 EC2 運算資源**。
**注意**  
連線至 EC2 運算資源會自動為您的叢集連線建立安全群組。由於您在上一個步驟中手動建立這些安全群組，因此您應該選取**不要連線到 EC2 運算資源**，以免建立第二組安全群組。

1. 在**身分驗證**區段中，輸入主要使用者的使用者名稱，然後選擇**自我管理**。輸入密碼，然後進行確認。

   如果您改為選擇 **中的受管 AWS Secrets Manager**，請參閱 [使用 Amazon DocumentDB 和 進行密碼管理 AWS Secrets Manager](docdb-secrets-manager.md) 以取得詳細資訊。

1. 選擇 **Create Cluster** (建立叢集)。

## 步驟 4：連線至您的 Amazon EC2 執行個體
<a name="manual-connect-ec2.connect"></a>

連線至 Amazon EC2 執行個體可讓您安裝 MongoDB shell。安裝 mongo shell 可讓您連線至 並查詢 Amazon DocumentDB 叢集。請完成下列步驟：

1. 在 Amazon EC2 主控台上，導覽至您的執行個體，並查看您剛建立的執行個體是否正在執行。如果是，請按一下執行個體 ID 來選取執行個體。  
![\[執行個體資料表列出 Amazon EC2 主控台上的兩個執行個體。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/ec2/ec2-instance-table.png)

1. 選擇**連線**。  
![\[Amazon EC2 執行個體的執行個體摘要。Connect 按鈕位於右上角。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/ec2/ec2-instance-summary.png)

1. 您的連線方法有四個標籤選項：Amazon EC2 Instance Connect、Session Manager、SSH 用戶端或 EC2 序列主控台。您必須選擇一個，並遵循其指示。完成後，請選擇**連線**。  
![\[介面顯示 EC2 Instance Connect 連線方法的組態選項。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/ec2/connect-options.png)

**注意**  
如果您的 IP 地址在您開始此演練後發生變更，或者您稍後會返回您的環境，您必須更新`demoEC2`安全群組傳入規則，以啟用來自新 API 地址的傳入流量。

## 步驟 5：安裝 MongoDB Shell
<a name="manual-connect-ec2.install-mongo-shell"></a>

您現在可以安裝 MongoDB shell，這是用來連接和查詢 Amazon DocumentDB 叢集的命令列公用程式。MongoDB shell 目前有兩種版本：最新版本 mongosh 和舊版 mongo shell。

**重要**  
6.13.1 版之前的 Node.js 驅動程式有已知的限制，Amazon DocumentDB 的 IAM 身分驗證目前不支援。使用 Node.js 驅動程式的 Node.js 驅動程式和工具 （例如 mongosh) 必須升級為使用 Node.js 驅動程式 6.13.1 版或更新版本。

請依照下列指示，為您的作業系統安裝 MongoDB shell。

------
#### [ On Amazon Linux ]

**在 Amazon Linux 上安裝 MongoDB shell**

如果您*不是*使用 IAM，而且想要使用最新的 MongoDB shell (mongosh) 連線到您的 Amazon DocumentDB 叢集，請遵循下列步驟：

1. 建立儲存庫檔案。在您建立的 EC2 執行個體命令列中，執行下列命令：

   ```
   echo -e "[mongodb-org-5.0] \nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2023/mongodb-org/5.0/x86_64/\ngpgcheck=1 \nenabled=1 \ngpgkey=https://pgp.mongodb.com/server-5.0.asc" | sudo tee /etc/yum.repos.d/mongodb-org-5.0.repo
   ```

1. 完成後，請在命令提示中使用以下兩個命令選項之一安裝 mongosh：

   **選項 1** — 如果您在 Amazon EC2 組態期間選擇預設的 Amazon Linux 2023，請輸入此命令：

   ```
   sudo yum install -y mongodb-mongosh-shared-openssl3
   ```

   **選項 2** — 如果您在 Amazon EC2 組態期間選擇 Amazon Linux 2，請輸入此命令：

   ```
   sudo yum install -y mongodb-mongosh
   ```

如果您使用的是 IAM，則必須使用舊版的 MongoDB shell (5.0) 連線到您的 Amazon DocumentDB 叢集，請遵循下列步驟：

1. 建立儲存庫檔案。在您建立的 EC2 執行個體命令列中，執行下列命令：

   ```
   echo -e "[mongodb-org-5.0] \nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2023/mongodb-org/5.0/x86_64/\ngpgcheck=1 \nenabled=1 \ngpgkey=https://pgp.mongodb.com/server-5.0.asc" | sudo tee /etc/yum.repos.d/mongodb-org-5.0.repo
   ```

1. 完成後，請在命令提示中使用以下命令選項安裝 mongodb 5.0 shell：

   ```
   sudo yum install -y mongodb-org-shell
   ```

------
#### [ On Ubuntu ]

**在 Ubuntu 上安裝 mongosh**

1. 匯入公開金鑰供套件管理系統使用。

   ```
   curl -fsSL https://pgp.mongodb.com/server-5.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-5.0.gpg
   ```

1. 以適用於您 Ubuntu 版本的命令來為 MongoDB 建立清單檔案 `mongodb-org-5.0.list`。

   ```
   echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-5.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
   ```

1. 使用下列命令匯入和更新本機套件資料庫：

   ```
   sudo apt-get update
   ```

1. 安裝 mongosh。

   ```
   sudo apt-get install -y mongodb-mongosh
   ```

如需在您的 Ubuntu 系統上安裝舊版 MongoDB 的詳細資訊，請參閱[在 Ubuntu 上安裝 MongoDB Community 版本](https://docs.mongodb.com/v3.6/tutorial/install-mongodb-on-ubuntu/)。

------
#### [ On other operating systems ]

若要在其他作業系統安裝 mongo 殼層，請參閱 MongoDB 文件中的[安裝 MongoDB Community 版本](https://www.mongodb.com/docs/manual/administration/install-community/)。

------

## 步驟 6：管理 Amazon DocumentDB TLS
<a name="manual-connect-ec2.tls"></a>

使用下列程式碼下載 Amazon DocumentDB 的 CA 憑證： `wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem` 

**注意**  
任何新的 Amazon DocumentDB 叢集預設都會啟用 Transport Layer Security (TLS)。如需詳細資訊，請參閱[管理 Amazon DocumentDB 叢集 TLS 設定](https://docs.aws.amazon.com/documentdb/latest/developerguide/security.encryption.ssl.html)。

## 步驟 7：連線至 Amazon DocumentDB 叢集
<a name="manual-connect-ec2.connect-use"></a>

1. 在 Amazon DocumentDB 主控台**的叢集**下，找到您的叢集。按一下該叢集的**叢集識別符**，以選擇您建立的叢集。  
![\[Amazon DocumentDB 叢集清單顯示具有主要執行個體詳細資訊的區域叢集。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/cluster-connect-choose.png)

1. 在**連線和安全性**索引標籤中，找到**連線方塊中具有 mongo shell 的連線至此叢集**： ****  
![\[具有反白 MongoDB 連線字串的叢集連線設定，用於使用 mongo shell 連線至 Amazon DocumentDB 叢集。\]](http://docs.aws.amazon.com/zh_tw/documentdb/latest/developerguide/images/connect-mongosh.png)

   複製提供的連線字串，並將其貼到您的終端機。

   對其進行下列變更：

   1. 請確定字串中有正確的使用者名稱。

   1. 省略 ，`<insertYourPassword>`以便在連線時 mongo shell 提示您輸入密碼。

   1. 選用：如果您使用 IAM 身分驗證，或使用舊版 MongoDB shell，請修改您的連線字串，如下所示：

      `mongo --ssl --host mydocdbcluster.cluster-cozt4xr9xv9b.us-east-1.docdb.amazonaws.com:27017 --sslCAFile global-bundle.pem --username SampleUser1 --password`

      `mydocdbcluster.cluster-cozt4xr9xv9b.us-east-1` 將 取代為來自叢集的相同資訊。

1. 在終端機中按 Enter。現在系統會提示您輸入密碼。輸入您的密碼。

1. 當您輸入密碼並看到`rs0 [direct: primary] <env-name>>`提示時，您已成功連線到 Amazon DocumentDB 叢集。

連線時發生問題？ 請參閱[疑難排解 Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/troubleshooting.html)。

## 步驟 8：插入和查詢資料
<a name="manual-cloud9-insert-query"></a>

現在您已連線至叢集，您可以執行一些查詢來熟悉使用文件資料庫。

1. 若要插入單一文件，請輸入下列項目：

   ```
   db.collection.insertOne({"hello":"DocumentDB"})
   ```

   您會收到下列輸出：

   ```
   {
     acknowledged: true,
     insertedId: ObjectId('673657216bdf6258466b128c')
   }
   ```

1. 您可以使用 `findOne()`命令讀取您撰寫的文件 （因為它只會傳回單一文件）。輸入下列項目：

   ```
   db.collection.findOne()
   ```

   您會收到下列輸出：

   ```
   { "_id" : ObjectId("5e401fe56056fda7321fbd67"), "hello" : "DocumentDB" }
   ```

1. 若要執行更多查詢，請考慮遊戲設定檔使用案例。首先，將幾個項目插入標題為 的集合`profiles`。輸入下列項目：

   ```
   db.profiles.insertMany([{ _id: 1, name: 'Matt', status: 'active', level: 12, score: 202 }, 
         { _id: 2, name: 'Frank', status: 'inactive', level: 2, score: 9 }, 
         { _id: 3, name: 'Karen', status: 'active', level: 7, score: 87 }, 
         { _id: 4, name: 'Katie', status: 'active', level: 3, score: 27 }
   ])
   ```

   您會收到下列輸出：

   ```
   { acknowledged: true, insertedIds: { '0': 1, '1': 2, '2': 3, '3': 4 } }
   ```

1. 使用 `find()`命令來傳回設定檔集合中的所有文件。輸入下列項目：

   ```
   db.profiles.find()
   ```

   您會收到與您在步驟 3 中輸入的資料相符的輸出。

1. 使用篩選條件對單一文件使用查詢。輸入下列項目：

   ```
   db.profiles.find({name: "Katie"})
   ```

   您會收到下列輸出：

   ```
   { "_id" : 4, "name" : "Katie", "status": "active", "level": 3, "score":27}
   ```

1. 現在，讓我們嘗試尋找設定檔，並使用 `findAndModify`命令修改它。我們會為使用者 Matt 提供額外 10 點，並包含下列程式碼：

   ```
   db.profiles.findAndModify({
           query: { name: "Matt", status: "active"},
           update: { $inc: { score: 10 } }
       })
   ```

   您會收到下列輸出 （請注意，他的分數尚未增加）：

   ```
   {
       [{_id : 1, name : 'Matt', status: 'active', level: 12, score: 202}]
   ```

1. 您可以使用下列查詢來驗證他的分數是否已變更：

   `db.profiles.find({name: "Matt"})`

   您會收到下列輸出：

   ```
   { "_id" : 1, "name" : "Matt", "status" : "active", "level" : 12, "score" : 212 }
   ```

## 步驟 9：探索
<a name="manual-connect-ec2.explore"></a>

恭喜您！您已成功完成 Amazon DocumentDB 的 Quick Start 指南。

下一步是什麼？ 了解如何充分利用這個功能強大的資料庫及其一些熱門功能：
+  [管理 Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/managing-documentdb.html) 
+  [擴展](https://docs.aws.amazon.com/documentdb/latest/developerguide/operational_tasks.html) 
+  [備份和還原](https://docs.aws.amazon.com/documentdb/latest/developerguide/backup_restore.html) 

**注意**  
若要節省成本，您可以停止 Amazon DocumentDB 叢集以降低成本或刪除叢集。根據預設，閒置 30 分鐘後，您的 AWS Cloud9 環境將停止基礎 Amazon EC2 執行個體。