为什么我的恢复点在 AWS Backup 中处于过期状态?

1 分钟阅读
0

我想知道为什么我的恢复点过期了,我如何在 AWS Backup 中删除过期的恢复点。

解决方法

AWS Backup 将恢复点保存在备份保管库中,具有以下状态:

  • **已完成:**此状态指示备份任务在保管库中成功创建了恢复点。
  • **已过期:**此状态指示恢复点已超过保留期,但 AWS Backup 生命周期规则无法删除该恢复点。

为什么恢复点过期

在生命周期运行期间,创建恢复点的原始 AWS Identity and Access Management(IAM)角色被删除。或者,IAM 角色缺少删除恢复点的权限。

生命周期会尝试删除恢复点。如果此操作失败,不会再重试。这意味着您必须手动删除过期的恢复点。

使用控制台删除过期的恢复点

要使用控制台手动删除过期的恢复点,请完成以下步骤:

  1. 打开 AWS Backup 控制台。
  2. 在导航窗格中,选择备份保管库
  3. 对于状态,选择已过期
  4. 选择所有过期的恢复点。
  5. 选择操作,然后选择删除

使用 AWS CLI 删除过期的恢复点

**注意:**运行 AWS 命令行界面(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 角色:

相关信息

使用服务关联的角色

AWS 官方
AWS 官方已更新 10 个月前
没有评论