「このイメージは AWS Backup によって管理されており、EC2 API では削除できません」というエラーを解決する方法を教えてください。このイメージを削除するには、AWS Backup API、CLI、またはコンソールを使用してください。「Amazon EC2 のバックアップを削除しようとするとどうなりますか?

所要時間2分
0

AWS Backup で作成された Amazon マシンイメージ (AMI) を削除したいのですが、エラーが表示されます。

簡単な説明

AWS Backup が作成した AMI を Amazon Elastic Compute Cloud (Amazon EC2) コンソールから直接登録解除すると、次のメッセージのようなエラーが表示されます。

「AMI ami-01234sample の登録を解除できませんでした。API エラー: 「このイメージは AWS Backup によって管理されており、EC2 API では削除できません。このイメージを削除するには、AWS Backup API、CLI、またはコンソールを使用してください。」

AWS Backup が作成した AMI には aws:backup:source-resource というタグキーがあります。Amazon EC2 コンソールを使用して AMI のこのタグを表示できます。aws:backup:source-resource というタグキーを持つ AMI は、Amazon EC2 コンソールまたは Amazon EC2 API を使用して削除することはできません。AWS Backup が作成した AMI は、AWS Backup コンソールまたは AWS Backup API を使用して削除する必要があります。

解決策

AWS Backup によって作成された AMI を削除するには、ボールト内のリカバリポイントを削除する必要があります。

AWS Backup コンソールまたは AWS コマンドラインインターフェイス (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 コマンドラインインターフェイス (AWS CLI) コマンドの実行中に、最新バージョンの AWS CLI を使用しているかどうかを確認してください

AWS CLI を使用してボールト内の 1 つのリカバリポイントを手動で削除するには、以下のサンプルコマンドを実行します。

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公式更新しました 10ヶ月前
コメントはありません

関連するコンテンツ