Amazon Glacierを楽に利用するためのRailsアプリを作った

AWSのGlacierは、1GBでおよそ月に1円ぐらいなので、1TBバックアップしても月に1000円ぐらい。
これぐらいなら、まあDropboxのプレミアムぐらいの感覚で、1TBをAmazonさんにバックアップしてもらえますね。
ただ、Glacierは結構利用の手順が面倒なので、それを簡易化するためのアプリを書きました。


GitHub - joker1007/savant_time: Amazon Glacier Backup Wrapper


大体、以下のような機能があります。

  • ディレクトリを閲覧し、任意のファイルをバックアップするジョブを実行する
  • 複数のファイルを選択し、バックアップジョブの実行キューに追加する
  • インベントリ取得ジョブを実行する
  • インベントリ取得ジョブ完了時のSNSメッセージを受け取り、Glacierにちゃんとバックアップされているファイルの情報を保存する
  • アーカイブ取得ジョブを実行する
  • アーカイブ取得ジョブ完了時のSNSメッセージを受け取り、自動で所定のディレクトリにダウンロードする

要は簡易なファイルブラウザと、ポチっとやったら非同期でファイルをアップロードしたり、アーカイブ取得ジョブを実行して後は数時間待ってたら完了メッセージを受け取って勝手にダウンロードしといてくれる、って感じのツールです。


RubyからGlacierを利用する場合は、fogというgemでそれなりに利用できるので、sidekiqあたりと組み合わせて、簡単に作れます。
ただ、作りは簡単なんですが、一つの機能の動作確認が1日がかりなので、作るのにえらい時間がかかってますw

名前の由来は、まあ分かると思うし、ネーミングから用途も分かると思います。
氷河とクールダウンした脳をかけた感じですね。


API通信と非同期処理だらけなので、面倒でテスト全然書いてない…。
まあ、エロ動画のバックアップさえ、ちゃんと出来りゃいいので、後は適当ですよ。