AWS DynamoDB 時間點還原 point-in-time recovery (PITR)
「時間點還原 (PITR)」讓您可以將資料還原至特定時間點,確保資料完整性並將潛在的資料遺失降至最低
時間點還原 (PITR) 是一種強大的資料恢復功能,對於 AWS DynamoDB 和其他數據庫服務至關重要。
透過 PITR,可以在意外數據丟失或損壞的情況下,將資料還原至先前的狀態,進而保護業務的持續運作。
此外,PITR 可以定期備份資料並保留多個時間點的版本,這有助於追蹤和修復可能發生的錯誤。
最重要的是,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,可以按照以下步驟操作:
- 在 AWS Management Console 中,導航到 DynamoDB 服務
- 選擇的表
- 在左側導航窗格中,選擇 Point-in-time recovery
啟用 PITR
要啟用 PITR,請選擇 Enable point-in-time recovery
指定備份保留期
可以指定要保留的備份保留期
備份保留期以天為單位,最小為 1 天,最大為 35 天
還原表
要將表恢復到過去的時間點,請選擇 Restore table
- 指定恢復日期和時間
- 指定要恢復表的日期和時間
- 保存變更
- 選擇 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