🍣

AWS CLIを使用したS3バケットの一括削除

2024/04/26に公開

AWS CLIを使用してS3バケットの一覧を取得し、特定のパターンに基づいてバケットを削除するには、以下の手順を実行できます。ここでは、wbyという文字列で始まるバケットを削除する方法について説明します。

必要なもの

  • AWS CLIがインストールされていること。
  • 適切なAWSの認証情報とアクセス権限が設定されていること。

ステップ 1: バケットの一覧を取得

まず、インストールされているAWS CLIを使用して、すべてのS3バケットの一覧を取得します。

aws s3 ls

ステップ 2: 条件に一致するバケットの削除

wbyで始まるバケットを削除するには、シェルスクリプトを利用して条件に一致するバケットをフィルタリングし、それらを削除します。

以下のスクリプトは、wbyで始まるバケット名を検索し、各バケットを削除します。注意:このスクリプトはバケットとその中のすべてのオブジェクトを削除します。実行前にデータのバックアップを確認してください。

aws s3 ls | awk '{print $3}' | grep '^wby' | while read bucket
do
    echo "Deleting bucket $bucket..."
    aws s3 rb s3://$bucket --force
done

このスクリプトは次のことを行います:

  • aws s3 lsでバケット一覧を取得。
  • awk '{print $3}'でバケット名のみを抽出。
  • grep '^wby'wbyで始まるバケット名をフィルタリング。
  • while read bucketループで各バケットを削除。

注意

  • バケットを削除する前に、必要なデータがバックアップされていることを確認してください。
  • バケットが空でない場合、aws s3 rb --forceオプションを使用してバケットとその中のすべてのオブジェクトを削除します。
  • 実行する前に、削除されるバケット名を確認するために、実際に削除するコマンドを実行する前にechoステートメントを挟むことをお勧めします。

Discussion