將資料庫叢集還原至指定時間 - Amazon Aurora

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

將資料庫叢集還原至指定時間

您可以將資料庫叢集還原到特定的時間點,建立新的資料庫叢集。

將資料庫叢集還原至某個時間點時,您可以選擇預設的 Virtual Private Cloud (VPC) 安全群組。或者,可以將自訂 VPC 安全群組套用至您的資料庫叢集。

還原的資料庫叢集會自動與預設資料庫叢集和資料庫參數群組產生關聯。不過,您可以在還原期間指定要套用的自訂參數群組。

Amazon Aurora 會持續將資料庫叢集的日誌記錄上傳至 Amazon S3。若要查看資料庫叢集的最新可還原時間,請使用 AWS CLI describe-db-clusters指令並查看資料庫叢集在LatestRestorableTime欄位中傳回的值。

您可以還原至備份保留期間內的任何時間點。若要查看資料庫叢集的最早可還原時間,請使用 AWS CLI describe-db-clusters指令並查看資料庫叢集在EarliestRestorableTime欄位中傳回的值。

還原的資料庫叢集的備份保留期間與來源資料庫叢集相同。

注意

本主題中的資訊適用於 Amazon Aurora。如需還原 Amazon RDS 資料庫執行個體的相關資訊,請參閱將資料庫執行個體還原至指定的時間

如需備份並還原 Aurora 資料庫叢集的詳細資訊,請參閱 備份與還原 Aurora 資料庫叢集的概觀

以 Aurora MySQL 而言,您可將佈建的資料庫叢集還原為 Aurora Serverless 資料庫叢集。如需詳細資訊,請參閱 還原 Aurora Serverless v1 資料庫叢集

您也可以使用 AWS Backup 來管理 Amazon Aurora 資料庫叢集的備份。如果您的資料庫叢集與中的備份計畫相關聯 AWS Backup,則會使用該備份計劃進行 point-in-time 復原。如需相關資訊,請參閱使用將數據庫集群恢復到指定的時間 AWS Backup

如需使用 RDS 延伸 Support 版本還原 Aurora 資料庫叢集或全域叢集的相關資訊,請參閱使用 Amazon RDS 延伸 Support 將地同步備份資料庫叢集還原 Aurora 資料庫叢集或全球叢集

您可以使用 AWS Management Console、或 RDS API 將資料庫叢集還原到 AWS CLI某個時間點。

將資料庫叢集還原至指定時間
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Automated backups (自動備份)。

    自動備份顯示在 Current Region (目前區域) 索引標籤上。

    資料庫叢集自動備份
  3. 選擇您要還原的 資料庫叢集。

  4. 針對 Actions (動作),選擇 Restore to point in time (還原至時間點)。

    Restore to point in time (還原到時間點) 視窗隨即出現。

  5. 選擇 Latest restorable time (最近的可還原時間) 以還原最近一次的可能時間,或選擇 Custom (自訂) 以選擇一個時間。

    如果您選擇 Custom (自訂),請輸入您希望資料庫叢集還原到什麼日期和時間。

    注意

    會以您的當地時區顯示時間,根據國際標準時間 (UTC) 的時差來表示。例如,UTC-5 是東部標準時間/中部日光節約時間。

  6. 對於資料庫叢集識別符,輸入目標還原資料庫叢集的名稱。名稱必須是唯一的。

  7. 視需要選擇其他選項,例如資料庫執行個體類別和資料庫叢集儲存組態。

    如需每項設定的相關資訊,請參閱 Aurora 資料庫叢集的設定

  8. 選擇 Restore to point in time (還原至時間點)

若要將資料庫叢集還原到指定的時間,請使用指 AWS CLI 令 restore-db-cluster-to-point-in-time 建立新的資料庫叢集。

您可以指定其他設定。如需每項設定的相關資訊,請參閱 Aurora 資料庫叢集的設定

此操作支援資源標記。使用 --tags 選項時,會忽略來源資料庫叢集標籤,並使用提供的標籤。否則,會使用來源叢集中的最新標籤。

對於LinuxmacOS、或Unix:

aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier mysourcedbcluster \ --db-cluster-identifier mytargetdbcluster \ --restore-to-time 2017-10-14T23:45:00.000Z

在 Windows 中:

aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier mysourcedbcluster ^ --db-cluster-identifier mytargetdbcluster ^ --restore-to-time 2017-10-14T23:45:00.000Z
重要

如果您使用主控台來將資料庫叢集還原至指定時間,則 Amazon RDS 會自動建立資料庫叢集的主要執行個體 (寫入器)。如果您使用將資料庫叢集還原 AWS CLI 到指定的時間,則必須明確建立資料庫叢集的主要執行個體。主要執行個體是資料庫叢集內第一個建立的執行個體。

若要為資料庫叢集建立主要執行個體,請呼叫指create-db-instance AWS CLI 令。包含資料庫叢集的名稱做為 --db-cluster-identifier 選項值。

若要將資料庫叢集還原至指定的時間,請搭配下列參數呼叫 Amazon RDS API RestoreDBClusterToPointInTime 操作:

  • SourceDBClusterIdentifier

  • DBClusterIdentifier

  • RestoreToTime

重要

如果您使用主控台來將資料庫叢集還原至指定時間,則 Amazon RDS 會自動建立資料庫叢集的主要執行個體 (寫入器)。如果您使用 RDS API 來將資料庫叢集還原至指定時間,請務必明確建立資料庫叢集的主要執行個體。主要執行個體是資料庫叢集內第一個建立的執行個體。

若要建立資料庫叢集的主要執行個體,請呼叫 RDS API 操作 CreateDBInstance。包含資料庫叢集的名稱做為 DBClusterIdentifier 參數值。

從保留的自動備份將資料庫叢集還原到指定的時間

如果備份在來源叢集的保留期間內,您可以在刪除來源資料庫叢集之後,從保留的自動備份還原資料庫叢集。此程序類似於從自動備份還原資料庫叢集。

注意

您無法使用此程序還原Aurora Serverless v1資料庫叢集,因為Aurora Serverless v1叢集的自動備份不會保留。

將資料庫叢集還原至指定時間
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Automated backups (自動備份)。

  3. 選擇保留標籤。

    保留的自動備份。
  4. 選擇您要還原的 資料庫叢集。

  5. 針對 Actions (動作),選擇 Restore to point in time (還原至時間點)。

    Restore to point in time (還原到時間點) 視窗隨即出現。

  6. 選擇 Latest restorable time (最近的可還原時間) 以還原最近一次的可能時間,或選擇 Custom (自訂) 以選擇一個時間。

    如果您選擇 Custom (自訂),請輸入您希望資料庫叢集還原到什麼日期和時間。

    注意

    會以您的當地時區顯示時間,根據國際標準時間 (UTC) 的時差來表示。例如,UTC-5 是東部標準時間/中部日光節約時間。

  7. 對於資料庫叢集識別符,輸入目標還原資料庫叢集的名稱。名稱必須是唯一的。

  8. 視需要選擇其他選項,例如資料庫執行個體類別。

    如需每項設定的相關資訊,請參閱 Aurora 資料庫叢集的設定

  9. 選擇 Restore to point in time (還原至時間點)

若要將資料庫叢集還原到指定的時間,請使用指 AWS CLI 令 restore-db-cluster-to-point-in-time 建立新的資料庫叢集。

您可以指定其他設定。如需每項設定的相關資訊,請參閱 Aurora 資料庫叢集的設定

此操作支援資源標記。使用 --tags 選項時,會忽略來源資料庫叢集標籤,並使用提供的標籤。否則,會使用來源叢集中的最新標籤。

對於LinuxmacOS、或Unix:

aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-resource-id cluster-123ABCEXAMPLE \ --db-cluster-identifier mytargetdbcluster \ --restore-to-time 2017-10-14T23:45:00.000Z

在 Windows 中:

aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-resource-id cluster-123ABCEXAMPLE ^ --db-cluster-identifier mytargetdbcluster ^ --restore-to-time 2017-10-14T23:45:00.000Z
重要

如果您使用主控台來將資料庫叢集還原至指定時間,則 Amazon RDS 會自動建立資料庫叢集的主要執行個體 (寫入器)。如果您使用將資料庫叢集還原 AWS CLI 到指定的時間,則必須明確建立資料庫叢集的主要執行個體。主要執行個體是資料庫叢集內第一個建立的執行個體。

若要為資料庫叢集建立主要執行個體,請呼叫指create-db-instance AWS CLI 令。包含資料庫叢集的名稱做為 --db-cluster-identifier 選項值。

若要將資料庫叢集還原至指定的時間,請搭配下列參數呼叫 Amazon RDS API RestoreDBClusterToPointInTime 操作:

  • SourceDbClusterResourceId

  • DBClusterIdentifier

  • RestoreToTime

重要

如果您使用主控台來將資料庫叢集還原至指定時間,則 Amazon RDS 會自動建立資料庫叢集的主要執行個體 (寫入器)。如果您使用 RDS API 來將資料庫叢集還原至指定時間,請務必明確建立資料庫叢集的主要執行個體。主要執行個體是資料庫叢集內第一個建立的執行個體。

若要建立資料庫叢集的主要執行個體,請呼叫 RDS API 操作 CreateDBInstance。包含資料庫叢集的名稱做為 DBClusterIdentifier 參數值。

使用將數據庫集群恢復到指定的時間 AWS Backup

您可以使 AWS Backup 用管理自動備份,然後將其還原到指定的時間。若要這麼做,請在中建立備份計劃, AWS Backup 並將資料庫叢集指派為資源。然後在備份規則中為 PITR 啟用連續備份。如需備份計劃和備份規則的詳細資訊,請參閱《AWS Backup 開發人員指南》。

啟用連續備份 AWS Backup

您會在備份規則中啟用連續備份。

若要為 PITR 啟用連續備份
  1. 請登入 AWS Management Console,然後開啟 AWS Backup 主控台,網址為 https://console.aws.amazon.com/backup

  2. 在導覽窗格中,選擇 Backup plans (備份計劃)

  3. 備份計劃名稱下,選取用來備份資料庫叢集的備份計劃。

  4. 備份規則區段下,選擇新增備份規則

    新增備份規則頁面便會顯示。

  5. 選取 [啟用連續備份以進行 point-in-time 復原 (PITR)] 核取方塊。

    啟用連續備份以進行 point-in-time 復原 (PITR)。
  6. 視需要選擇其他設定,然後選擇新增備份規則

從中的連續備份還原 AWS Backup

您會從備份文件庫還原至指定的時間。

您可以使用 AWS Management Console 將資料庫叢集還原到指定的時間。

若要從中的連續備份還原 AWS Backup
  1. 請登入 AWS Management Console,然後開啟 AWS Backup 主控台,網址為 https://console.aws.amazon.com/backup

  2. 在導覽窗格中,選擇 Backup vaults (備份文件庫)

  3. 選擇包含連續備份的備份文件庫,例如預設

    備份文件庫詳細資訊頁面隨即顯示。

  4. 復原點下,選取自動備份的復原點。

    它的備份類型為連續,且名字包含 continuous:cluster-AWS-Backup-job-number

  5. 針對動作,選擇還原

    還原備份頁面隨即顯示。

    還原備份頁面以進行 point-in-time 復原 (PITR)。
  6. 對於還原至時間點,選取指定日期和時間以還原至特定時間點。

  7. 視需要選擇用於還原資料庫叢集的其他設定,然後選擇還原備份

    任務頁面隨即出現,並顯示還原任務窗格。頁面頂端的訊息提供還原任務的相關資訊。

資料庫叢集還原後,您必須將主要 (寫入器) 資料庫執行個體新增至其中。若要為資料庫叢集建立主要執行個體,請呼叫指create-db-instance AWS CLI 令。包含資料庫叢集的名稱做為 --db-cluster-identifier 參數值。

您可以使用start-restore-job AWS CLI 命令將資料庫叢集還原到指定的時間。下列是必要參數:

  • --recovery-point-arn - 要從該處還原之復原點的 Amazon Resource Name (ARN)。

  • --resource-type - 使用 Aurora

  • --iam-role-arn— 您用於 AWS Backup 作業之 IAM 角色的 ARN。

  • --metadata - 用來還原資料庫叢集的中繼資料。下列是必要參數:

    • DBClusterIdentifier

    • Engine

    • RestoreToTimeUseLatestRestorableTime

以下範例說明如何將資料庫叢集還原至指定的時間。

aws backup start-restore-job \ --recovery-point-arn arn:aws:backup:eu-central-1:123456789012:recovery-point:continuous:cluster-itsreallyjustanexample1234567890-487278c2 \ --resource-type Aurora \ --iam-role-arn arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole \ --metadata '{"DBClusterIdentifier":"backup-pitr-test","Engine":"aurora-mysql","RestoreToTime":"2023-09-01T17:00:00.000Z"}'

以下範例說明如何將資料庫叢集還原至最新的可還原時間。

aws backup start-restore-job \ --recovery-point-arn arn:aws:backup:eu-central-1:123456789012:recovery-point:continuous:cluster-itsreallyjustanexample1234567890-487278c2 \ --resource-type Aurora \ --iam-role-arn arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole \ --metadata '{"DBClusterIdentifier":"backup-pitr-latest","Engine":"aurora-mysql","UseLatestRestorableTime":"true"}'

資料庫叢集還原後,您必須將主要 (寫入器) 資料庫執行個體新增至其中。若要為資料庫叢集建立主要執行個體,請呼叫指create-db-instance AWS CLI 令。包含資料庫叢集的名稱做為 --db-cluster-identifier 參數值。