本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從叢集快照還原
Amazon DocumentDB (與 MongoDB 相容性) 會建立儲存磁碟區的叢集快照。您可以藉由從叢集快照進行還原來建立新叢集。還原叢集時,您需提供做為還原來源的叢集快照名稱,以及該還原所建立的新叢集名稱。您無法從快照還原到現有叢集,因為新叢集會在您還原時建立。
當您從叢集快照還原叢集時:
-
這個動作只會還原叢集,而不會還原該叢集的執行個體。您必須呼叫
create-db-instance
動作,為還原的叢集建立執行個體,並且在--db-cluster-identifier
中指定所還原叢集的識別碼。只有當叢集可用時,才可以建立執行個體。 -
您無法將已加密的快照還原至未加密的叢集。不過,您可以指定 AWS KMS 金鑰,將未加密的快照還原至加密的叢集。
-
若要從加密的快照還原叢集,您必須擁有 AWS KMS 金鑰的存取權。
注意
您無法將 3.6 叢集還原到 4.0 叢集,但可以從一個叢集版本移轉到另一個叢集版本。如需詳細資訊,請前往 遷移到 Amazon DocumentDB。
- Using the AWS Management Console
-
下列程序說明如何使用 Amazon DocumentDB 管理主控台從叢集快照還原 Amazon DocumentDB 叢集。
-
登入 AWS Management Console,然後在 https://console.aws.amazon.com/docdb 開啟 Amazon DocumentDB 主控台。
-
在導覽窗格中,選擇 Snapshots (快照),找到您要用於還原至叢集的快照,並選擇其左側的按鈕。
提示
如果畫面左側沒有出現導覽窗格,請選擇頁面左上角的功能表圖示 ()。
-
在操作功能表上,選擇 Restore (還原)。
-
在 Restore snapshot (還原快照) 頁面,完成 Configuration (組態設定) 區段。
-
叢集識別碼 — 新叢集的名稱。您可以接受 Amazon DocumentDB 提供的名稱或鍵入您喜歡的名稱。Amazon 文件資料庫提供的名稱格式為
docdb-
加上 UTC 時間戳記,例如。docdb-yyyy-mm-dd-hh-mm-ss
-
執行個體類別 — 新叢集的執行個體類別。您可以接受預設執行個體類別,或從下拉式清單中選擇執行個體類別。
-
執行個體數目 — 您要使用此叢集建立的執行處理數目。您可以接受預設的 3 個執行個體 (1 個主要讀取/寫入和 2 個唯讀複本),或從下拉式清單中選擇執行個體數目。
-
-
針對叢集儲存裝置組態,請選擇儲存選項。
注意
Amazon DocumentDB I/O 優化的存儲配置僅適用於 Amazon DocumentDB 5.0 引擎版本。
-
如果您滿意此叢集組態,請選擇 Restore cluster (還原叢集),等待叢集還原。
-
如果您想要變更某些組態 (例如指定非預設 Amazon VPC 或安全群組),請選擇頁面左下角的 [顯示進階設定],然後繼續執行下列步驟。
-
完成 Network settings (網路設定) 區段。
-
V@@ irtual Private Cloud (VPC) (VPC) — 接受目前的 VPC,或從下拉式清單中選擇 VPC。
-
子網路群組 — 接受
default
子網路群組,或從下拉式清單中選擇一個子網路群組。 -
VPC 安全群組 — 接受
default (VPC)
安全群組,或從清單中選擇一個群組。
-
-
填寫 Cluster options (叢集選項) 區段。
-
資料庫連接埠 — 接受預設連接埠
27017
,或使用向上鍵或向下鍵來設定您要用於應用程式連線的連接埠。
-
-
填寫 Encryption (加密) 區段。
-
靜態加密 — 如果您的快照已加密,則您無法使用這些選項。如果未加密,您可以選擇以下其中一項:
-
若要加密叢集的所有資料,請選擇 [啟用] encryption-at-rest。如果選擇此選項,您必須指定 Master key (主要金鑰)。
-
若要不加密叢集的資料,請選擇 [停用] encryption-at-rest。如果選擇此選項,您會在加密區段完成。
-
-
主金鑰 — 從下拉式清單中選擇下列其中一項:
-
(預設值) aws/rds — 帳號和 AWS KMS 金鑰識別碼會列在此選項之後。
-
客戶管理金鑰 — 只有在您在 AWS Identity and Access Management (IAM) 主控台中建立 IAM 加密金鑰時,才能使用此選項。您可以選擇金鑰加密您的叢集。
-
輸入金鑰 ARN — 在 ARN 方塊中,輸入金鑰的 Amazon 資源名稱 (ARN)。 AWS KMS ARN 的格式是
arn:aws:kms:<region>:<accountID>:key/<key-id>
。
-
-
-
完成 Log exports (日誌匯出) 區段。
-
選取要發佈至的防護記錄類型 CloudWatch — 選擇下列其中一項:
-
啟用 — 可讓您的叢集將 DDL 日誌記錄匯出至 Amazon CloudWatch 日誌。
-
停用 — 防止叢集將 DDL 日誌匯出至 Amazon CloudWatch 日誌。Disabled (已停用) 是預設值。
-
-
IAM 角色 — 從清單中選擇 RDS 服務連結角色。
-
-
完成 Tags (標籤) 區段。
-
新增標籤 — 在 [金鑰] 方塊中,輸入叢集標籤的名稱。在 Value (值) 方塊中,選擇性地輸入標籤值。標籤可與 AWS Identity and Access Management (IAM) 政策搭配使用,以管理對 Amazon DocumentDB 資源的存取,以及控制哪些動作可套用至資源。
-
-
完成 Deletion protection (刪除保護) 區段。
-
啟用刪除保護 — 防止叢集遭到意外刪除。啟用此選項後,您無法刪除叢集。
-
-
-
選擇 Restore cluster (還原叢集)。
-
- Using the AWS CLI
-
若要使用從快照還原叢集 AWS CLI,請使用具有下列參數的
restore-db-cluster-from-snapshot
作業。如需詳細資訊,請參閱 RestoreDBClusterFromSnapshot。-
--db-cluster-identifier
– 必要。這項操作會建立的叢集名稱。執行此操作之前,該叢集名稱不可以存在。叢集命名限制條件:
-
長度為 [1—63] 字母、數字或連字號。
-
第一個字元必須是字母。
-
不能以連字號結尾或連續包含兩個連字號。
-
Amazon RDS、Neptune 和亞馬 Amazon DocumentDB 中每 AWS 帳戶個區域的所有叢集必須是唯一的。
-
-
--snapshot-identifier
– 必要。用來還原的快照名稱。此名稱的快照必須存在且位於可用狀態。 -
--engine
– 必要。必須為docdb
。 -
--storage-type standard | iopt1
-可選。預設:standard
。 -
--kms-key-id
-可選。從未加 AWS KMS 密的快照還原時還原加密快照或加密叢集時所使用的金鑰識別碼 ARN。提供 AWS KMS 金鑰識別碼會導致還原的叢集使用 AWS KMS 金鑰加密,無論快照是否已加密。--kms-key-id
的格式是arn:aws:kms:<region>:<accountID>:key/<key-id>
。如果您未指定--kms-key-id
參數的值,會發生以下情況:-
如果中的快照
--snapshot-identifier
已加密,則還原的叢集會使用用於加密快照的相同 AWS KMS 金鑰來加密。 -
如果
--snapshot-identifier
中的快照未加密,則不會加密已還原的叢集。
-
若為 Linux、macOS 或 Unix:
aws docdb restore-db-cluster-from-snapshot \ --db-cluster-identifier sample-cluster-restore \ --snapshot-identifier sample-cluster-snapshot \ --engine docdb \ --kms-key-id arn:aws:kms:us-east-1:123456789012:key/SAMPLE-KMS-KEY-ID
針對 Windows:
aws docdb restore-db-cluster-from-snapshot ^ --db-cluster-identifier sample-cluster-restore ^ --snapshot-identifier sample-cluster-snapshot ^ --engine docdb ^ --kms-key-id arn:aws:kms:us-east-1:123456789012:key/SAMPLE-KMS-KEY-ID
此操作的輸出將會如下所示。
{ "DBCluster": { "AvailabilityZones": [ "us-east-1c", "us-east-1b", "us-east-1a" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "sample-cluster-restore", "DBClusterParameterGroup": "default.docdb4.0", "DBSubnetGroup": "default", "Status": "creating", "Endpoint": "sample-cluster-restore.cluster-node.us-east-1.docdb.amazonaws.com", "ReaderEndpoint": "sample-cluster-restore.cluster-node.us-east-1.docdb.amazonaws.com", "MultiAZ": false, "Engine": "docdb", "EngineVersion": "4.0.0", "Port": 27017, "MasterUsername": "<master-user>", "PreferredBackupWindow": "02:00-02:30", "PreferredMaintenanceWindow": "tue:09:50-tue:10:20", "DBClusterMembers": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-abcdefgh", "Status": "active" } ], "HostedZoneId": "ABCDEFGHIJKLM", "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/<sample-key-id>", "DbClusterResourceId": "cluster-ABCDEFGHIJKLMNOPQRSTUVWXYZ", "DBClusterArn": "arn:aws:rds:us-east-1:<accountID>:cluster:sample-cluster-restore", "AssociatedRoles": [], "ClusterCreateTime": "2020-04-01T01:43:40.871Z", "DeletionProtection": true } }
當叢集狀態可用時,為叢集至少建立一個執行個體。
若為 Linux、macOS 或 Unix:
aws docdb create-db-instance \ --db-cluster-identifier sample-cluster-restore \ --db-instance-identifier sample-cluster-restore-instance \ --availability-zone us-east-1b \ --promotion-tier 2 \ --db-instance-class db.r5.large \ --engine docdb
針對 Windows:
aws docdb create-db-instance ^ --db-cluster-identifier sample-cluster-restore ^ --db-instance-identifier sample-cluster-restore-instance ^ --availability-zone us-east-1b ^ --promotion-tier 2 ^ --db-instance-class db.r5.large ^ --engine docdb
此操作的輸出將會如下所示。
{ "DBInstance": { "DBInstanceIdentifier": "sample-cluster-restore-instance", "DBInstanceClass": "db.r5.large", "Engine": "docdb", "DBInstanceStatus": "creating", "PreferredBackupWindow": "02:00-02:30", "BackupRetentionPeriod": 1, "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-abcdefgh", "Status": "active" } ], "AvailabilityZone": "us-west-2b", "DBSubnetGroup": { "DBSubnetGroupName": "default", "DBSubnetGroupDescription": "default", "VpcId": "vpc-6242c31a", "SubnetGroupStatus": "Complete", "Subnets": [ { "SubnetIdentifier": "subnet-abcdefgh", "SubnetAvailabilityZone": { "Name": "us-west-2a" }, "SubnetStatus": "Active" }, { ... } ] }, "PreferredMaintenanceWindow": "fri:09:43-fri:10:13", "PendingModifiedValues": {}, "EngineVersion": "4.0.0", "AutoMinorVersionUpgrade": true, "PubliclyAccessible": false, "DBClusterIdentifier": "sample-cluster-restore", "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/<sample-key-id>", "DbiResourceId": "db-ABCDEFGHIJKLMNOPQRSTUVWXYZ", "CACertificateIdentifier": "rds-ca-2019", "PromotionTier": 2, "DBInstanceArn": "arn:aws:rds:us-east-1:<accountID>:db:sample-cluster-restore-instance" } }
-