今回は、S3にコマンドラインからアクセスするCLIツールs3cmdを利用してみたいと思います。

S3 toolsから最新のs3cmdをダウンロードします。

$ wget http://downloads.sourceforge.net/project/s3tools/s3cmd/1.0.1/s3cmd-1.0.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fs3tools%2Ffiles%2Fs3cmd%2F1.0.1%2F&ts=1311152465&use_mirror=jaist -o s3cmd-1.0.1.tar.gz

そして、ダウンロードしたデータを展開してインストールします。

$ tar -xzvf s3cmd-1.0.1.tar.gz
$ cd s3cmd-1.0.1
# python setup.py install

次に、接続の設定を行います。

$ s3cmd –configure

Enter new values or accept defaults in brackets with Enter.
Refer to user manual for detailed description of all options.

Access key and Secret key are your identifiers for Amazon S3
Access Key: アクセスキーを入力
Secret Key: シークレットキーを入力

Encryption password is used to protect your files from reading
by unauthorized persons while in transfer to S3
Encryption password: 転送時の暗号化のパスワードを入力(ここではなにもいれずにEnter)
Path to GPG program: GPG暗号化プログラムへのパスを入力(ここではなにもいれずにEnter)

When using secure HTTPS protocol all communication with Amazon S3
servers is protected from 3rd party eavesdropping. This method is
slower than plain HTTP and can’t be used if you’re behind a proxy
Use HTTPS protocol [No]: 転送にHTTPSを使用する場合はYes(ここではなにもいれずにEnter)

On some networks all internet access must go through a HTTP proxy.
Try setting it here if you can’t conect to S3 directly
HTTP Proxy server name: プロキシサーバーを利用する場合はサーバー名(ここではなにもいれずにEnter)

New settings:
Access Key: xxxxxxxxxxxxxxxxxxx
Secret Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Encryption password:
Path to GPG program: None
Use HTTPS protocol: False
HTTP Proxy server name:
HTTP Proxy server port: 0

Test access with supplied credentials? [Y/n] 接続テストを行う場合はY
Please wait…
Success. Your access key and secret key worked fine :-) ←接続成功

Now verifying that encryption works…
Not configured. Never mind.

Save settings? [y/N] 設定を保存するにはy
Configuration saved to ‘/home/memorycraft/.s3cfg’

そして、バケットの内容を確認します。

$ s3cmd ls s3://mount-test/
2011-07-18 17:08 22209951 s3://mount-test/Stardust.m4v

さらに、バケットにファイルを転送します。

$ echo hello > hello.txt
$ s3cmd put -P hello.txt s3://mount-test/hello.txt
hello.txt -> s3://mount-test/hello.txt [1 of 1]
6 of 6 100% in 0s 21.11 B/s done
Public URL of the object is: http://mount-test.s3.amazonaws.com/hello.txt

以上のように、とても簡単に利用することができます。
またコマンドラインなので、アプリケーションやバッチなどにすぐに利用できるので、
とても便利です。

こちらの記事はなかの人(memorycraft)監修のもと掲載しています。
元記事は、こちら