本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從叢集快照還原
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 D ocumentDBsupplied 名稱的格式為
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 (網路設定) 區段。
-
Virtual Private Cloud (VPC) — 接受目前的 VPC,或從VPC下拉式清單中選擇 。
-
子網路群組 — 接受
default
子網路群組,或從下拉式清單中選擇其中一個。 -
VPC 安全群組 — 接受
default (VPC)
安全群組,或從清單中選擇一個。
-
-
填寫 Cluster options (叢集選項) 區段。
-
資料庫連接埠 — 接受預設連接埠
27017
或 ,或使用向上或向下箭頭設定您要用於應用程式連線的連接埠。
-
-
填寫 Encryption (加密) 區段。
-
靜態加密:如果您的快照已加密,則無法使用這些選項。如果未加密,您可以選擇以下其中一項:
-
若要加密叢集的所有資料,請選擇啟用 encryption-at-rest。如果您選擇此選項,則必須指定KMS金鑰。
-
若要不加密叢集的資料,請選擇停用 encryption-at-rest。如果選擇此選項,您會在加密區段完成。
-
-
AWS KMS 金鑰 — 從下拉式清單中選擇下列其中一項:
-
(預設) aws/rds — 帳戶號碼和 AWS KMS 金鑰 ID 會列在此選項後面。
-
客戶受管金鑰 — 只有在 AWS Identity and Access Management (IAM) 主控台中建立IAM加密金鑰時,才能使用此選項。您可以選擇金鑰加密您的叢集。
-
輸入金鑰 ARN — 在ARN方塊中,輸入 AWS KMS 金鑰的 Amazon Resource Name (ARN)。ARN 的格式是
arn:aws:kms:<region>:<accountID>:key/<key-id>
。
-
-
-
完成 Log exports (日誌匯出) 區段。
-
選取要發佈的日誌類型 CloudWatch:選擇下列其中一項:
-
已啟用 — 讓您的叢集將DDL記錄匯出至 Amazon CloudWatch Logs。
-
停用 — 防止叢集將DDL日誌匯出至 Amazon CloudWatch Logs。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】 個字母、數字或連字號。
-
第一個字元必須是字母。
-
不能以連字號結尾或連續包含兩個連字號。
-
AWS 帳戶每個區域每 Amazon RDS、Neptune 和 Amazon DocumentDB 的所有叢集必須是唯一的。
-
-
--snapshot-identifier
– 必要。用來還原的快照名稱。此名稱的快照必須存在且位於可用狀態。 -
--engine
– 必要。必須為docdb
。 -
--storage-type standard | iopt1
— 選用。預設:standard
。 -
--kms-key-id
— 選用。從未加密ARN的快照還原時,還原加密快照或加密叢集時要使用的 AWS KMS 金鑰識別符的 。提供 AWS KMS 金鑰 ID 會導致還原的叢集使用 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" } }
-