ablog

不器用で落着きのない技術者のメモ

S3 to S3 でストリーミング圧縮コピーする(AWS CLI版)

S3 にあるファイルを EC2 などにファイルをまるまるダウンロードせずに圧縮して S3 にアップロードしたい場合、パイプで繋いでやればよい。

  • EC2 のローカルのファイルを圧縮しながら S3 にアプロードする(圧縮したファイルを EC2 にローカルに保存せずに)
$ gzip -c LICENSE.txt | aws s3 cp - s3://<bucket-name>/upload/LICENSE.gz
  • S3 からファイルをダウンロードしながら圧縮して S3 にアップロードする(一時的に EC2 のローカルに保存せずに)
$ aws s3 cp s3://<bucket-name>/download/LICENSE.txt -|gzip -c|aws s3 cp - s3://<bucket-name>/upload/LICENSE_s3.gz