ビバAWSライフ!
というわけで、今回はs3fsを複数インスタンスで使ったら見事にバグった話です。
s3fsってなんぞ?
s3fsってのはS3のバケットをローカルにマウント・同期してくれる便利なやつです。
公式サイト
https://code.google.com/p/s3fs/
ちなみにベテランAWSerな方々が言うには
「遅い」
「安定しない」
という散々な評価をされている可哀想なやつです。
複数インスタンスで使うとバグるの?
で、今回のバグった件ですが状況的には以下の通りです。
EC2インスタンスA(以下A)とEC2インスタンスB(以下B)をS3のバケットからマウントする
↓
Aのマウントしたディレクトリ内にあるテキストファイルを書き換える
↓
Aで書き換えたテキストファイルをBで参照する
↓
Bではテキストファイルの10バイト分しか同期されてない!
ってな感じでした。
しかも常に起こるバグではなく、偶発的に起こるようで更にたちが悪いものでした。
ってなこともあるので、これからS3を使って何かしたいって人は大人しくAWSが提供しているSDKを使ってS3を操作するのがベター、とだけ言っておきます。
ちなみにS3をそんな風に使うのは本来の使い方から外れてるってのは知ってるよ!
ほんとだよ!
Amazon Web Services クラウドデザインパターン実装ガイド
posted with amazlet at 13.10.23