Nyadgets!

ガジェットやらでライフをハックするブログ

Bitcasaの代わりにAmazon S3 + Glacierを使ってみた

こんにちま!

という時間帯でもないのですが、皆様お久しぶりです。 にゃるらコト、岡村 直樹(25)です。皆様は新年はいかがお過ごしでしたでしょうか。

僕はまあ、新年から、

  1. 毎日自分のブログのどれかを更新する
  2. DayOneの日記を毎日きちんと書く

というような日課を課して、それを実践しておる訳ですが、 まあ今のところ順調に書けております。

で、それはまあ良いとして、この度僕は、

  • Bitcasaを解約し、Amazon S3 + Glacierを使う

というようなコトを、昨日から今日にかけて行っておりました。

で、Bitcasa! Bitcasaカイヤクナンデ! っていうと、

  1. Bitcasaは結局の所バックアップにしか使ってなかった
  2. $99.00/1TB/yrなBitcasaってマジで? $10/yrじゃなかったの?
  3. あとAmazon S3 + Glacier使いたい!

というのが主な理由。

まあ変えたかったから変えた、ってのが本当の所ではあります。

で。

本日の記事としては、その、

  • Amazon S3 + Glacier

という組み合わせで、

  • ファイルの永久アーカイブ計画

をやってみたので、その辺りのコトを今日は書きたいと思います。

0. Amazon S3 + Glacierを使う前にやったこと

これは大体、

  1. いらないファイルの処分
  2. ファイル構造の整理
  3. あと暗号化周りの下調べ

という辺りです。

で、僕は今回、いにしえのWindows XP時代から保持していた、ジャンクなプログラミングコードを 全部捨てました。lol

それはなんでかって言うと、

  1. ぶっちゃけ参照することがここ数年無かった
  2. Amazon Glacierに保存するにはちょっと微妙だった
  3. あと整理がめんどくさい

というのが主な理由。

まあ後ほかにもアーカイブしてたけど、これって要らないよね? みたいなファイルも当然の要に消去しました。あんまり取っておいても仕方が無いので。

まあ要らないファイルを棚卸しした、というのが、Amazon S3 + Glacierを使う前にやったことです。

1. Amazon S3 + Glacierを使ってみる

で、次にAmazon S3 + Glacierを使う訳ですが、この辺りについては、先人の知恵の方がとっても分かりやすい! ので、

辺りを参照していただけたらな、と思います。

で、僕が実際上記リンク先を見て作業したのは、

  1. Amazon S3に専用のBucketを作る
  2. IAMでAmazon S3 + Glacier専用のグループとアカウントを作る
  3. s3cmdの最新の開発版を使ってファイルをうpする

という辺りです。

まあ1と2に関してはセキュリティ関係の作業なのですが、3番の s3cmd に関して言えば、実は最初は使ってませんでした。

が、僕が最初に使った、S3クライアントの、

Transmit

Transmit

  • Panic, Inc.
  • ユーティリティ
  • ¥4,100

は、なんか5GB以上のファイルがうpできなかったため、 s3cmdを導入してその辺りをごまかしました。

で、 s3cmds3cmd で罠があって、

  1. OSXのシステムのPythonの site-packages/sitecustomize.pysys.setdefaultencoding("utf-8") してないと日本語名ファイルで s3cmd が死ぬ
  2. s3cmd は最新の開発版じゃないと 5GB以上のファイルのうpができない
  3. ~/.s3cfg の設定がUSに向いてるのを直さないとおかしな挙動になる
  4. --server-side-encryptionは最新の開発版じゃないと使えない

という辺りにハマりました。

なので、 s3cmd を使う際には、 s3cmd の最新の開発版を使いましょう。

ちなみに s3cmd の最新版の導入に関しては、Homebrew使ってる場合であれば、

$ brew install s3cmd --devel

で、導入できます。

2. Amazon S3 + Glacierを使う実際の流れ

で、基本的に Amazon S3 + Glacierを使う場合の流れ、というのは、

  1. Amazon S3に専用のBucketを作る
  2. 専用のS3 BucketのLifecycleで、1日後にGlacier送りにするよう設定する
  3. S3に対して s3cmd で実際にファイルをうpする
  4. 後はアーカイブされるのを松
  5. 取り出すときは、ゆっくりしていってね! で取りだす

という感じです。

で、僕が実際に 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. そして、現在のファイルのバックアップ構成

基本的には今は、

  1. DropboxはDropbox使用するiOS/Macアプリのファイル置き場専用
  2. iTunesやiPhoto、あるいは開発系コードの同期はGoogle Drive + Insyncで保存
  3. 永久に保存したいファイルは Amazon S3 + Glacierに保存
  4. あとは上記三つをまるっと Drobo SGにもバックアップ

という体制を取り、基本的にAmazon S3 + Glacierへのバックアップは、自宅サーバになってるMac mini late 2012上でやってます。

で、実はまだ s3cmd の定期実行のコマンドは仕込んどらんのですが、ま、これはまあこの記事を書き終わったら仕込もうと考えております。

で、費用についてはなんだろう、多分以前の体制より安くなってるとは思いますが、とりあえずもうしばらくは様子を見て、また価格的にアレとかなったら体制を変更したいなーと思ってます。

4. という訳で以上

つーことで、

  • Bitcasaを使うのをやめて、Amazon S3 + Glacierを使うようにした

という話でした。

まあ実際今日から使い始めたんで、今のところはまだ試行錯誤の段階ですが、またもうちょっとノウハウ等たまってきたら、その辺りのコトをまた書きたいと思います。

という訳で新年一発目のNyadgets!の記事を終わります。

皆様、今年もどうかよろしくお願いします!