こんにちは!現在IE課研修中の日高です。
本日は以前書いた「コントロールプレーンとデータプレーンの概念から考えるAWS CLIでのS3コマンドの分類方法」のブログの続編としてaws s3~のコマンドについてブログを書いていきたいと思います。
よろしければこちらのブログもご覧ください!
AWS CLIの構造
前回の復習もかねて、まずAWS CLIの構造について簡単に触れていきます。
AWS CLIにおけるコマンドの構造は以下の通り4つに分けることができます。
aws <command> <subcommand> [options and parameters]
aws
:プログラムのベースコールになっておりAWS CLIを使う場合は必ず記載します。command
:AWS CLIの操作対象のサービスを入力しますsubcommand
:command
にて指定したサービスに対してどのような操作を行うかを決定します[options and parameters]
:AWS CLI のオプションまたはパラメータを入力します
本ブログで利用するコマンド、サブコマンド
コマンド
aws s3 <subcommand> [options and parameters]
command
:s3
が入ります
※詳しくは以下をご覧ください。
サブコマンド
cp
:オブジェクトのコピーls
:オブジェクトの一覧mb
:S3バケットの作成mv
:オブジェクトの移動rb
:S3バケットの削除rm
:オブジェクトの削除sync
:ディレクトリの同期
実際にS3バケットをCLIで削除してみる
自分のアカウントのバケットを確認します。
【実行コマンド】
aws s3 ls
【実行結果】
このように実行結果としてバケットの一覧と、作成日時が確認できました。
2023-01-17 15:49:24 aws-cloudtrail-logs 2023-03-09 13:06:35 aws-logs-×××××××××××-ap-northeast-1 2023-02-21 16:03:36 cf-templates-b60uxqv5o1ly-ap-northeast-1 2023-02-14 10:59:54 cf-templates-b60uxqv5o1ly-us-east-1 2023-02-04 12:18:19 codepipeline-ap-northeast-1 2023-02-15 13:06:56 codepipeline-us-east-1 2023-01-17 15:49:10 config-bucket 2023-01-17 15:49:07 elasticbeanstalk-ap-northeast-1 2023-01-18 15:55:15 guradduty-log-hidaka 2023-01-18 15:19:30 guradduty-untrustip-hidaka 2023-03-09 13:03:28 handson-emr-20230309 2023-02-24 18:20:46 hidaka-cloudformation-template
自分のアカウントのバケットを削除する→できない
私は「codepipeline-ap-northeast-1」のバケットを削除しようとしました。
【実行コマンド】
aws s3 rb s3://codepipeline-ap-northeast-1
【実行結果】
エラーが起きてしまいました。
これは削除しようとしたバケットが空ではなかったため削除できないという旨のエラーでした。
remove_bucket failed: s3://codepipeline-ap-northeast-1 An error occurred (BucketNotEmpty) when calling the DeleteBucket operation: The bucket you tried to delete is not empty
自分のアカウントのバケットを削除する
【実行コマンド】
サブコマンドの後のオプションに--force
をつけてみました。
このオプションをつけることで、バケット自体を含むバケット内のすべてのオブジェクトを削除することができます。(バージョン管理されたオブジェクトは削除されないため注意が必要です)
aws s3 rb s3://codepipeline-ap-northeast-1 --force
【実行結果】
バケット内のオブジェクトがまず削除され、最後にバケットが削除されました。
delete: s3://codepipeline-ap-northeast-1/h4b-hands-on-s3/SourceArti/4WK2avW delete: s3://codepipeline-ap-northeast-1/h4b-hands-on-ec2/BuildArtif/553Pdzr delete: s3://codepipeline-ap-northeast-1/h4b-hands-on-ec2/BuildArtif/21mG54Y delete: s3://codepipeline-ap-northeast-1/h4b-hands-on-s3/SourceArti/COBxId8 delete: s3://codepipeline-ap-northeast-1/h4b-hands-on-s3/SourceArti/AmK2hAB delete: s3://codepipeline-ap-northeast-1/h4b-hands-on-s3/SourceArti/TRje0zE delete: s3://codepipeline-ap-northeast-1/h4b-hands-on-ec2/SourceArti/LXHDHTX delete: s3://codepipeline-ap-northeast-1/h4b-hands-on-ec2/SourceArti/xeNAQQz remove_bucket: codepipeline-ap-northeast-1
まとめ
本ブログではS3バケットの削除をCLIで行ってみました。
軽く触れるだけでもAWS CLIの便利さに気づけたのでよかったです。
本記事が誰かのお力になれば幸いです。
日高 僚太(執筆記事の一覧)
2024 Japan AWS Jr. Champions / 2024 Japan AWS All Certifications Engineers
EC部クラウドコンサルティング課所属。2022年IT未経験でSWXへ新卒入社。
記事に関するお問い合わせや修正依頼⇒ hidaka@serverworks.co.jp