創建一個 Amazon DocumentDB 集群 - Amazon DocumentDB

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

創建一個 Amazon DocumentDB 集群

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

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

必要條件

以下是建立 Amazon 文件資料庫叢集的先決條件。

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

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

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

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

    當您註冊一個時 AWS 帳戶,將創建AWS 帳戶根使用者一個。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。安全性最佳做法是將管理存取權指派給使用者,並僅使用 root 使用者來執行需要 root 使用者存取權的工作。

VPC 先決條件

您只能在 Amazon Virtual Private Cloud(Amazon VPC)中創建一個 Amazon DocumentDB 集群。您的 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 帳戶必須具有 IAM 政策,以授與執行 Amazon DocumentDB 操作所需的許可。

    如果您使用 IAM 帳戶存取 Amazon DocumentDB 主控台,則必須先使用 IAM 帳戶登入。 AWS Management Console 然後轉到 Amazon DocumentDB 控制台 https://console.aws.amazon.com/docdb。

  • 如果您想要為叢集量身打造組態參數,則必須為叢集參數群組及參數群組指定必要的參數設定。如需建立或修改叢集參數群組或參數群組的相關資訊,請參閱管理 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 (建立)

    提示

    如果畫面左側沒有出現導覽窗格,請選擇頁面左上角的功能表圖示 ()。

  4. 在 [建立 Amazon DocumentDB 叢集] 頁面上,完成設定窗格。

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

      叢集命名限制條件:

      • 長度為 [1—63] 字母、數字或連字號。

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

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

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

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

    3. 實體類別 — 接受預設值db.r5.large,或從清單中選擇您要的實體類別。

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

  5. 完成 [叢集儲存配置] 區段。

    選擇 Amazon DocumentDB 標準(默認)或 Amazon Docu mentDB I/O 優化。如需詳細資訊,請參閱 Amazon DocumentDB 群集存儲配置

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

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

      主要使用者命名限制:

      • 長度為 [1—63] 個字母數字字元。

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

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

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

      密碼限制條件:

      • 長度為 [8-100] 個可列印的 ASCII 字元。

      • 可以使用下列項目以外的任何可列印 ASCII 字元:

        • / (正斜線)

        • " (雙引號)

        • @ (@ 符號)

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

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

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

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

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

      • 網路設定 — 預設值為使用 default VPC 安全性群組。

      • 叢集選項-預設為使用連接埠為 27017,且預設參數群組。

      • 加密-預設值是啟用使用(default) aws/rds金鑰加密。

        重要

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

      • Backup — 預設值是保留備份 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. 來源:指定可以連線到您執行個體的流量。從清單中選擇流量來源。如果您選擇 Custom (自訂),指定單一 IP 地址或是以 CIDR 表示法表示的 IP 地址範圍 (例如 203.0.113.5/32)。

      5. 說明 — 輸入此規則的說明。

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

建立叢集:其他組態

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

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

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

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

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

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

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

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

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

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

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

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

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

      如果您選擇 Enter a key ARN (輸入金鑰 ARN),您必須需要輸入金鑰的 Amazon Resource Name (ARN)。

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

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

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

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

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

  5. 選取要匯出至記錄檔的記錄類型,以完成 [記錄 CloudWatch 檔匯出] 窗格。

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

    • 效能分析工具記錄 — 選取此選項可讓您將作業效能分析工具日誌匯出至 Amazon 日誌。 CloudWatch 如果您選取 Profiler logs (Profiler 日誌),則還必須在叢集的自訂參數群組中修改下列參數:

      • profiler設定為。enabled

      • profiler_threshold_ms設定為值[0-INT_MAX]以設定效能分析作業的臨界值。

      • profiler_sampling_rate設定為值以設[0.0-1.0]定輪廓慢速操作的百分比。

      如需詳細資訊,請參閱 分析亞馬遜文檔數據庫操作

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

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

      • 選取時段 — 您可以指定 Amazon DocumentDB 在叢集上執行維護的星期幾、UTC 開始時間和持續時間。

        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

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

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

    叢集命名限制條件:
    • 長度為 [1—63] 字母、數字或連字號。

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

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

    • 每個 AWS 帳戶、每個區域的所有叢集 (跨 Amazon RDS、亞馬遜海王星和 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預期的主要版本。

注意

如果未指定db-subnet-group-namevpc-security-group-id,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 集群的狀態

重要

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

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