建立 Amazon DocumentDB 叢集 - Amazon DocumentDB

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

建立 Amazon DocumentDB 叢集

Amazon DocumentDB 叢集由執行個體和代表叢集資料的叢集磁碟區組成。叢集磁碟區在三個可用區域間以六種方法複寫為單一虛擬磁碟區。叢集包含一個主要執行個體,而且最多可選擇性地包含 15 個複本執行個體。

下列各節說明如何使用 AWS Management Console 或 建立 Amazon DocumentDB 叢集 AWS CLI。您可以新增該叢集的其他複本執行個體。當您使用主控台建立 Amazon DocumentDB 叢集時,系統會自動為您同時建立主要執行個體。如果您使用 AWS CLI 來建立 Amazon DocumentDB 叢集,則在叢集的狀態可用之後,您必須為該叢集建立主要執行個體。

必要條件

以下是建立 Amazon DocumentDB 叢集的先決條件。

如果您沒有 AWS 帳戶,請完成下列步驟以建立 。

若要註冊 AWS 帳戶
  1. 開啟https://portal.aws.amazon.com/billing/註冊

  2. 請遵循線上指示進行。

    部分註冊程序需接收來電,並在電話鍵盤輸入驗證碼。

    當您註冊 時 AWS 帳戶,AWS 帳戶根使用者會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務,請將管理存取權指派給使用者,並且僅使用根使用者來執行需要根使用者存取權的任務

VPC 先決條件

您只能在 Amazon Virtual Private Cloud (Amazon ) 中建立 Amazon DocumentDB 叢集VPC。 Amazon Virtual Private Cloud 您的 Amazon 在至少兩個可用區域中的每個區域VPC都必須具有至少一個子網路,才能將其與 Amazon DocumentDB 叢集搭配使用。透過在可用區域之間分發叢集執行個體,您可以確保在不太可能發生可用區域故障的情況下,叢集中有可用的執行個體。

子網路先決條件

建立 Amazon DocumentDB 叢集時,您必須在其中選擇 VPC和對應的子網路群組VPC,才能啟動叢集。子網路決定可用區域,以及在該可用區域內您想要用來啟動執行個體的 IP 範圍。鑒於這項討論的目的,我們將交替使用「子網路」「可用區域」這兩個名詞。子網路群組是一組具名的子網路 (或「可用區域」)。子網路群組允許您執行的動作是指定要用來啟動 Amazon DocumentDB 執行個體的可用區域。例如,在具有三個執行個體的叢集中,建議這些執行個體每一個在不同的可用區域佈建高可用性。因此,如果單一可用區域發生故障,它只會影響單一執行個體。

Amazon DocumentDB 執行個體目前最多可佈建三個可用區域。即使子網路群組具有三個以上的子網路,您仍然只能使用這些子網路中的三個來建立 Amazon DocumentDB 叢集。因此,建議您在建立子網路群組時,只選擇您要部署執行個體的三個子網路。在美國東部 (維吉尼亞北部),您的子網路群組可以有六個子網路 (或可用區域)。不過,當佈建 Amazon DocumentDB 叢集時,Amazon DocumentDB 會選擇三個可用區域來佈建執行個體。

例如,假設當您建立叢集時,Amazon DocumentDB 會選擇可用區域 {1A、1B 和 1C }。如果您嘗試在可用區域 {1D} 中建立執行個體,API呼叫會失敗。不過,如果您選擇建立執行個體而不指定特定可用區域,則 Amazon DocumentDB 會代表您選擇可用區域。Amazon DocumentDB 使用演算法在可用區域之間載入平衡執行個體,以協助您實現高可用性。例如,若佈建三個執行個體,預設會跨三個可用區域佈建執行個體,而不會全佈建在單一可用區域。

建議:
  • 除非有特定的原因,否則一律使用三個子網路建立子網路群組。這樣做可協助確保具有三個或更多個執行個體的叢集能夠獲得更高的可用性,因為可以跨三個可用區域佈建執行個體。

  • 一律將執行個體分散在多個可用區域以達到高可用性。請勿將叢集的所有執行個體放置在單一可用區域。

  • 由於隨時都會發生容錯移轉事件,您不應假設主要執行個體或複本執行個體一律位在特定的可用區域。

其他先決條件

以下是建立 Amazon DocumentDB 叢集的一些其他先決條件:

  • 如果您要 AWS 使用 AWS Identity and Access Management (IAM) 憑證連線至 ,IAM您的帳戶必須具有授予執行 Amazon DocumentDB 操作所需許可IAM的政策。

    如果您使用 IAM帳戶來存取 Amazon DocumentDB 主控台,您必須先 AWS Management Console 使用IAM您的帳戶登入 。然後前往位於 https://console.aws.amazon.com/docdb 的 Amazon DocumentDB 主控台。

  • 如果您想要為叢集量身打造組態參數,則必須為叢集參數群組及參數群組指定必要的參數設定。如需建立或修改叢集參數群組或參數群組的相關資訊,請參閱管理 Amazon DocumentDB 叢集參數群組

  • 您必須決定要為叢集指定的 TCP/IP 連接埠號碼。某些公司的防火牆會封鎖 Amazon DocumentDB 的預設連接埠連線。如果您公司的防火牆會封鎖預設連接埠,請為您的叢集選擇另一個連接埠。叢集中的所有執行個體都使用相同的連接埠。

使用 建立叢集和主要執行個體 AWS Management Console

下列程序說明如何使用 主控台啟動具有一或多個執行個體的 Amazon DocumentDB 叢集。

建立叢集:使用預設設定

使用 預設設定建立具有執行個體的叢集 AWS Management Console
  1. 登入 AWS Management Console,然後在 https://console.aws.amazon.com/docdb 開啟 Amazon DocumentDB 主控台。

  2. 如果您想要在美國東部 (維吉尼亞北部) 區域 AWS 區域 以外的 中建立叢集,請從主控台右上角的清單中選擇區域。

  3. 在導覽窗格中,選擇 Clusters (叢集),然後選擇 Create (建立)

    提示

    如果畫面左側沒有出現導覽窗格,請選擇頁面左上角的功能表圖示 (Hamburger menu icon with three horizontal lines.)。

  4. 建立 Amazon DocumentDB 叢集頁面上,完成組態窗格。

    1. 叢集識別符 — 接受 Amazon DocumentDB 提供的名稱,或輸入叢集的名稱;例如 sample-cluster

      叢集命名限制條件:

      • 長度為 【1-63】 個字母、數字或連字號。

      • 第一個字元必須是字母。

      • 不能以連字號結尾或連續包含兩個連字號。

      • 每個 AWS 帳戶區域每 Amazon RDS、Neptune 和 Amazon DocumentDB 的所有叢集都必須是唯一的。

    2. 引擎版本 — 接受預設引擎版本 4.0.0,或選擇性地選擇 3.6.0。

    3. 執行個體類別:接受預設 db.r5.large,或從清單中選擇您想要的執行個體類別。

    4. 執行個體數目 — 在清單中,選擇要使用此叢集建立的執行個體數目。第一個執行個體將是主要執行個體,而其他所有執行個體將是唯讀複本執行個體。如有必要,您可以稍後新增和刪除執行個體。根據預設,Amazon DocumentDB 叢集會啟動具有三個執行個體 (一個主要複本和兩個複本)。

  5. 完成叢集儲存體組態區段。

    選擇 Amazon DocumentDB Standard (預設) 或 Amazon DocumentDB I/O 最佳化 。如需詳細資訊,請參閱Amazon DocumentDB 叢集儲存組態

  6. 完成 Authentication (認證) 窗格。

    1. 使用者名稱 — 輸入主要使用者的名稱。若要登入叢集,您必須使用主要使用者名稱。

      主要使用者命名限制:

      • 長度為 【1-63】 個英數字元。

      • 第一個字元必須是字母。

      • 不能是資料庫引擎保留的字。

    2. 密碼 — 輸入主要使用者的密碼,然後確認。若要登入叢集,您必須使用主要使用者的密碼。

      密碼限制條件:

      • 長度為 【8-100】 個可列印ASCII字元。

      • 可以使用任何可列印ASCII字元,但下列除外:

        • / (正斜線)

        • " (雙引號)

        • @ (@ 符號)

  7. 在螢幕下方,選擇以下其中一項:

    • 若要立即建立叢集,請選擇 Create cluster (建立叢集)

    • 若不建立叢集,請選擇 Cancel (取消)

    • 若要在建立之前進一步設定叢集,請選擇 Show additional configurations (顯示其他組態),然後繼續進行建立叢集:其他組態

      Additional Configurations (其他組態) 部分涵蓋的組態如下所示:

      • 網路設定 — 預設為使用defaultVPC安全群組。

      • 叢集選項 - 預設值是使用連接埠 27017 和預設參數群組。

      • 加密 — 預設為使用 (default) aws/rds金鑰啟用加密。

        重要

        叢集加密後,就無法解密。

      • 備份 — 預設為保留備份 1 天,並讓 Amazon DocumentDB 選擇備份時段。

      • 日誌匯出 — 預設值是不將稽核日誌匯出至 CloudWatch 日誌。

      • 維護:預設值是讓 Amazon DocumentDB 選擇維護時段。

      • 刪除保護:保護您的叢集免於意外刪除。使用主控台建立的叢集預設為已啟用

      如果現在接受預設設定,您可以在稍後藉由修改叢集來將其大多數做變更。

  8. 為叢集的安全群組啟用入站連線。

    如果您未變更叢集的預設設定,則使用VPC指定區域中預設值的預設安全群組來建立叢集。若要連線至 Amazon DocumentDB ,您必須在叢集的安全群組的連接埠 27017 (或您選擇的連接埠) 上啟用傳入連線。

    新增入站連線至叢集安全群組

    1. 登入 AWS Management Console 並在 開啟 Amazon EC2主控台https://console.aws.amazon.com/ec2/

    2. 在主視窗的 Resources (資源) 區段中,選擇 Security groups (安全群組)

      映像:強調安全群組連結選項的資源清單。
    3. 從安全群組清單中,找出您建立叢集時使用的安全群組 (最可能是預設安全群組),並選擇安全群組名稱左側的方塊。

      影像:安全群組清單會反白顯示一個選取方塊的安全群組。
    4. Actions (動作) 功能表中,選擇 Edit inbound rules (編輯入站規則),然後輸入規則限制。

      1. 類型 — 從清單中,選擇要對網路流量開啟的通訊協定。

      2. 通訊協定 — 從清單中,選擇通訊協定的類型。

      3. 連接埠範圍 — 針對自訂規則,輸入連接埠號碼或連接埠範圍。請確定連接埠號碼或範圍包括您建立叢集時指定的連接埠 (預設:27107)。

      4. 來源 — 指定可到達執行個體的流量。從清單中選擇流量來源。如果您選擇自訂 ,請在CIDR符號中指定單一 IP 地址或 IP 地址範圍 (例如 203.0.113.5/32)。

      5. 描述 — 輸入此規則的描述。

      6. 完成建立規則後,選擇 Save (儲存)

建立叢集:其他組態

如果您想要接受叢集的預設設定,您可以略過以下步驟,然後選擇 Create cluster (建立叢集)

  1. 完成 Network settings (網路設定) 窗格。

    螢幕擷取畫面,顯示網路設定窗格和設定網路設定的步驟。
    1. Virtual Private Cloud (VPC) — 在清單中,選擇要啟動此叢集VPC的 Amazon。

    2. 子網路群組 — 在清單中,選擇要用於此叢集的子網路群組。

    3. VPC 安全群組 — 在清單中,選擇此叢集VPC的安全群組。

  2. 完成 Cluster options (叢集選項) 窗格。

    螢幕擷取畫面,顯示叢集選項窗格以及設定叢集設定的步驟。
    1. 資料庫連接埠 — 使用向上和向下箭頭來設定應用程式用來連線至執行個體的 TCP/IP 連接埠。

    2. 叢集參數群組 — 在參數群組清單中,選擇此叢集的叢集參數群組。

  3. 完成 Encryption (加密) 窗格。

    加密窗格的螢幕擷取畫面,顯示設定叢集加密的步驟。
    1. Encryption-at-rest — 選擇下列其中一項:

      • 啟用加密 — 預設。所有靜態資料已加密。如果您選擇加密資料,您無法復原此動作。

      • 停用加密 — 您的資料未加密。

    2. AWS KMS 金鑰 — 只有在您加密資料時才可使用此功能。在清單中,選擇要用於在此叢集中加密的金鑰。預設值為 (default) aws/rds

      如果您選擇輸入金鑰 ARN,則必須輸入金鑰的 Amazon Resource Name (ARN)。

  4. 完成 Backup (加密) 窗格。

    備份窗格的螢幕擷取畫面,顯示設定叢集備份時段的步驟。
    1. 備份保留期 — 在清單中,選擇刪除叢集之前保留此叢集自動備份的天數。

    2. 備份時段 — 設定 Amazon DocumentDB 要為此叢集進行備份的每日時間和持續時間。

      1. 開始時間 — 在第一個清單中,選擇啟動自動備份的開始時間小時 (UTC)。在第二個清單中,選擇您要自動備份開始進行的時間 (分)。

      2. 持續時間 — 在清單中,選擇要配置以建立自動備份的時數。

  5. 選取您要匯出至日誌的日誌類型,以完成 CloudWatch 日誌匯出窗格。

    日誌匯出窗格的螢幕擷取畫面,顯示設定叢集DML日誌的步驟。
    • 稽核日誌:選取此選項以啟用將稽核日誌匯出至 Amazon CloudWatch Logs。如果您選取 Audit logs (稽核日誌),則必須在叢集的自訂參數群組中啟用 audit_logs。如需詳細資訊,請參閱稽核 Amazon DocumentDB 事件

    • Profiler 日誌 — 選擇此選項以啟用將操作 Profiler 日誌匯出至 Amazon CloudWatch Logs。如果您選取 Profiler logs (Profiler 日誌),則還必須在叢集的自訂參數群組中修改下列參數:

      • profiler—設定為 enabled

      • profiler_threshold_ms—將 設定為 值[0-INT_MAX],以設定分析操作的閾值。

      • profiler_sampling_rate—將 設定為 值,將慢速操作的百分比[0.0-1.0]設定為設定檔。

      如需詳細資訊,請參閱分析 Amazon DocumentDB 操作

  6. 完成 Maintenance (維護) 窗格。

    維護窗格的螢幕擷取畫面,顯示設定叢集維護時段的步驟。
    1. 選擇下列其中一項

      • 選取視窗 — 您可以指定星期幾、UTC開始時間和持續時間,讓 Amazon DocumentDB 對您的叢集執行維護。

        1. 開始日 — 在清單中,選擇一週中的一天以開始叢集維護。

        2. 開始時間 — 在清單中,選擇小時和分鐘 (UTC) 以開始維護。

        3. 持續時間 — 在清單中,選擇叢集維護的配置時間。如果無法在指定時間內完成維護作業,維護程序會持續超過指定的時間,直到完成為止。

      • 沒有偏好設定 —Amazon DocumentDB 會選擇執行維護的星期幾、開始時間和持續時間。

  7. 如果您希望將一或多個標籤新增到此叢集,請完成 Tags (標籤) 窗格。

    Enable deletion protection (啟用刪除保護) 核取方塊 (已選取) 的螢幕擷取畫面。

    對於您要新增到叢集的每個標籤,請重複下列步驟。叢集上最多可能有 10 個。

    1. 選擇 Add tags (新增標籤)

    2. 輸入標籤的 Key (索引鍵)

    3. 選擇性輸入標籤的 Value (值)

    若要移除標籤,請選擇 Remove tag (移除標籤)

  8. 當您使用主控台建立叢集時,預設會啟用 Deletion Protection (刪除保護)。若要停用刪除保護,請清除 Enable deletion protection (啟用刪除保護)。若已啟用,刪除保護就會避免叢集遭到刪除。若要刪除已啟用刪除保護的叢集,您必須先修改叢集以停用刪除保護。

    Enable deletion protection (啟用刪除保護) 核取方塊 (已選取) 的螢幕擷取畫面。

    如需刪除保護的詳細資訊,請參閱 刪除 Amazon DocumentDB 叢集

  9. 若要建立叢集,請選擇 Create cluster (建立叢集)。否則,請選擇 Cancel (取消)。

使用 建立叢集 AWS CLI

下列程序說明如何使用 AWS CLI 啟動 Amazon DocumentDB 叢集並建立 Amazon DocumentDB 複本。

參數
  • --db-cluster-identifier - 必要項目。識別此叢集的小寫字串。

    叢集命名限制條件:
    • 長度為 【1–63】 個字母、數字或連字號。

    • 第一個字元必須是字母。

    • 不能以連字號結尾或連續包含兩個連字號。

    • 對於每個 AWS 帳戶RDS、每個區域的所有叢集 (跨 Amazon 、Amazon Neptune 和 Amazon DocumentDB ),必須是唯一的。

  • --engine - 必要項目。必須為 docdb

  • --deletion-protection | --no-deletion-protection- 選用。若已啟用刪除保護,它就會避免叢集遭到刪除。當您使用 時 AWS CLI,預設設定為停用刪除保護。

    如需刪除保護的詳細資訊,請參閱 刪除 Amazon DocumentDB 叢集

  • --storage-type standard | iopt1- 選用。預設:standard。叢集的儲存組態。有效值為 standard(標準) 或 iopt1(I/O 最佳化)。

  • --master-username - 必要項目。用於驗證使用者的使用者名稱。

    主要使用者命名限制條件:
    • 長度為 [1-63] 英數字元。

    • 第一個字元必須是字母。

    • 不能是資料庫引擎保留的字。

  • --master-user-password - 必要項目。用於驗證使用者的使用者密碼。

    主要密碼限制條件:
    • 長度為 【8-100】 個可列印ASCII字元。

    • 可以使用任何可列印ASCII字元,但下列除外:

      • / (正斜線)

      • " (雙引號)

      • @ (@ 符號)

如需其他參數的詳細資訊,請參閱CreateDBCluster

若要使用 啟動 Amazon DocumentDB 叢集 AWS CLI

若要建立 Amazon DocumentDB 叢集,請呼叫 create-db-cluster AWS CLI。下列 AWS CLI 命令會建立名為 且已啟用刪除保護sample-cluster的 Amazon DocumentDB 叢集。如需刪除保護的詳細資訊,請參閱 刪除 Amazon DocumentDB 叢集

此外, --engine-version 是選用參數,預設為最新的主要引擎版本。目前的主要引擎版本為 4.0.0。發行新的主要引擎版本時, 的預設引擎版本--engine-version將會更新,以反映持久的主要引擎版本。因此,對於生產工作負載,特別是依賴指令碼、自動化或 AWS CloudFormation 範本的工作負載,我們建議您將 明確指定--engine-version為預期的主要版本。

注意

如果vpc-security-group-id未指定 db-subnet-group-name或 ,Amazon DocumentDB 將使用指定區域的預設子網路群組和 Amazon VPC安全群組。

若為 Linux、macOS 或 Unix:

aws docdb create-db-cluster \ --db-cluster-identifier sample-cluster \ --engine docdb \ --engine-version 4.0.0 \ --deletion-protection \ --master-username masteruser \ --master-user-password password

針對 Windows:

aws docdb create-db-cluster ^ --db-cluster-identifier sample-cluster ^ --engine docdb ^ --engine-version 4.0.0 ^ --deletion-protection ^ --master-username masteruser ^ --master-user-password password

此操作的輸出看起來類似下列 (JSON 格式)。

{ "DBCluster": { "StorageEncrypted": false, "DBClusterMembers": [], "Engine": "docdb", "DeletionProtection" : "enabled", "ClusterCreateTime": "2018-11-26T17:15:19.885Z", "DBSubnetGroup": "default", "EngineVersion": "4.0.0", "MasterUsername": "masteruser", "BackupRetentionPeriod": 1, "DBClusterArn": "arn:aws:rds:us-east-1:123456789012:cluster:sample-cluster", "DBClusterIdentifier": "sample-cluster", "MultiAZ": false, "DBClusterParameterGroup": "default.docdb4.0", "PreferredBackupWindow": "09:12-09:42", "DbClusterResourceId": "cluster-KQSGI4MHU4NTDDRVNLNTU7XVAY", "PreferredMaintenanceWindow": "tue:04:17-tue:04:47", "Port": 27017, "Status": "creating", "ReaderEndpoint": "sample-cluster.cluster-ro-sfcrlcjcoroz.us-east-1.docdb.amazonaws.com", "AssociatedRoles": [], "HostedZoneId": "ZNKXTT8WH85VW", "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-77186e0d", "Status": "active" } ], "AvailabilityZones": [ "us-east-1a", "us-east-1c", "us-east-1e" ], "Endpoint": "sample-cluster.cluster-sfcrlcjcoroz.us-east-1.docdb.amazonaws.com" } }

建立叢集需要幾分鐘才能完成。您可以使用 AWS Management Console 或 AWS CLI 來監控叢集的狀態。如需詳細資訊,請參閱監控 Amazon DocumentDB 集群的狀態

重要

當您使用 AWS CLI 建立 Amazon DocumentDB 叢集時,不會建立任何執行個體。因此,您必須明確建立主要執行個體,以及您需要的任何複本執行個體。您可以使用主控台或 AWS CLI 來建立執行個體。如需詳細資訊,請參閱將 Amazon DocumentDB 執行個體新增至叢集

如需詳細資訊,請參閱 Amazon DocumentDB 參考 CreateDBCluster 中的 。 Amazon DocumentDB API