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.gzmy-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バケットにアップロードする。

試してみる — AWS CLI Command Builder

フルツールを開く