カテゴリ: AWS 更新日: 2026/02/19

AWS CLIでS3バケットを操作する基本コマンド一覧|初心者でもわかるAWSコマンドライン入門

AWS CLIでS3バケットを操作する基本コマンド一覧
AWS CLIでS3バケットを操作する基本コマンド一覧

先生と生徒の会話形式で理解しよう

生徒

「AWSでS3ってよく聞くんですが、画面操作じゃなくてコマンドでも使えるんですか?」

先生

「はい、AWS CLIを使うと、キーボード操作だけでS3バケットの作成やファイル操作ができます。」

生徒

「黒い画面で操作するのって難しそうで不安です……」

先生

「一つひとつ決まったコマンドを覚えれば大丈夫です。まずは基本から確認していきましょう。」

1. AWS CLIとは?初心者向けに意味と特徴を解説

1. AWS CLIとは?初心者向けに意味と特徴を解説
1. AWS CLIとは?初心者向けに意味と特徴を解説

AWS CLI(エーダブリューエス シーエルアイ)は、AWSをコマンドラインで操作するための公式ツールです。CLIはCommand Line Interfaceの略で、マウスを使わずに文字を入力して操作します。AWS マネジメントコンソールを使わなくても、S3バケットの作成、ファイルのアップロード、一覧表示などが可能です。サーバー管理や自動化、作業の効率化をしたい人にとって欠かせない存在です。

2. S3バケットとは?AWS初心者が最初に知るべき基礎知識

2. S3バケットとは?AWS初心者が最初に知るべき基礎知識
2. S3バケットとは?AWS初心者が最初に知るべき基礎知識

S3はAWSが提供するクラウドストレージサービスです。S3バケットは、ファイルを入れるための箱のようなものです。画像、動画、バックアップデータ、HTMLファイルなど、さまざまなデータを安全に保存できます。バケットの中にはオブジェクトと呼ばれるファイルが保存されます。AWS CLIを使うことで、このS3バケットを簡単に操作できます。

3. AWS CLIでS3バケット一覧を表示するコマンド

3. AWS CLIでS3バケット一覧を表示するコマンド
3. AWS CLIでS3バケット一覧を表示するコマンド

まずは、現在使えるS3バケットの一覧を確認するコマンドです。自分のAWSアカウントに存在するバケット名が表示されます。


aws s3 ls
my-sample-bucket
test-bucket-2024

このコマンドは、AWS CLI S3操作の中でも最もよく使われる基本コマンドです。

4. AWS CLIでS3バケットを作成する方法

4. AWS CLIでS3バケットを作成する方法
4. AWS CLIでS3バケットを作成する方法

新しくS3バケットを作成するには、mbコマンドを使います。mbはmake bucketの略です。バケット名は世界で一意である必要があります。


aws s3 mb s3://my-new-bucket-example
make_bucket: my-new-bucket-example

このように表示されれば、S3バケットの作成は成功です。

5. S3にファイルをアップロードする基本コマンド

5. S3にファイルをアップロードする基本コマンド
5. S3にファイルをアップロードする基本コマンド

ローカルパソコンにあるファイルをS3バケットへ送信するにはcpコマンドを使います。これはコピーを意味します。


aws s3 cp sample.txt s3://my-new-bucket-example/sample.txt
upload: ./sample.txt to s3://my-new-bucket-example/sample.txt

Webサイト用ファイルやバックアップデータの保存によく使われます。

6. S3バケット内のファイル一覧を確認する方法

6. S3バケット内のファイル一覧を確認する方法
6. S3バケット内のファイル一覧を確認する方法

バケットの中にどんなファイルがあるかを確認するには、再びlsコマンドを使います。今回はバケット名を指定します。


aws s3 ls s3://my-new-bucket-example
2026-01-01 10:00:00        123 sample.txt

ファイル名、サイズ、更新日時が表示されるため管理しやすくなります。

7. S3からファイルをダウンロードするコマンド

7. S3からファイルをダウンロードするコマンド
7. S3からファイルをダウンロードするコマンド

S3に保存したファイルをパソコンに戻したい場合もcpコマンドを使います。送信と逆方向になるだけです。


aws s3 cp s3://my-new-bucket-example/sample.txt ./sample.txt
download: s3://my-new-bucket-example/sample.txt to ./sample.txt

バックアップの復元や確認作業でよく使われます。

8. AWS CLIでS3バケットやファイルを削除する方法

8. AWS CLIでS3バケットやファイルを削除する方法
8. AWS CLIでS3バケットやファイルを削除する方法

不要になったファイルはrmコマンドで削除できます。バケット自体を削除する場合は、中身が空である必要があります。


aws s3 rm s3://my-new-bucket-example/sample.txt
delete: s3://my-new-bucket-example/sample.txt

aws s3 rb s3://my-new-bucket-example
remove_bucket: my-new-bucket-example

削除操作は元に戻せないため、実行前に必ず確認しましょう。

まとめ

まとめ
まとめ

今回の記事では、AWS CLI(Command Line Interface)を活用して、Amazon S3(Simple Storage Service)を効率的に操作するための基本コマンドについて詳しく解説してきました。クラウドストレージの代表格であるS3は、Webサイトのホスティングやデータのバックアップ、ログの保存など、エンジニアリングの現場では欠かせないサービスです。通常、ブラウザから操作する「AWS マネジメントコンソール」も直感的で便利ですが、大量のファイルを一度に処理したり、シェルスクリプトを用いて作業を自動化したりする場合には、今回ご紹介したAWS CLIが圧倒的な威力を発揮します。

AWS CLIの導入と基本操作のメリット

AWS CLIを導入することで、GUI(グラフィカルユーザーインターフェース)の読み込み待ち時間を短縮し、キーボード入力だけで迅速にリソース管理が行えるようになります。特にエンジニアにとっての大きなメリットは「再現性」と「効率化」です。一度作成したコマンドは履歴として残りますし、定型作業をスクリプト化してCronなどで定期実行することも可能になります。

主要なS3コマンドのおさらい

これまでに学んだ主要なコマンドを改めて整理しておきましょう。これらを組み合わせるだけで、日常的な運用のほとんどをカバーすることができます。

  • aws s3 ls:バケットの一覧や、特定のバケット内のオブジェクトを表示します。
  • aws s3 mb:新しいバケットを作成します。S3の命名規則に注意しましょう。
  • aws s3 cp:ファイルやオブジェクトをコピーします(アップロード・ダウンロード両対応)。
  • aws s3 sync:ディレクトリ全体を同期させます。差分のみを転送できるため非常に強力です。
  • aws s3 rm:不要なオブジェクトを削除します。
  • aws s3 rb:空のバケットを削除します。

応用編:syncコマンドによるディレクトリの同期

基本コマンドの他にも、実務で頻繁に利用される「sync」コマンドを覚えておくと非常に便利です。「cp」コマンドが単一のファイルをコピーするのに対し、「sync」はローカルディレクトリとS3上のバケットを比較し、更新されたファイルだけを転送してくれます。


aws s3 sync ./my-local-folder s3://my-sample-bucket/backup-folder
upload: ./my-local-folder/image1.png to s3://my-sample-bucket/backup-folder/image1.png
upload: ./my-local-folder/config.json to s3://my-sample-bucket/backup-folder/config.json

このように、バックアップ用途や静的ウェブサイトのデプロイにおいては、syncコマンドが最も推奨される方法の一つです。

より高度な操作:PythonによるS3の制御

AWS CLIに慣れてきたら、次はプログラムからS3を操作することにも挑戦してみましょう。AWS公式のSDKである「boto3」を使用すると、Pythonコード内から直接S3バケットを操作できます。これにより、条件に応じた複雑なファイル処理やアプリケーションへの組み込みが可能になります。


import boto3

# S3クライアントの初期化
s3 = boto3.client('s3')

# バケット一覧を取得して表示する
response = s3.list_buckets()

print('存在するバケット一覧:')
for bucket in response['Buckets']:
    print(f'  {bucket["Name"]}')

プログラムから操作することで、例えば「一週間以上経過したログファイルを自動的に別の保存場所に移動させる」といった高度な自動化ロジックも実現できるようになります。

セキュリティとベストプラクティス

AWS CLIを利用する上で最も注意すべき点は、アクセスキーの管理です。`~/.aws/credentials` ファイルに保存される情報は非常に強力な権限を持つことが多いため、他人に知られないように管理する必要があります。また、IAMポリシーを適切に設定し、必要最小限の権限(最小特権の原則)のみを付与したユーザーでCLIを運用することを強くお勧めします。

先生と生徒の振り返り会話

生徒

「先生、ありがとうございました!最初はコマンドって聞いただけで難しそうと思っていましたが、lsやcpなど、普段パソコンで使うような単語が多くて意外と馴染みやすかったです。」

先生

「そう言ってもらえると嬉しいです。実はLinuxなどのOS基本操作を知っている人なら、AWS CLIの概念はスッと入ってくるんですよ。特にS3はファイルシステムに近い感覚で扱えますからね。」

生徒

「今日教えてもらった中で、特に『sync』コマンドが便利そうだなと感じました。毎回全部コピーしなくていいのは、通信時間も節約できて効率的ですよね。」

先生

「その通りです。大規模なデータを扱う現場では、その少しの効率化が大きな差になります。あと、バケットを作成する時の『mb(make bucket)』や削除する時の『rb(remove bucket)』のように、名前が省略されているのも特徴的ですね。」

生徒

「あと、バケット名は世界で一つだけじゃないといけないというルールも驚きました。名前を考えるのが少し大変そうですけど、自分の名前や日付を組み合わせれば被りにくくなりますね。」

先生

「いい着眼点ですね。命名規則(ネーミングコンベンション)を自分なりに決めておくと、後で管理が楽になりますよ。今後はPythonのboto3を使った自動化などにも、ぜひ挑戦してみてください。」

生徒

「はい!まずは基本のコマンドを何も見ないで打てるようになるまで、自分のテスト環境で練習してみます。AWS CLIをマスターして、エンジニアとしてレベルアップしたいです!」

先生

「その意気です。慣れてくれば、コンソールをポチポチ操作するのがもどかしくなるくらいCLIが好きになりますよ。頑張りましょうね。」

カテゴリの一覧へ
新着記事
New1
AWS PrivateLink
AWS PrivateLinkのユースケースと業界別活用事例|セキュアな通信の決定版
New2
AWS PrivateLink
AWS PrivateLinkのログ取得とトラブル対応手順を完全ガイド!初心者でもわかるセキュアな接続確認方法
New3
ファイル・ディレクトリ構造
Linuxの/etcディレクトリとは?設定ファイルの役割を初心者向けに徹底解説
New4
AWS Lambda
AWS Lambdaでログを確認する方法を完全解説!CloudWatch Logsで初心者でも安心運用
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
Linux ディストリビューション
Linuxディストリビューションとは?OSとの関係や初心者におすすめの種類を徹底解説!
No.3
Java&Spring記事人気No3
ELB(ロードバランサー)
AWS ELBでターゲットグループを設定する方法を初心者向けに解説!
No.4
Java&Spring記事人気No4
シェルとターミナル基礎
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.5
Java&Spring記事人気No5
Linux ディストリビューション
Ubuntuとは何か?特徴と向いている用途を初心者向けに徹底解説!
No.6
Java&Spring記事人気No6
AWS 基本
AWSのサービスのステータス確認方法(AWS Health Dashboard)
No.7
Java&Spring記事人気No7
RDS(データベース)
AWS RDSのセキュリティグループ設定方法を解説!初心者でも安心のクラウドデータベース対策
No.8
Java&Spring記事人気No8
ELB(ロードバランサー)
AWSのNetwork Load Balancer(NLB)の特徴と使い方を解説!初心者向けロードバランサー入門