AWS S3 cp: ファイルをS3にアップロードする
aws s3 cpを使用してローカルファイルをS3バケットにアップロードします。基本的なアップロード構文、ストレージクラス、ACLオプション、再帰的ディレクトリアップロードを解説します。
S3 Operations
詳細な説明
aws s3 cpでファイルをS3にアップロード
aws s3 cpコマンドは、ローカルファイルシステムとAmazon S3間でファイルをコピーします。個別ファイルのアップロードとダウンロードの最も一般的な方法です。
基本的なアップロードコマンド
aws s3 cp ./backup.tar.gz s3://my-backup-bucket/daily/backup.tar.gz
現在のディレクトリからbackup.tar.gzをmy-backup-bucketバケットのdaily/プレフィックスにコピーします。
オプション付きアップロード
aws s3 cp ./report.pdf s3://my-bucket/reports/report.pdf \
--storage-class STANDARD_IA \
--acl private \
--region us-west-2
主要なフラグ
| フラグ | 用途 |
|---|---|
--recursive |
単一ファイルではなくディレクトリ全体をコピー |
--exclude |
パターンに一致するファイルをスキップ(例:"*.log") |
--include |
パターンに一致するファイルのみを含める |
--storage-class |
ストレージ階層を選択(STANDARD、STANDARD_IA、GLACIERなど) |
--acl |
アクセス制御を設定(private、public-readなど) |
再帰的ディレクトリアップロード
aws s3 cp ./website/ s3://my-website-bucket/ --recursive --exclude "*.tmp"
website/ディレクトリ内の.tmpファイル以外のすべてのファイルをアップロードします。s3 syncとは異なり、s3 cp --recursiveはソースにない宛先のファイルを削除しません。
ダウンロード(逆方向)
aws s3 cp s3://my-bucket/data/export.csv ./downloads/
方向は、どの引数がS3 URIでどれがローカルパスかによって決まります。
ユースケース
CI/CDパイプラインや手動デプロイワークフローの一環として、アプリケーションビルドアーティファクト、データベースバックアップ、ログアーカイブ、静的Webサイトアセットをs3バケットにアップロードする。