Bitcasaの代わりにAmazon S3 + Glacierを使ってみた
読了まで:約6分
こんにちま!
という時間帯でもないのですが、皆様お久しぶりです。 にゃるらコト、岡村 直樹(25)です。皆様は新年はいかがお過ごしでしたでしょうか。
僕はまあ、新年から、
- 毎日自分のブログのどれかを更新する
- DayOne の日記を毎日きちんと書く
というような日課を課して、それを実践しておる訳ですが、 まあ今のところ順調に書けております。
で、それはまあ良いとして、この度僕は、
- Bitcasa を解約し、Amazon S3 + Glacier を使う
というようなコトを、昨日から今日にかけて行っておりました。
で、Bitcasa! Bitcasa カイヤクナンデ! っていうと、
- Bitcasa は結局の所バックアップにしか使ってなかった
- $99.00/1TB/yrなBitcasaってマジで? $10/yr じゃなかったの?
- あと Amazon S3 + Glacier 使いたい!
というのが主な理由。
まあ変えたかったから変えた、ってのが本当の所ではあります。
で。
本日の記事としては、その、
- Amazon S3 + Glacier
という組み合わせで、
- ファイルの永久アーカイブ計画
をやってみたので、その辺りのコトを今日は書きたいと思います。
0. Amazon S3 + Glacier を使う前にやったこと
これは大体、
- いらないファイルの処分
- ファイル構造の整理
- あと暗号化周りの下調べ
という辺りです。
で、僕は今回、いにしえの Windows XP 時代から保持していた、ジャンクなプログラミングコードを 全部捨てました 。lol
それはなんでかって言うと、
- ぶっちゃけ参照することがここ数年無かった
- Amazon Glacier に保存するにはちょっと微妙だった
- あと整理がめんどくさい
というのが主な理由。
まあ後ほかにもアーカイブしてたけど、これって要らないよね? みたいなファイルも当然の要に消去しました。あんまり取っておいても仕方が無いので。
まあ要らないファイルを棚卸しした、というのが、Amazon S3 + Glacier を使う前にやったことです。
1. Amazon S3 + Glacier を使ってみる
で、次に Amazon S3 + Glacier を使う訳ですが、この辺りについては、先人の知恵の方がとっても分かりやすい! ので、
- Amazon Web Services S3+Glacier に写真ををアーカイブ - ジテツウは楽し
- Amazon S3 の Glacier アーカイブ機能を活用する | Developers.IO
辺りを参照していただけたらな、と思います。
で、僕が実際上記リンク先を見て作業したのは、
- Amazon S3 に専用の Bucket を作る
- IAM で Amazon S3 + Glacier 専用のグループとアカウントを作る
s3cmd
の最新の開発版を使ってファイルをう p する
という辺りです。
まあ 1 と 2 に関してはセキュリティ関係の作業なのですが、3 番の s3cmd
に関して言えば、実は最初は使ってませんでした。
が、僕が最初に使った、S3 クライアントの、
は、なんか 5GB 以上のファイルがう p できなかったため、 s3cmd
を導入してその辺りをごまかしました。
で、 s3cmd
も s3cmd
で罠があって、
- OSX のシステムの Python の
site-packages/sitecustomize.py
でsys.setdefaultencoding("utf-8")
してないと日本語名ファイルでs3cmd
が死ぬ s3cmd
は最新の開発版じゃないと 5GB 以上のファイルのう p ができない~/.s3cfg
の設定が US に向いてるのを直さないとおかしな挙動になる--server-side-encryption
は最新の開発版じゃないと使えない
という辺りにハマりました。
なので、 s3cmd
を使う際には、 s3cmd
の最新の開発版を使いましょう。
ちなみに s3cmd
の最新版の導入に関しては、Homebrew 使ってる場合であれば、
$ brew install s3cmd --devel
で、導入できます。
2. Amazon S3 + Glacier を使う実際の流れ
で、基本的に Amazon S3 + Glacier を使う場合の流れ、というのは、
- Amazon S3 に専用の Bucket を作る
- 専用の S3 Bucket の Lifecycle で、1 日後に Glacier 送りにするよう設定する
- S3 に対して
s3cmd
で実際にファイルをう p する - 後はアーカイブされるのを松
- 取り出すときは、ゆっくりしていってね! で取りだす
という感じです。
で、僕が実際に S3 にう p する際に使った s3cmd
のコマンドは、
$ s3cmd sync ~/Files/ColdSleep/ s3://coldsleep/ --server-encryption --exclude=".DS_Store" --continue-put
という感じです。
で、実際にう p するのにかかった時間ですが、これはまあ半日ぐらい? って感じでしょうか。
まあ実際には試行錯誤の時間もありましたし、色々と他にも作業をしていたので、実際にかかった時間は正確には分からんのですが、まあ大体まるっと一日はつぶれるかな、って感じです。
で、あと気になるお値段の方ですが、今 2014-01-08T19:23:00+09:00 現在、他の S3 とかの費用を含めて、
- $ 0.31
と成っております。が、これさらに増えるんじゃね? とちょっとビビっておりますが、一応請求額が$10.00 を超えるとアラートがくるように設定しているので、多分大丈夫でしょう。明日か明後日には Glacier 行きになるし。まあちょっとこの辺り明日に成ってみないことには分かりません(><;)
3. そして、現在のファイルのバックアップ構成
基本的には今は、
- Dropbox は Dropbox 使用する iOS/Mac アプリのファイル置き場専用
- iTunes や iPhoto、あるいは開発系コードの同期は Google Drive + [[Insync https://www.insynchq.com/]] で保存
- 永久に保存したいファイルは Amazon S3 + Glacier に保存
- あとは上記三つをまるっと Drobo SG にもバックアップ
という体制を取り、基本的に Amazon S3 + Glacier へのバックアップは、自宅サーバになってる Mac mini late 2012 上でやってます。
で、実はまだ s3cmd
の定期実行のコマンドは仕込んどらんのですが、ま、これはまあこの記事を書き終わったら仕込もうと考えております。
で、費用についてはなんだろう、多分以前の体制より安くなってるとは思いますが、とりあえずもうしばらくは様子を見て、また価格的にアレとかなったら体制を変更したいなーと思ってます。
4. という訳で以上
つーことで、
- Bitcasa を使うのをやめて、Amazon S3 + Glacier を使うようにした
という話でした。
まあ実際今日から使い始めたんで、今のところはまだ試行錯誤の段階ですが、またもうちょっとノウハウ等たまってきたら、その辺りのコトをまた書きたいと思います。
という訳で新年一発目の Nyadgets!の記事を終わります。
皆様、今年もどうかよろしくお願いします!
#FIXME