Amazon S3

データのバックアップを同じサーバー内に置いていると保全性が半減するので
どこか他に置きたいが適当なサーバーがない場合、Amazon S3がよいらしい。

ファイルのアップロード自体にはお金がかからない(厳密にはPUTコマンドにはお金がかかるが)ので、
日々のバックアップをアップロードするだけだと、ファイルサイズに応じた従量課金しかかからないので大変お得。

ブラウザからGUIで操作するのは、簡単にできそうだが
バックアップはcronで実行するからコマンドラインで利用できないといけないので、
これらを利用するツールがいろいろ用意されているが、PHP版は5.3以降でないと動かなかったり、
とあるPerlスクリプトは依存関係が多くてインストールが大変だったりする。

Python版は比較的素直に動いたが、この言語知らないのでできればPerlにしたかったので見つけたのがこれ。

■Simple Command-Line Access to Amazon EC2 and Amazon S3

http://aws.amazon.com/code/Amazon-S3/739
http://d.hatena.ne.jp/faibou/20100603/1275533631

バッチ実行ユーザーのログインルートに .awssecret という名前のドットファイルを作成し
その中の1行目にアクセスキー、2行目にシークレットアクセスキーを記入
パラメータ名は不要で、キーのみを記述

で、上のサイトからPerlスクリプトをダウンロードして実行するだけだった

コマンド例
/usr/bin/perl aws.pl put (バケット名)/db_backup.tar.gz db_backup.tar.gz x-amz-storage-class:REDUCED_REDUNDANCY --curl-options="--limit-rate 768k"

x-amz-storage-class:REDUCED_REDUNDANCY
低冗長化ストレージ(安いやつ)にするオプション、この情報を見つけるのに超苦労した

--curl-options="--limit-rate 768k"
転送速度制限、帯域をめいいっぱい使うとバックアップ中にサーバーにアクセスしにくくなるので

タグ:

S3
最終更新:2013年01月30日 14:36