本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 Amazon DocumentDB 叢集
Amazon DocumentDB 叢集包含執行個體和代表叢集資料的叢集磁碟區。叢集磁碟區在三個可用區域間以六種方法複寫為單一虛擬磁碟區。叢集包含一個主要執行個體,而且最多可選擇性地包含 15 個複本執行個體。
下列各節說明如何使用 AWS Management Console 或 建立 Amazon DocumentDB 叢集 AWS CLI。您可以新增該叢集的其他複本執行個體。當您使用 主控台建立 Amazon DocumentDB 叢集時,系統會自動為您同時建立主要執行個體。如果您使用 AWS CLI 來建立 Amazon DocumentDB 叢集,則在叢集的狀態可用之後,您必須建立該叢集的主要執行個體。
必要條件
以下是建立 Amazon DocumentDB 叢集的先決條件。
如果您沒有 AWS 帳戶,請完成下列步驟來建立一個 。
註冊 AWS 帳戶
開啟 https://portal.aws.amazon.com/billing/signup
。 請遵循線上指示進行。
部分註冊程序需接收來電,並在電話鍵盤輸入驗證碼。
當您註冊 時 AWS 帳戶,AWS 帳戶根使用者會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務,請將管理存取權指派給使用者,並且僅使用根使用者來執行需要根使用者存取權的任務。
VPC 先決條件
您只能在 Amazon Virtual Private Cloud (Amazon VPC) 中建立 Amazon DocumentDB 叢集。 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 帳戶登入 。然後前往 Amazon DocumentDB 主控台,網址為 https://console.aws.amazon.com/docdb
://。 -
如果您想要為叢集量身打造組態參數,則必須為叢集參數群組及參數群組指定必要的參數設定。如需建立或修改叢集參數群組或參數群組的相關資訊,請參閱管理 Amazon DocumentDB 叢集參數群組。
-
您必須決定要為叢集指定的 TCP/IP 連接埠號碼。某些公司的防火牆會封鎖與 Amazon DocumentDB 預設連接埠的連線。如果您公司的防火牆會封鎖預設連接埠,請為您的叢集選擇另一個連接埠。叢集中的所有執行個體都使用相同的連接埠。
使用 建立叢集和主要執行個體 AWS Management Console
下列程序說明如何使用 主控台啟動具有一或多個執行個體的 Amazon DocumentDB 叢集。
建立叢集:使用預設設定
使用 的預設設定建立具有執行個體的叢集 AWS Management Console
登入 AWS Management Console,並在 https://console.aws.amazon.com/docdb
:// 開啟 Amazon DocumentDB 主控台。 -
如果您想要在美國東部 (維吉尼亞北部) 區域 AWS 區域 以外的 中建立叢集,請從主控台右上角的清單中選擇區域。
-
在導覽窗格中,選擇 Clusters (叢集),然後選擇 Create (建立)。
提示
如果畫面左側沒有出現導覽窗格,請選擇頁面左上角的功能表圖示 (
)。
-
在建立 Amazon DocumentDB 叢集頁面上,完成組態窗格。
-
叢集識別符 - 接受 Amazon DocumentDB 提供的名稱,或輸入叢集的名稱;例如
sample-cluster
。叢集命名限制條件:
-
長度為 【1-63】 個字母、數字或連字號。
-
第一個字元必須是字母。
-
不能以連字號結尾或連續包含兩個連字號。
-
AWS 帳戶每個區域 Amazon RDS、Neptune 和 Amazon DocumentDB per 的所有叢集都必須是唯一的。
-
-
引擎版本 - 接受預設引擎版本 5.0.0,或選擇性地選擇 4.0.0 或 3.6.0。
-
執行個體類別 - 接受預設的
db.r5.large
,或從清單中選擇您想要的執行個體類別。 -
執行個體數目 - 在清單中,選擇您要使用此叢集建立的執行個體數目。第一個執行個體將是主要執行個體,而其他所有執行個體將是唯讀複本執行個體。如有必要,您可以稍後新增和刪除執行個體。根據預設,Amazon DocumentDB 叢集會啟動具有三個執行個體 (一個主要複本和兩個複本)。
-
-
完成叢集儲存體組態區段。
選擇 Amazon DocumentDB Standard (預設) 或 Amazon DocumentDB I/O 最佳化。如需詳細資訊,請參閱Amazon DocumentDB 叢集儲存組態。
-
完成 Authentication (認證) 窗格。
-
使用者名稱 — 輸入主要使用者的名稱。若要登入叢集,您必須使用主要使用者名稱。
主要使用者命名限制:
-
長度為 【1-63】 個英數字元。
-
第一個字元必須是字母。
-
不能是資料庫引擎保留的字。
-
-
選擇下列其中一個密碼選項:
-
Managed in AWS Secrets Manager - 如果您想要自動管理主要使用者密碼 AWS Secrets Manager ,請選擇此選項。
如果您選擇此選項,請建立自己的金鑰或使用 Secrets Manager 建立的金鑰來設定 KMS 金鑰。
-
自我管理 - 如果您想要自我管理主要使用者密碼,請選擇此選項。如果您選擇此選項,請輸入主要使用者的密碼,然後確認。若要登入叢集,您必須使用主要使用者的密碼。
密碼限制條件:
-
長度為 [8-100] 個可列印的 ASCII 字元。
-
可以使用下列項目以外的任何可列印 ASCII 字元:
-
/
(正斜線) -
"
(雙引號) -
@
(@ 符號)
-
-
-
-
-
在螢幕下方,選擇以下其中一項:
-
若要立即建立叢集,請選擇 Create cluster (建立叢集)。
-
若不建立叢集,請選擇 Cancel (取消)。
-
若要在建立之前進一步設定叢集,請選擇 Show additional configurations (顯示其他組態),然後繼續進行建立叢集:其他組態。
Additional Configurations (其他組態) 部分涵蓋的組態如下所示:
-
網路設定 - 預設為使用
default
VPC 安全群組。 -
叢集選項 - 預設為使用連接埠 27017 和預設參數群組。
-
Encryption - 預設為使用
(default) aws/rds
金鑰啟用加密。重要
叢集加密後,就無法解密。
-
Backup - 預設為保留備份 1 天,並讓 Amazon DocumentDB 選擇備份時段。
-
日誌匯出 - 預設為不將稽核日誌匯出至 CloudWatch Logs。
-
維護 - 預設為讓 Amazon DocumentDB 選擇維護時段。
-
刪除保護 - 保護您的叢集免於意外刪除。使用主控台建立的叢集預設為已啟用。
如果現在接受預設設定,您可以在稍後藉由修改叢集來將其大多數做變更。
-
-
-
為叢集的安全群組啟用入站連線。
如果您並未變更叢集的預設值,表示您使用預設安全群組為指定區域中的預設 VPC 建立叢集。若要連線至 Amazon DocumentDB,您必須在叢集安全群組的連接埠 27017 (或您選擇的連接埠) 上啟用傳入連線。
新增入站連線至叢集安全群組
-
登入 AWS Management Console ,並在 https://console.aws.amazon.com/ec2/
:// 開啟 Amazon EC2 主控台。 -
在主視窗的 Resources (資源) 區段中,選擇 Security groups (安全群組)。
-
從安全群組清單中,找出您建立叢集時使用的安全群組 (最可能是預設安全群組),並選擇安全群組名稱左側的方塊。
-
在 Actions (動作) 功能表中,選擇 Edit inbound rules (編輯入站規則),然後輸入規則限制。
-
Type - 從清單中,選擇要對網路流量開啟的通訊協定。
-
Protocol - 從清單中,選擇通訊協定的類型。
-
連接埠範圍 - 針對自訂規則,輸入連接埠號碼或連接埠範圍。請確定連接埠號碼或範圍包括您建立叢集時指定的連接埠 (預設:27107)。
-
來源 - 指定可到達執行個體的流量。從清單中選擇流量來源。如果您選擇 Custom (自訂),指定單一 IP 地址或是以 CIDR 表示法表示的 IP 地址範圍 (例如 203.0.113.5/32)。
-
Description - 輸入此規則的描述。
-
完成建立規則後,選擇 Save (儲存)。
-
-
建立叢集:其他組態
如果您想要接受叢集的預設設定,您可以略過以下步驟,然後選擇 Create cluster (建立叢集)。
-
完成 Network settings (網路設定) 窗格。
-
Virtual Private Cloud (VPC):在清單中,選擇要啟動此叢集的 Amazon VPC。
-
子網路群組 - 在清單中,選擇您要用於此叢集的子網路群組。
-
VPC 安全群組 - 在清單中,選擇此叢集的 VPC 安全群組。
-
-
完成 Cluster options (叢集選項) 窗格。
-
資料基礎連接埠 - 使用向上和向下箭頭設定應用程式用來連線至執行個體的 TCP/IP 連接埠。
-
叢集參數群組 - 在參數群組清單中,選擇此叢集的叢集參數群組。
-
-
完成 Encryption (加密) 窗格。
-
Encryption-at-rest - 選擇下列其中一項:
-
啟用加密 - 預設。所有靜態資料已加密。如果您選擇加密資料,您無法復原此動作。
-
停用加密 - 您的資料不會加密。
-
-
AWS KMS 金鑰 - 只有在您加密資料時才能使用。在清單中,選擇要用於在此叢集中加密的金鑰。預設值為
(default) aws/rds
。如果您選擇 Enter a key ARN (輸入金鑰 ARN),您必須需要輸入金鑰的 Amazon Resource Name (ARN)。
-
-
完成 Backup (加密) 窗格。
-
備份保留期 - 在清單中,選擇刪除叢集之前保留此叢集自動備份的天數。
-
備份時段 - 設定 Amazon DocumentDB 要進行此叢集備份的每日時間和持續時間。
-
開始時間 - 在第一個清單中,選擇啟動自動備份的開始時間小時 (UTC)。在第二個清單中,選擇您要自動備份開始進行的時間 (分)。
-
持續時間 - 在清單中,選擇要配置給建立自動備份的時數。
-
-
-
選取您要匯出至 CloudWatch Logs 的日誌類型,以完成日誌匯出窗格。
-
稽核日誌 - 選取此選項可啟用將稽核日誌匯出至 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 操作。
-
-
完成 Maintenance (維護) 窗格。
-
選擇下列其中一項
-
選取視窗 - 您可以指定星期幾、UTC 開始時間和持續時間,讓 Amazon DocumentDB 在您的叢集上執行維護。
-
開始日 - 在清單中,選擇一週中的某一天開始叢集維護。
-
開始時間 - 在清單中,選擇小時和分鐘 (UTC) 以開始維護。
-
持續時間 - 在清單中,選擇叢集維護的配置時間。如果無法在指定時間內完成維護作業,維護程序會持續超過指定的時間,直到完成為止。
-
-
無偏好設定 - Amazon DocumentDB 會選擇星期幾、開始時間和持續時間來執行維護。
-
-
-
如果您希望將一或多個標籤新增到此叢集,請完成 Tags (標籤) 窗格。
對於您要新增到叢集的每個標籤,請重複下列步驟。叢集上最多可能有 10 個。
選擇 Add tags (新增標籤)。
輸入標籤的 Key (索引鍵)。
選擇性輸入標籤的 Value (值)。
若要移除標籤,請選擇 Remove tag (移除標籤)。
-
當您使用主控台建立叢集時,預設會啟用 Deletion Protection (刪除保護)。若要停用刪除保護,請清除 Enable deletion protection (啟用刪除保護)。若已啟用,刪除保護就會避免叢集遭到刪除。若要刪除已啟用刪除保護的叢集,您必須先修改叢集以停用刪除保護。
如需刪除保護的詳細資訊,請參閱 刪除 Amazon DocumentDB 叢集。
-
若要建立叢集,請選擇 Create cluster (建立叢集)。否則,請選擇 Cancel (取消)。
使用 建立叢集 AWS CLI
下列程序說明如何使用 AWS CLI 啟動 Amazon DocumentDB 叢集並建立 Amazon DocumentDB 複本。
參數
-
--db-cluster-identifier
- 必要項目。識別此叢集的小寫字串。叢集命名限制條件: -
長度為 【1–63】 個字母、數字或連字號。
-
第一個字元必須是字母。
-
不能以連字號結尾或連續包含兩個連字號。
-
對於每個區域每個 AWS 帳戶的所有叢集 (跨 Amazon RDS、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 字元:
-
/
(正斜線) -
"
(雙引號) -
@
(@ 符號)
-
-
-
--manage-master-user-password
- 選用。Amazon DocumentDB 會產生主要使用者密碼,並在 Secrets Manager 的整個生命週期中進行管理。
如需其他參數的詳細資訊,請參閱CreateDBCluster。
使用 啟動 Amazon DocumentDB 叢集 AWS CLI
若要建立 Amazon DocumentDB 叢集,請呼叫 create-db-cluster
AWS CLI。下列 AWS CLI 命令會建立名為 的 Amazon DocumentDB 叢集sample-cluster
,並啟用刪除保護。如需刪除保護的詳細資訊,請參閱刪除 Amazon DocumentDB 叢集。
此外, --engine-version
是選用參數,預設為最新的主要引擎版本。目前的主要引擎版本為 5.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 5.0.0 \ --deletion-protection \ --master-usernamemasteruser
\ --master-user-passwordpassword
針對 Windows:
aws docdb create-db-cluster ^ --db-cluster-identifier
sample-cluster
^ --engine docdb ^ --engine-version 5.0.0 ^ --deletion-protection ^ --master-usernamemasteruser
^ --master-user-passwordpassword
此操作的輸出將會如下所示 (JSON 格式)。
{
"DBCluster": {
"StorageEncrypted": false,
"DBClusterMembers": [],
"Engine": "docdb",
"DeletionProtection" : "enabled",
"ClusterCreateTime": "2018-11-26T17:15:19.885Z",
"DBSubnetGroup": "default",
"EngineVersion": "5.0.0",
"MasterUsername": "masteruser
",
"BackupRetentionPeriod": 1,
"DBClusterArn": "arn:aws:rds:us-east-1:123456789012:cluster:sample-cluster",
"DBClusterIdentifier": "sample-cluster",
"MultiAZ": false,
"DBClusterParameterGroup": "default.docdb5.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 API 參考CreateDBCluster
》中的 。