【初心者向け】AWS CLI の aws s3コマンド一覧

記事タイトルとURLをコピーする

こんにちは!現在IE課研修中の日高です。

本日は以前書いた「コントロールプレーンとデータプレーンの概念から考えるAWS CLIでのS3コマンドの分類方法」のブログの続編としてaws s3~のコマンドについてブログを書いていきたいと思います。

よろしければこちらのブログもご覧ください!

blog.serverworks.co.jp

AWS CLIの構造

前回の復習もかねて、まずAWS CLIの構造について簡単に触れていきます。
AWS CLIにおけるコマンドの構造は以下の通り4つに分けることができます。

aws <command> <subcommand> [options and parameters]
  • aws:プログラムのベースコールになっておりAWS CLIを使う場合は必ず記載します。
  • command:AWS CLIの操作対象のサービスを入力します
  • subcommandcommandにて指定したサービスに対してどのような操作を行うかを決定します
  • [options and parameters]:AWS CLI のオプションまたはパラメータを入力します

本ブログで利用するコマンド、サブコマンド

コマンド

aws s3 <subcommand> [options and parameters]
  • command:s3が入ります

※詳しくは以下をご覧ください。

awscli.amazonaws.com

サブコマンド

  • 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