カテゴリ: AWS S3 更新日: 2025/08/25

【AWS】s3 cpでローカルにコピーする方法と注意点【ダウンロード】

230
【AWS】s3 cpでローカルにコピーする方法と注意点【ダウンロード】

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

生徒

「AWS CLIのs3 cpってアップロードだけじゃなくて、S3からローカルにダウンロードもできるんですか?」

先生

「もちろんできます。s3 cpは双方向のコピーに対応しているので、S3からローカルへのコピーも簡単ですよ。」

生徒

「じゃあ、そのやり方と注意点を教えてください!」

先生

「では、基本的なダウンロード方法から、大量ファイルを扱う場合の注意点まで解説しますね。」

1. s3 cpでローカルにコピーする基本

1. s3 cpでローカルにコピーする基本
1. s3 cpでローカルにコピーする基本

aws s3 cpは、S3からローカルにファイルをコピーする際も使えます。書き方はアップロード時と同じですが、順番を「S3 → ローカル」にします。


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

このコマンドでは、S3バケットmy-bucket内のsample.txtをカレントディレクトリにダウンロードします。

2. ディレクトリごとダウンロードする方法

2. ディレクトリごとダウンロードする方法
2. ディレクトリごとダウンロードする方法

フォルダ(プレフィックス)ごとコピーするには--recursiveオプションを使います。これにより、指定フォルダ配下の全ファイルがローカルにコピーされます。


aws s3 cp s3://my-bucket/data/ ./data/ --recursive

フォルダ構造は保持されるため、大量のファイルをバックアップするときに便利です。

3. ファイル名やパスに注意するポイント

3. ファイル名やパスに注意するポイント
3. ファイル名やパスに注意するポイント

S3内のファイルキーは「フォルダ/ファイル名」の形式になっているため、指定を間違えるとコピーされなかったりエラーになります。例えばdata/file.txtをコピーする場合は、パス全体を指定する必要があります。


aws s3 cp s3://my-bucket/data/file.txt ./file.txt

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

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

※ Amazon広告リンク

4. 上書きとスキップの挙動

4. 上書きとスキップの挙動
4. 上書きとスキップの挙動

デフォルトではローカルに同名ファイルがある場合、S3の内容で上書きされます。更新がない場合も上書きするため、不要な上書きを避けたい場合は--exact-timestampsオプションを使いましょう。


aws s3 cp s3://my-bucket/sample.txt ./sample.txt --exact-timestamps

これにより、タイムスタンプとサイズが一致する場合はコピーをスキップします。

5. 特定のファイルだけダウンロードする方法

5. 特定のファイルだけダウンロードする方法
5. 特定のファイルだけダウンロードする方法

特定の拡張子だけをダウンロードしたい場合は--exclude--includeを組み合わせます。


aws s3 cp s3://my-bucket/data/ ./data/ --recursive --exclude "*" --include "*.jpg"

これでJPEG画像だけをローカルにコピーできます。

6. 大量ファイルをコピーする際の注意点

6. 大量ファイルをコピーする際の注意点
6. 大量ファイルをコピーする際の注意点
  • ネットワーク速度に依存するため、大容量データは時間がかかる
  • 中断した場合は再実行で続きをコピー可能(ただし差分判定はタイムスタンプとサイズのみ)
  • 必要に応じてAWS CLIのプロファイルを指定し、正しいアカウントのバケットから取得する

7. 安全にダウンロードするための工夫

7. 安全にダウンロードするための工夫
7. 安全にダウンロードするための工夫

重要なデータを扱う場合は、まず--dryrunオプションでコピー対象を確認しましょう。


aws s3 cp s3://my-bucket/data/ ./data/ --recursive --dryrun

これにより、実際にコピーする前にファイル一覧をチェックでき、誤ダウンロードを防げます。

AWS S3の一覧へ
新着記事
FlutterのMVP・MVVMアーキテクチャの違いと使い分け
FlutterのMVP・MVVMアーキテクチャの違いと使い分けを初心者向けに解説!
オニオンアーキテクチャの基本とFlutterでの適用例
オニオンアーキテクチャの基本とFlutterでの適用例を初心者向けに解説
クリーンアーキテクチャとは?Flutterでの導入メリット
クリーンアーキテクチャとは?Flutterでの導入メリットをやさしく解説
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金まとめ
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金を初心者向けに徹底解説
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

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

UGREEN USB-Cハブを見る

※ Amazon広告リンク