我想知道為什麼我的復原點已過期,以及如何在 AWS Backup 中刪除已過期的復原點。
解決方法
AWS Backup 會將復原點儲存在備份保存庫中,其狀態如下:
- **已完成:**此狀態表示備份工作已成功在保存庫中建立復原點。
- **已過期:**此狀態表示復原點已超過其保留期,但 AWS Backup 生命週期規則無法刪除復原點。
為什麼還原點會過期
在生命週期執行期間,會刪除建立復原點的原始 AWS Identity and Access Management (IAM) 角色。或者,IAM 角色缺少刪除復原點的權限。
生命週期嘗試刪除復原點。如果此操作失敗,則不會重新嘗試。這表示您必須手動刪除過期的復原點。
**使用主控台刪除過期的復原點 **
若要使用主控台手動刪除過期的復原點,請完成下列步驟:
- 開啟 AWS Backup 主控台。
- 在導覽窗格中,選擇備份保存庫。
- 在狀態中,選擇到期。
- 選取所有過期的復原點。
- 選擇動作,然後選擇刪除。
使用 AWS CLI 刪除過期的復原點
注意: 執行 AWS Command Line Interface (AWS CLI) 命令時,請確定您使用的是最新版本的 AWS CLI。
若要使用 AWS CLI 手動刪除保存庫中的單一復原點,請執行以下範例命令:
aws backup delete-recovery-point --backup-vault-name <value> --recovery-point-arn <value>
若要使用 AWS CLI 手動刪除保存庫中的多個復原點,請先執行 list-recovery-points-by-backup-vault 命令以列出復原點:
$ aws backup list-recovery-points-by-backup-vault --backup-vault-name VAULT_NAME --region REGION_ID --output json --query 'RecoveryPoints[?Status == `EXPIRED`].[RecoveryPointArn]' | jq -r '.[] | "--recovery-point-arn '\\\"'" + .[0] + "'\\\"'" + .[1]'
然後,執行下列串連命令 (包括delete-recovery-point) 以刪除復原點:
$ aws backup list-recovery-points-by-backup-vault --backup-vault-name VAULT_NAME --region REGION_ID --output json --query 'RecoveryPoints[?Status == `EXPIRED`].[RecoveryPointArn]' | jq -r '.[] | "--recovery-point-arn '\\\"'" + .[0] + "'\\\"'" + .[1]' | xargs --verbose -L1 aws backup delete-recovery-point --backup-vault-name VAULT_NAME --region REGION_ID
如何防止新復原點出現過期狀態
若要避免新復原點過期,您必須先找到用來建立復原點的確切 IAM 角色。然後,您必須使用正確的權限更新 IAM 角色,才能刪除復原點。
如果 IAM 角色不再存在,則必須先建立具有相同名稱的新的 IAM 角色。然後,必須將權限新增至該角色才能刪除備份。
將下列受管政策附加到您的 IAM 角色,以刪除復原點:
如果您使用 Amazon Simple Storage Service (Amazon S3) 備份,請將下列其他必要政策附加到 IAM 角色:
相關資訊
使用服務連結角色