手動連接 Amazon EC2 - Amazon DocumentDB

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

手動連接 Amazon EC2

下列步驟假設您已完成 先決條件主題中的步驟。

步驟 1:建立 Amazon EC2 執行個體

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

  1. 在 Amazon EC2 主控台上,選擇啟動執行個體

    Amazon EC2 主控台上的啟動執行個體區段。
  2. 在名稱和標籤區段的名稱欄位中輸入名稱或識別符。

  3. Amazon Machine Image (AMI) 下拉式清單中,找到 Amazon Linux 2 AMI 並選擇它。

    應用程式和作業系統映像會與 Quick Start 區段中選取的 Amazon Linux 2 AMI 選項連接。
  4. 執行個體類型下拉式清單中尋找並選擇 t3.micro。

    執行個體類型界面,顯示在下拉式清單中選取的 t3.micro 選項。
  5. 金鑰對 (登入) 區段中,輸入現有金鑰對的識別符,或選擇建立新金鑰對

    顯示金鑰對名稱欄位和建立新金鑰對選項的金鑰對界面。

    您必須提供 Amazon EC2 金鑰對。

    如果您有 Amazon EC2 金鑰對:

    1. 選取金鑰對,從清單中選擇金鑰對。

    2. 您必須已有私有金鑰檔案 (.pem 或 .ppk 檔案) 可供登入您的 Amazon EC2 執行個體。

    如果您沒有 Amazon EC2 金鑰對:

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

    2. 金鑰對名稱欄位中輸入名稱。

    3. 選擇金鑰對類型私有金鑰檔案格式

    4. 選擇 Create key pair (建立金鑰對)

    建立金鑰對界面,其中包含金鑰對名稱、類型和檔案格式的欄位。建立金鑰對按鈕位於右下角。
    注意

    基於安全考量,強烈建議使用金鑰對來連接您的 EC2 執行個體的 SSH 和網際網路。

  6. 網路設定區段防火牆 (安全群組) 下,選擇建立安全群組選取現有安全群組

    網路設定界面會顯示建立安全群組的選項。

    如果您選擇選取現有的安全群組,請從通用安全群組下拉式清單中選取一個。

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

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

    2. 在 IP 欄位中,選擇我的 IP 或選取自訂,從 CIDR 區塊、字首清單或安全群組清單中選擇。除非您的 EC2 執行個體位於隔離的網路上,否則我們不建議 Anywhere 做為選擇,因為它允許存取您的 EC2 執行個體的任何 IP 地址。

    我的 IP 下拉式清單。
  7. 摘要區段中,檢閱您的 EC2 組態,如果正確,請選擇啟動執行個體

    顯示 EC2 組態的摘要區段。檢閱命令、取消和啟動執行個體選項位於底部。

步驟 2:建立安全群組

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

  1. Amazon EC2 管理主控台的網路和安全下,選擇安全群組

    Amazon DocumentDB 主控台導覽窗格,其中包含網路和安全下拉式清單中選取的安全群組選項。
  2. 選擇建立安全群組

    建立安全群組按鈕。
  3. 在基本詳細資訊區段中:

    1. 針對 Security group name (安全群組名稱),輸入 demoDocDB

    2. 描述中,輸入描述。

    3. 對於 VPC,接受預設 VPC 的使用。

    包含安全群組名稱、描述和 VPC 欄位的基本詳細資訊區段。
  4. Inbound rules (傳入規則) 區段中,選擇 Add rule (新增規則)

    1. 針對 Type (類型),選擇 Custom TCP Rule (自訂 TCP 規則)

    2. 連接埠範圍中,輸入 27017

    3. 針對目的地,選擇自訂。在旁邊的欄位中,搜尋您剛在步驟 1 中建立的安全群組。您可能需要重新整理瀏覽器,Amazon EC2 主控台才能自動填入來源名稱。

    傳入規則區段顯示類型、通訊協定、連接埠範圍、來源和描述的欄位。新增規則按鈕位於左下角。
  5. 接受所有其他預設值,然後選擇建立安全群組

    建立安全群組按鈕。

步驟 3:建立 Amazon DocumentDB 叢集

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

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

    反白顯示叢集選項的 Amazon DocumentDB 主控台導覽窗格。
  2. 選擇 Create (建立)。

    建立新 Amazon DocumentDB 叢集的建立按鈕。
  3. 叢集類型設定保留為執行個體型叢集的預設值。

    已選取執行個體型叢集選項的叢集類型界面。
  4. 針對執行個體數量,選擇 1。這將最大限度地降低成本。將其他設定保留為預設值。

    具有叢集識別符、引擎版本和執行個體類別預設值的組態界面,以及設定為 的執行個體數量。
  5. 對於連線,請保留預設設定,不要連線至 EC2 運算資源

    連線界面,其中已選取不連線至 EC2 運算資源選項。
    注意

    連線至 EC2 運算資源會自動為 EC2 運算資源連線至叢集建立安全群組。由於您在上一個步驟中手動建立這些安全群組,因此您應該選取不要連線到 EC2 運算資源,以免建立第二組安全群組。

  6. 身分驗證區段中,輸入主要使用者的使用者名稱,然後選擇自我管理。輸入密碼,然後確認。

    如果您改為選擇 中的受管 AWS Secrets Manager,請參閱 使用 Amazon DocumentDB 和 進行密碼管理 AWS Secrets Manager 以取得詳細資訊。

    身分驗證類型選擇,其中 Managed in AWS Secrets Manager 選項反白顯示,且說明兩種身分驗證類型。
  7. 選擇 建立叢集

    顯示進階設定切換按鈕已啟用,低於預估每小時成本提醒。

步驟 4:連線至您的 Amazon EC2 執行個體

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

  1. 在 Amazon EC2 主控台上,導覽至您的執行個體,並查看您剛建立的執行個體是否正在執行。如果是,請按一下執行個體 ID 來選取執行個體。

    執行個體資料表列出 Amazon EC2 主控台上的兩個執行個體。
  2. 選擇連線

    Amazon EC2 執行個體的執行個體摘要。Connect 按鈕位於右上角。
  3. 您的連線方法有四個標籤選項:Amazon EC2 Instance Connect、Session Manager、SSH 用戶端或 EC2 序列主控台。您必須選擇一個,並遵循其指示。完成後,請選擇連線

    介面顯示 EC2 Instance Connect 連線方法的組態選項。
注意

如果您的 IP 地址在您開始此逐步解說後變更,或者您稍後再次返回您的環境,您必須更新demoEC2安全群組傳入規則,以啟用來自新 API 地址的傳入流量。

步驟 5:安裝 MongoDB Shell

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

重要

Amazon DocumentDB 目前不支援 的 NodeJS 使用 IAM 身分進行身分驗證 驅動程式有已知的限制。限制包括最新的 MongoDB shell,mongosh。若要透過 Amazon DocumentDB 支援 IAM 身分驗證,建議使用 MongoDB 5.0 shell。解決限制後,NodeJS 驅動程式支援將會更新。

請依照下列指示,為您的作業系統安裝 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
  2. 完成時,請在命令提示中安裝 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
  2. 完成時,請在命令提示中使用以下命令選項安裝 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
  2. 以適用於您 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
  3. 使用下列命令匯入和更新本機套件資料庫:

    sudo apt-get update
  4. 安裝 mongosh。

    sudo apt-get install -y mongodb-mongosh

如需在您的 Ubuntu 系統上安裝舊版 MongoDB 的詳細資訊,請參閱在 Ubuntu 上安裝 MongoDB Community 版本

On other operating systems

若要在其他作業系統安裝 mongo 殼層,請參閱 MongoDB 文件中的安裝 MongoDB Community 版本

步驟 6:管理 Amazon DocumentDB TLS

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

注意

任何新的 Amazon DocumentDB 叢集預設都會啟用 Transport Layer Security (TLS)。如需詳細資訊,請參閱管理 Amazon DocumentDB 叢集 TLS 設定

步驟 7:連線至您的 Amazon DocumentDB 叢集

  1. 在 Amazon DocumentDB 主控台的叢集下,找到您的叢集。按一下該叢集的叢集識別符,以選擇您建立的叢集。

    Amazon DocumentDB 叢集清單顯示具有主要執行個體詳細資訊的區域叢集。
  2. 連線和安全性索引標籤中,找到連線方塊中具有 mongo shell 的連線至此叢集

    使用反白顯示的 MongoDB 連線字串進行叢集連線設定,以使用 mongo shell 連線至 Amazon DocumentDB 叢集。

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

    對其進行下列變更:

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

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

    3. 選用:如果您使用 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 將 取代為來自叢集的相同資訊。

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

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

連線時發生問題? 請參閱對 Amazon DocumentDB 進行故障診斷

步驟 8:插入和查詢資料

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

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

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

    您會收到下列輸出:

    { acknowledged: true, insertedId: ObjectId('673657216bdf6258466b128c') }
  2. 您可以使用 findOne()命令讀取您撰寫的文件 (因為它只會傳回單一文件)。輸入下列項目:

    db.collection.findOne()

    您會收到下列輸出:

    { "_id" : ObjectId("5e401fe56056fda7321fbd67"), "hello" : "DocumentDB" }
  3. 若要再執行一些查詢,請考慮遊戲設定檔使用案例。首先,將幾個項目插入標題為 的集合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 } }
  4. 使用 find()命令來傳回設定檔集合中的所有文件。輸入下列項目:

    db.profiles.find()

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

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

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

    您會收到下列輸出:

    { "_id" : 4, "name" : "Katie", "status": "active", "level": 3, "score":27}
  6. 現在,讓我們嘗試尋找設定檔,並使用 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}]
  7. 您可以使用下列查詢來驗證他的分數是否已變更:

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

    您會收到下列輸出:

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

步驟 9:探索

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

下一步是什麼? 了解如何充分利用此強大的資料庫及其一些熱門功能:

注意

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