AWS Secrets Manager のシークレットを削除しました。同じ名前の新しいシークレットを作成しようとすると、次のエラーが表示されます。 「You can't create this secret because a secret with this name is already scheduled for deletion.」
簡単な説明
シークレットを削除すると、Secrets Manager は少なくとも 7 日間のリカバリ期間の後にシークレットを削除するようにスケジュールします。リカバリ期間が終了するまで、Secrets Manager コンソールで以前に使用した名前でシークレットを作成することはできません。リカバリ期間なしでシークレットをすぐに削除するには、AWS コマンドラインインターフェイス (AWS CLI) を使用してください。詳細については、「AWS Secrets Manager シークレットの削除」を参照してください。
解決策
**注:**AWS CLI のコマンドの実行時にエラーが発生する場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、使用している AWS CLI が最新バージョンであることを確認してください。
リカバリ期間なしでシークレットを完全に削除するには、ForceDeleteWithoutRecovery パラメータを使用して DeleteSecret API コールを実行してください。
**重要:**ForceDeleteWithoutRecovery パラメータを使用すると、シークレットはリカバリまたは復元できなくなります。
削除された Secrets Manager のシークレット ID を取得するには、AWS Secrets Manager コンソールを使用してください
**注:**削除されたシークレットの ID がわかっている場合は、この手順をスキップしてください。
- Secrets Manager コンソールを開きます。
- ナビゲーションペインで [シークレット] を選択します。
- [設定] アイコンを選択します。次に、[環境設定] で、[削除予定のシークレットを表示する] を選択します。
- [表示列] で、[に削除されました] 切り替えスイッチをオンにします。次に、[保存] を選択します。
- [シークレット] ペインで、[シークレット名] フィールドと [に削除されました] フィールドを書き留めて、削除されたシークレット ID を探します。
- [シークレットの名前] で、シークレットを選択します。
- [シークレットの詳細] で、シークレット名をコピーします。
AWS CLI を使用してシークレットを完全に削除する
your-secret-name を Secrets Manager のシークレット ID に、your-region を AWS リージョンに置き換えてください。
aws secretsmanager delete-secret --secret-id your-secret-name --force-delete-without-recovery --region your-region
シークレットを完全に削除したことを確認するには、DescribeSecret API コールを実行します。
aws secretsmanager describe-secret --secret-id your-secret-name --region your-region
**注:**削除には少し時間がかかります。
シークレットを削除すると、次のエラーが表示されます。
An error occurred (ResourceNotFoundException) when calling the DescribeSecret operation: Secrets Manager can't find the specified secret.
関連情報
delete-secret
他の AWS サービスによって管理されている AWS Secrets Manager のシークレット