AWS s3cmd 使い方 インストールとデータ転送

バイオインフォ道場、くまぞうです。

バイオインフォマティクスでのAWSの利用について、AWSのEC2・S3・ローカルPC間でのデータ転送を中心にまとめます。

s3cmd編

関連記事 AWSの活用とデータ転送

AWSとは?

クラウド上にサーバーが構築できるEC2と、クラウド上に大きなストレージを確保できるS3が有名です。他にも様々なサービス提供が行われています。ウェブブラウザでも管理することが出来て、各種サービスを手軽に、そして効率良く利用することができます。

Amazon Web Services(アマゾン ウェブ サービス、AWS)とは、Amazon.com により提供されているクラウドコンピューティングサービス(ウェブサービス)である。これらのサービスは全世界で11の地域に提供されている。AWSの有名なサービスにAmazon Elastic Compute Cloud(EC2)とAmazon Simple Storage Service(S3)がある。これまでのクライアントが保有していた物理的なサーバファームと比較してAWSは大規模な計算処理能力を速やかに、かつ安価に提供出来る。
【出展】Wikipedia – Amazon Web Services

EC2とS3の連携

AWSの活用例としては、必要なときに生成して役目を果たしたら削除されるインスタンスであるEC2とは別に、恒久的なデータ置き場としてS3を使うケースが多いと思います。s3cmdを使うと、S3のバケット操作や、S3とEC2間でのデータ転送を簡単に行うことができます。比較的大きなデータを扱うことの多いバイオインフォマティクスの計算においても、解析データや結果データのやりとりが簡単にできると便利です。-【s3cmd】Amazon S3 Tools: Command Line S3 Client Software and S3 Backup –

s3cmdのアップデートを行いました。初回インストール時は、その他のツール同様、AccessKeyId・SecretKeyなどのconfigを設定する必要がありますが、今回は再設定なしでアップデートできました。INSTALLの記載内容に従ってインストール、今回はpipでのインストールです。依存に関しては、「Python 2.6 or newer (it is NOT compatible with Python 3.x)」だそうです。

s3cmdでデータ転送

s3cmdを使って、EC2とS3間でのデータ転送を確認しました。使ったコマンドは、getputです。

インストール・アップデート

$ wget https://sourceforge.net/projects/s3tools/files/s3cmd/1.6.1/s3cmd-1.6.1.tar.gz
$ tar xzvf s3cmd-1.6.1.tar.gz
$ cd s3cmd-1.6.1/
$ less INSTALL  # 様々なインストール方法があるので、適切なものを確認・選択します。
$ sudo pip install s3cmd
$ s3cmd --version
s3cmd version 1.6.1

データ転送の確認

s3cmd get s3://myfolder/mydata.txt .                # S3 -> EC2
s3cmd put mydata_s3.txt s3://myfolder/mydata.txt .  # EC2 -> S3