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

【AWS】CLIでS3にフォルダをアップロードする方法を徹底解説!cpとsyncの違いも初心者向けに解説

407
【AWS】CLIでS3にフォルダをアップロードする方法【cp/syncの違いも解説】

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

生徒

「AWS CLIを使ってS3にフォルダごとアップロードしたいのですが、やり方がよくわかりません。」

先生

「AWS CLIでは、aws s3 cpやaws s3 syncコマンドを使うことで、S3バケットへフォルダをまとめてアップロードできます。」

生徒

「cpとsyncの違いは何ですか?初心者でも使い分けできますか?」

先生

「それぞれ用途が異なります。S3アップロードの基本から、cpとsyncの違いまで順番に見ていきましょう。」

1. AWS CLIとAmazon S3とは?

1. AWS CLIとAmazon S3とは?
1. AWS CLIとAmazon S3とは?

AWS CLIとは、Amazon Web Servicesをコマンドラインから操作できる公式ツールです。ブラウザを使わずに、ターミナルやコマンドプロンプトからS3やEC2などのAWSサービスを操作できます。

Amazon S3は、クラウド上にファイルを保存できるオブジェクトストレージサービスです。バックアップ、静的Webサイトホスティング、ログ保存など幅広い用途で利用されています。

AWS CLIを使えば、ローカルフォルダをS3バケットへアップロードしたり、S3内のファイルをダウンロードしたりできます。特に自動化やバッチ処理では、CLI操作が非常に重要です。

2. AWS CLIでS3にフォルダをアップロードする基本コマンド

2. AWS CLIでS3にフォルダをアップロードする基本コマンド
2. AWS CLIでS3にフォルダをアップロードする基本コマンド

フォルダをS3にアップロードする基本コマンドはaws s3 cpです。フォルダを指定する場合はrecursiveオプションをつけます。


aws s3 cp ./sample-folder s3://my-bucket/sample-folder --recursive

このコマンドでは、ローカルのsample-folderディレクトリを、S3バケットmy-bucketのsample-folderというパスにアップロードします。recursiveを付けないとフォルダ内のファイルはコピーされません。

初心者がよく間違えるポイントは、S3のパス指定です。s3の後にスラッシュ二つを忘れないようにしましょう。

3. aws s3 cpコマンドの詳しい使い方

3. aws s3 cpコマンドの詳しい使い方
3. aws s3 cpコマンドの詳しい使い方

aws s3 cpはコピーコマンドです。単一ファイルのアップロードにも、フォルダのアップロードにも使えます。


aws s3 cp test.txt s3://my-bucket/test.txt

上記はファイル一つだけをS3へアップロードする例です。


aws s3 cp s3://my-bucket/test.txt ./downloaded.txt

こちらはS3からローカルへダウンロードする例です。

cpは単純なコピー処理なので、毎回すべてのファイルを転送します。ファイル数が多い場合や差分だけ更新したい場合には効率が悪くなることがあります。

AWSの基本用語や仕組みを、図解でサクッと理解したい人には、 入門の定番書がこちらです。

AWSの基本が全部わかる教科書をAmazonで見る

※ Amazon広告リンク

4. aws s3 syncコマンドとは?

4. aws s3 syncコマンドとは?
4. aws s3 syncコマンドとは?

aws s3 syncは、ローカルフォルダとS3バケットの内容を同期するコマンドです。差分のみをアップロードするため、効率的にファイル管理ができます。


aws s3 sync ./sample-folder s3://my-bucket/sample-folder

syncは、変更があったファイルのみをアップロードします。既に同じファイルがS3に存在する場合は、再アップロードしません。そのため、Webサイトのデプロイやバックアップ用途に適しています。


aws s3 sync ./sample-folder s3://my-bucket/sample-folder --delete

deleteオプションを使うと、ローカルに存在しないファイルをS3側から削除できます。本番環境で使う場合は注意が必要です。

5. cpとsyncの違いをわかりやすく比較

5. cpとsyncの違いをわかりやすく比較
5. cpとsyncの違いをわかりやすく比較

cpは単純コピー、syncは差分同期という違いがあります。初心者が覚えておくべきポイントは次の通りです。

  • cpは常に指定したファイルをコピーする
  • syncは変更されたファイルのみアップロードする
  • 大量ファイルではsyncが高速で効率的
  • deleteオプションで完全同期も可能

例えば、毎日ログファイルをS3へバックアップする場合、syncを使うことで通信量を減らせます。一方、一度きりのアップロードならcpでも問題ありません。

6. よくあるエラーと対処方法

6. よくあるエラーと対処方法
6. よくあるエラーと対処方法

AWS CLIでS3にフォルダをアップロードできない場合、いくつかの原因が考えられます。

  • 認証情報が設定されていない
  • バケット名が間違っている
  • アクセス権限が不足している

aws configure

上記コマンドでアクセスキーやリージョンを設定できます。IAMユーザーにS3フルアクセスや適切なポリシーが付与されているかも確認しましょう。

7. S3アップロードを自動化する活用例

7. S3アップロードを自動化する活用例
7. S3アップロードを自動化する活用例

AWS CLIのS3アップロードは、シェルスクリプトやバッチ処理と組み合わせることで自動化できます。定期バックアップや静的Webサイトのデプロイにも最適です。

例えば、ビルド後に自動でS3へアップロードする設定を行えば、開発効率が向上します。CI環境でもaws s3 syncはよく利用されています。

初心者でも、cpとsyncの違いを理解すれば、S3管理がスムーズになります。AWS CLIを使ったS3フォルダアップロードは、クラウド運用の基本スキルです。

AWS CLIの一覧へ
新着記事
Flutterアプリの署名設定(Android・iOSのポイント)
Flutterアプリの署名設定を完全解説!Android・iOSのビルドとデプロイ初心者ガイド
Java のインターフェースとは?普通のクラスとの違いを学ぼう
Javaのインターフェースとは?普通のクラスとの違いを学ぼう【初心者向け解説】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
EC2の料金体系を完全解説!オンデマンド・リザーブド・無料枠の違いとは?
EC2の料金体系を完全解説!オンデマンド・リザーブド・無料枠の違いとは?
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク