Byte Ebi's Logo

Byte Ebi 🍤

每天一小口,蝦米變鯨魚

AWS DynamoDB 時間點還原 point-in-time recovery (PITR)

「時間點還原 (PITR)」讓您可以將資料還原至特定時間點,確保資料完整性並將潛在的資料遺失降至最低

Ray

時間點還原 (PITR) 是一種強大的資料恢復功能,對於 AWS DynamoDB 和其他數據庫服務至關重要。
透過 PITR,可以在意外數據丟失或損壞的情況下,將資料還原至先前的狀態,進而保護業務的持續運作。
此外,PITR 可以定期備份資料並保留多個時間點的版本,這有助於追蹤和修復可能發生的錯誤。
最重要的是,PITR 可以按照需求靈活的還原資料,而不會影響其他系統操作,從而提高了系統的可靠性和穩定性。

簡介

持續備份與 point-in-time 還原 (PITR)

Amazon DynamoDB 的 point-in-time-recovery (PITR) 是一種功能,可讓將 DynamoDB 表恢復到過去的任意時間點
PITR 使用 DynamoDB 自動維護的增量備份來執行此操作,可用於保護 DynamoDB 表免受意外刪除或寫入操作
例如,如果意外刪除了表中的所有數據,可以使用 PITR 將表恢復到刪除之前的狀態

要使用 PITR,需要先啟用它。啟用 PITR 後,DynamoDB 將開始為的表創建增量備份
這些備份以每秒為單位進行,因此可以將表恢復到過去 35 天中的任何時間點

要將表恢復到過去的時間點,需要指定日期和時間
可以使用 AWS Management Console、AWS CLI 或 DynamoDB API 執行此操作

PITR 的優點:

  • 可幫助保護的 DynamoDB 表免受意外刪除或寫入操作
  • 可讓恢復的表到過去的任意時間點
  • 易於使用

PITR 的限制:

  • 需要額外費用
  • 可能會影響的表的性能

使用 terraform 啟用 PITR

aws_dynamodb_table point_in_time_recovery

resource "aws_dynamodb_table" "my_table" {
  name = "my-table"
  hash_key = "id"
  billing_mode = "PAY_PER_REQUEST"

  point_in_time_recovery {
    enabled = true
    retention_period_days = 35
  }
}

在這個範例中,我們使用 point_in_time_recovery 資源來指定 PITR 配置
我們將 enabled 參數設置為 true 來啟用 PITR。我們還將 retention_period_days 參數設置為 35 天,以指定要保留的備份保留期

deletion_protection_enabled

deletion_protection_enabled 標籤是一種 DynamoDB 標籤,可用於防止表被意外刪除
當將此標籤添加到表時,DynamoDB 將拒絕刪除該表,即使使用 AWS Management Console、AWS CLI 或 DynamoDB API 進行刪除

操作 PITR

AWS Management Console

要使用 AWS Management Console 操作 PITR,可以按照以下步驟操作:

  1. 在 AWS Management Console 中,導航到 DynamoDB 服務
  2. 選擇的表
  3. 在左側導航窗格中,選擇 Point-in-time recovery

啟用 PITR

要啟用 PITR,請選擇 Enable point-in-time recovery

指定備份保留期

可以指定要保留的備份保留期
備份保留期以天為單位,最小為 1 天,最大為 35 天

還原表

要將表恢復到過去的時間點,請選擇 Restore table

  1. 指定恢復日期和時間
  2. 指定要恢復表的日期和時間
  3. 保存變更
  4. 選擇 Restore

AWS CLI

要使用 AWS CLI 操作 PITR,可以使用以下命令:

啟用 PITR

要啟用 PITR,請使用以下命令:

aws dynamodb enable-point-in-time-recovery --table-name my-table

指定備份保留期

要指定備份保留期,請使用以下命令:

aws dynamodb update-table --table-name my-table --point-in-time-recovery-retention-period-in-days 35

還原表

要將表恢復到過去的時間點,請使用以下命令:

aws dynamodb restore-table-from-point-in-time --table-name my-table --restore-time 2023-08-02T12:00:00Z

最新文章

Category

Tag