如何解決在嘗試刪除 Amazon EC2 backup 時出現的「This image is managed by AWS Backup and cannot be deleted via EC2 APIs.To delete this image, please use the AWS Backup APIs, CLI, or console.」錯誤?

2 分的閱讀內容
0

我想刪除 AWS Backup 建立的 Amazon Machine Image (AMI),但收到錯誤訊息。

簡短說明

直接從 Amazon Elastic Compute Cloud (Amazon EC2) 主控台取消註冊 AWS Backup 建立的 AMI 時,您收到類似下列訊息的錯誤:

「Failed to deregister the AMI ami-01234sample.API error: This image is managed by AWS Backup and cannot be deleted via EC2 APIs.To delete this image, please use the AWS Backup APIs, CLI, or console.」

AWS Backup 建立的 AMI 具有標籤金鑰 aws:backup:source-resource。您可以使用 Amazon EC2 主控台在 AMI 上檢視此標籤。任何具有標籤金鑰 aws:backup:source-resource 的 AMI 都無法使用 Amazon EC2 主控台或 Amazon EC2 API 刪除。您必須使用 AWS Backup 主控台或 AWS Backup API 刪除 AWS Backup 建立的 AMI。

解決方法

若要刪除由 AWS Backup 建立的 AMI,您必須刪除保存庫中的復原點。

您可以使用 AWS Backup 主控台或 AWS Command Line Interface (AWS CLI) 刪除復原點。刪除復原點會取消註冊 AMI,並且自動刪除與 AMI 相關聯的 Amazon Elastic Block Store (Amazon EBS) 快照。

使用 AWS Backup 主控台刪除 Amazon EC2 復原點

若要使用主控台手動刪除復原點,請完成下列步驟:

  1. 開啟 AWS Backup 主控台。
  2. 在導覽窗格中,選擇備份保存庫
  3. 選取包含 Amazon EC2 備份的備份保存庫。然後,選擇您想刪除的 AMI。
  4. 選擇動作,然後選擇刪除

使用 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
AWS 官方
AWS 官方已更新 1 年前