View a markdown version of this page

快速入門指南:全域叢集 - Amazon DocumentDB

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

快速入門指南:全域叢集

組態

Amazon DocumentDB 全域叢集至少跨越兩個 AWS 區域。主要區域支援具有一個主要 (寫入器) 執行個體和最多 15 個複本執行個體的叢集,而次要區域則執行完全由最多 16 個複本執行個體組成的唯讀叢集。全域叢集最多可以有 10 個次要區域。資料表列出全域叢集中允許的最大叢集、執行個體和複本。

說明 主要 AWS 區域 次要 AWS 區域
叢集 1 10 個 (上限)
寫入器執行個體 1 0
每個叢集的唯讀執行個體 (Amazon DocumentDB 複本) 15 (上限) 16 (總計)
唯讀執行個體 (允許的上限,給定的次要區域實際數量) 15 - s s = 次要的總數 AWS 區域

叢集有下列特定需求:

  • 資料庫執行個體類別需求 — 您只能使用 db.r5db.r6g 執行個體類別。

  • AWS 區域 需求 — 主要叢集必須位於一個區域,且至少有一個次要叢集必須位於相同帳戶的不同區域。您最多可以建立 10 個次要 (唯讀) 叢集,每個叢集必須位於不同的區域。換句話說,兩個叢集不能位於相同的區域。

  • 命名要求 — 您為每個叢集選擇的名稱在所有區域中必須是唯一的。您無法對不同的叢集使用相同的名稱,即使它們位於不同的 區域。

建立 Amazon DocumentDB 全域叢集

您準備好建置您的第一個全域叢集了嗎? 在本節中,我們將說明如何使用 AWS 管理主控台 或 AWS CLI 搭配下列指示,建立具有新資料庫叢集和執行個體的全新全域叢集。

  1. 在 中 AWS 管理主控台,導覽至 Amazon DocumentDB

  2. 當您到達 Amazon DocumentDB 主控台時,請選擇叢集

    Amazon DocumentDB 主控台中的叢集頁面。
  3. 選擇建立

    叢集資料表右上角顯示的建立按鈕。
  4. 相應地填寫建立 Amazon DocumentDB 叢集表單的組態區段:

    • 叢集識別符:您可以為此執行個體輸入唯一識別符,或允許 Amazon DocumentDB 根據叢集識別符提供執行個體識別符。

    • 引擎版本:選擇 4.0.0

    • 執行個體類別:選擇 db.r5.large

    • 執行個體數量:選擇 3

    用於建立 Amazon DocumentDB 叢集的組態選項表單。
  5. 身分驗證區段中,填寫主要使用者名稱和主要密碼。

    為新的 Amazon DocumentDB 叢集指定主使用者名稱和密碼的身分驗證表單。
  6. 選擇顯示進階設定

    顯示取消和建立叢集按鈕旁的進階設定切換按鈕。
  7. 網路設定區段中:

    • 保留虛擬私有雲端 (VPC)子網路群組的預設選項。

      網路設定表單顯示 VPC、子網路群組和 VPC 安全群組選項。VPC 和子網路群組欄位已選取預設選項。
    • 對於 VPC 安全群組,應該已新增預設 (VPC)

      顯示已新增預設 VPC 的網路設定表單。
    • DocDBVPC 安全群組欄位中輸入 ,然後選取 DocDB-Inbound (VFC)

      在 VPC 安全群組下拉式功能表中選取的 DocDB-Inbound VFC。
  8. 對於叢集選項Encryption-at-rest,請保留預設選項。

    已選取預設選項的叢集選項和Encryption-at-rest表單。
  9. 對於備份日誌匯出,保留預設選項。

    備份和日誌匯出已選取預設選項的表單。
  10. 對於維護標籤刪除保護,保留預設選項。

    選取預設選項的維護、標籤和刪除保護表單。
  11. 現在選擇建立叢集

    叢集建立程序結束時顯示的建立叢集按鈕。

若要建立 Amazon DocumentDB 區域叢集,請呼叫 create-global-cluster AWS CLI。下列 AWS CLI 命令會建立名為 的 Amazon DocumentDB 叢集global-cluster-id。如需刪除保護的詳細資訊,請參閱 刪除 Amazon DocumentDB 叢集

此外, --engine-version 是選用參數,預設為最新的主要引擎版本。目前的預設引擎版本為 5.0.0(注意:Amazon DocumentDB 8.0 可供使用,但必須明確指定為 8.0.0)。發行新的主要引擎版本時, 的預設引擎版本--engine-version將會更新,以反映最後一個主要引擎版本。因此,對於生產工作負載,特別是依賴指令碼、自動化或 CloudFormation 範本的工作負載,我們建議您明確將 指定--engine-version為預期的主要版本。

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

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

針對 Linux、macOS 或 Unix:

aws docdb create-db-cluster \ --global-cluster-identifier global-cluster-id \ --source-db-cluster-identifier arn:aws:rds:us-east-1:111122223333:cluster-id

針對 Windows:

aws docdb create-db-cluster ^ --global-cluster-identifier global-cluster-id ^ --source-db-cluster-identifier arn:aws:rds:us-east-1:111122223333:cluster-id

此操作的輸出將會如下所示 (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:cluster-id", "DBClusterIdentifier": "cluster-id", "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": "cluster-id.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": "cluster-id.cluster-sfcrlcjcoroz.us-east-1.docdb.amazonaws.com" } }

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

重要

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

區域叢集可用後,您可以使用下列指示在另一個區域中新增次要叢集:將 AWS 區域 新增至 Amazon DocumentDB 全域叢集。當您新增區域時,您的區域叢集會成為您的主要叢集,並在您選擇的區域中擁有新的次要叢集。

將 AWS 區域 新增至 Amazon DocumentDB 全域叢集

全域叢集需要在與主要叢集不同的區域中至少有一個次要叢集,而且您最多可以新增 10 個次要叢集。請注意,對於您新增的每個次要叢集,您必須將主要叢集中允許的複本數量減少一個。例如,如果您的全域叢集有 10 個次要區域,您的主要叢集只能有 5 個 (而不是 15 個) 複本。如需詳細資訊,請參閱組態

  1. 登入 AWS 管理主控台 並開啟 Amazon DocumentDB 主控台。

  2. 在導覽窗格中,選擇叢集

    Amazon DocumentDB 主控台中的叢集頁面。
  3. 選擇您要新增次要叢集的叢集。確定叢集是 Available

    顯示可用狀態的區域和全域叢集清單,並反白顯示 mydocdbglobalcluster。
  4. 選取動作的下拉式清單,然後選擇新增區域

    叢集介面上的動作下拉式清單會顯示新增區域選項。
  5. 新增頁面上 AWS 區域,選擇次要區域。請注意,您無法為相同的全域叢集選擇已有次要叢集的區域。此外,它不能與主要叢集的區域相同。如果這是您要新增的第一個區域,您也必須指定您選擇的全域叢集識別符。

    使用新增 AWS 區域 表單上的下拉式選單選擇次要區域。
  6. 完成新區域中次要叢集的其餘欄位,然後選取建立叢集。完成新增區域後,您可以在 中的叢集清單中看到它 AWS 管理主控台。

    將區域新增至叢集的最後步驟,顯示組態表單、每小時成本估算和建立叢集按鈕。
  • 使用 create-db-cluster CLI (--global-cluster-identifier) 命令搭配全域叢集的名稱。對於其他參數,請執行下列動作:

    • 針對 --region,選擇 AWS 區域 與您主要區域不同的 。

    • 請選擇 --engine--engine-version 參數的特定值。

    • 對於加密的叢集,請將您的主要叢集指定 AWS 區域 為用於加密--source-region的 。

下列範例會建立新的 Amazon DocumentDB 叢集,並將其連接至全域叢集做為唯讀次要叢集。在最後一個步驟中,執行個體會新增至新的叢集。

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

針對 Linux、macOS 或 Unix:

aws docdb --region secondary-region-id \ create-db-cluster \ --db-cluster-identifier cluster-id \ --global-cluster-identifier global-cluster-id \ --engine-version version \ --engine docdb aws docdb --region secondary-region-id \ create-db-instance \ --db-cluster-identifier cluster-id \ --global-cluster-identifier global-cluster-id \ --engine-version version \ --engine docdb

針對 Windows:

aws docdb --region secondary-region-id ^ create-db-cluster ^ --db-cluster-identifier cluster-id ^ --global-cluster-identifier global-cluster-id ^ --engine-version version ^ --engine docdb aws docdb --region secondary-region-id ^ create-db-instance ^ --db-cluster-identifier cluster-id ^ --global-cluster-identifier global-cluster-id ^ --engine-version version ^ --engine docdb

為您的 Amazon DocumentDB 全域叢集使用快照

您可以還原 Amazon DocumentDB 叢集的快照,以用作全域叢集的起點。若要這樣做,您必須還原快照並建立新的叢集。這將做為您全域叢集的主要叢集。然後,您可以將另一個區域新增至還原的叢集,將其轉換為全域叢集。