先日、PCやサーバのバックアップに使って居るBackblaze B2から値上げ予定のメールが来た。ストレージ単価が20%も上がる(USD 0.005 → 0.006 /GB/月)ので、元々安いものの、こちらにはメリットがなく※、ただ値上げされた感じで、何とも気分が悪い。*
※例えば、「代わりに」毎月10-20GBくらい無料にしてくれたらうれしい。が、結構な損になるのだろうか?
*想像でしかないが、Backblazeは少し前に上場したために、コストが増大したとか売上や利益率を上げるように圧力を掛けられているのかも知れない。自分の経験からも、上場すると碌なことがない気がする。
そこで、(以前もやったが、)再び、無料の容量が比較的大きく、有料での単価の安いCloud (Object) Storage(バックアップに使って居るduplicacyで使えるもの)を探してみた。以下に それぞれの概要と印象を書く。また、実際に試したStorjについては その結果も書く。
- × Storj: 比較的安いが、安定性、継続性、永続性の点で信用できない。
- 無料: 25GB/月; 有料単価(storage): USD 0.004/GB/月
- サイトに書かれている"Availability: 99.95%", "Endpoints: 20000+"は すごいように見えるが、良く考えると そうでもない。
- 信頼性をうたうなら、Availabilityは99.99%以上要ると思うし、全世界で たった2万のノード(ストレージ提供者, 仮想通貨のマイナー相当?)しかないのは少ない。*
- *いつまで続く(終わる)か不安がある。自分の周囲のストレージ(提供者)が居なくなったら、データが失われるのではないか。 → 継続性、永続性への疑念
- 信頼性をうたうなら、Availabilityは99.99%以上要ると思うし、全世界で たった2万のノード(ストレージ提供者, 仮想通貨のマイナー相当?)しかないのは少ない。*
- なぜか、サイトに肝心な説明(「分散されたストレージ」とは具体的には何か)が明記されていない※のも腑に落ちない。(読み落とし?)
- 結局、検索して調べると、Storjは仮想通貨のように、ストレージを提供してお金をもらう人たち(上述のマイナー相当?)に依存しているのではないか。だから、そういう人たちが「お金にならない」とか思って居なくなったら終わりだ。
- 実際、以前は無料容量が100GB以上と多かったらしいのに今は随分減って居るのは、ストレージ(提供者)の確保が難しくなっているせいではないだろうか。
- そういうことだと、環境に配慮していることもうたっているが、実際には環境に悪い気がする。: お金を稼ぐために、多少非効率でも容量や速度や帯域を大きくする人が多いのではないか?
- ※僕は、最初はStorjのストレージ設備が全世界にあるように思い込んでしまったが、冷静に考えれば、それを安い料金で提供するのは無理だ。
- 結局、検索して調べると、Storjは仮想通貨のように、ストレージを提供してお金をもらう人たち(上述のマイナー相当?)に依存しているのではないか。だから、そういう人たちが「お金にならない」とか思って居なくなったら終わりだ。
- duplicacyで使ってみて: 今一つ
- デスクトップ(IPoE/DS-Lite接続)の場合、ネイティブプロトコルでは(DS-Liteの)IPv4のポートを使い尽くして*、バックアップがエラー(connect: no route to host)で止まった。※: エラー自体はduplicacyの実装の問題があるだろうが、このことで調べているうちに上の疑念が生じた。
- *バックアップ中はPCから200以上のノード(周囲のストレージと思われる)に接続が起こる。PCやルータのリソースを使い尽くしてしまうことだけでも好ましいことではない。効率が悪いし、セキュリティ的にも どうかと思う。
- あと、暗号化しているとは言え、自分のファイル(の断片)を周囲に撒き散らすのは、僕は受け入れられない。
- その関係の保険なのか、規約に「個人情報、クレジットカード情報などを格納しない」のようなものがあったが、高い信頼性を うたう割には何に使うことを想定しているのか謎だ。
- ※サーバはネイティブ?なIPv4/IPv6なので、ネイティブプロトコルでも問題なかった。
- *バックアップ中はPCから200以上のノード(周囲のストレージと思われる)に接続が起こる。PCやルータのリソースを使い尽くしてしまうことだけでも好ましいことではない。効率が悪いし、セキュリティ的にも どうかと思う。
- S3互換プロトコルならデスクトップでも大丈夫だったが、なぜか、バケットの情報(ファイル)がコンソールでは見えなかった。: S3の暗号化が違うためか?
- 認証・暗号化に関しては、パスフレーズや認証キーなど種類が多くて(上記のようにプロトコル・アプリケーションごとに違う)、分かりにくく煩雑だった。
- デスクトップ(IPoE/DS-Lite接続)の場合、ネイティブプロトコルでは(DS-Liteの)IPv4のポートを使い尽くして*、バックアップがエラー(connect: no route to host)で止まった。※: エラー自体はduplicacyの実装の問題があるだろうが、このことで調べているうちに上の疑念が生じた。
- △- iDrive e2: 料金体系が悪い。恣意的?
- 無料: 10GB/月; 有料単価(storage): USD 4/TB/月
- 容量が1TB単位なので、今使って居るB2とGoogle Cloud Storage Archive (GCSA)を全部移すなら可だが、刻みが大き過ぎて高く付くし、単価はGCSAより高い。 → 以前は候補にしていたが、今一つな感じだ。
- × IBM Cloud Object Storage: やっぱりIBM?: 無料は実用にならず、有料は高い。
- 無料: 25GB/月; 有料単価(storage): USD 0.0237/GB/月
- 無料容量は25GBだけど、無料でできる処理数が少なくて(例: Class A: 2000 → 一か月に2000ファイル(オブジェクト, ファイル)までしか作れない※)、実用にならない。
- ※今のサーバのB2へのバックアップは約20GB, 約14000チャンク(オブジェクト)
- 有料単価が高い。
- その他: 信用できない・使えない印象。
- × Scaleway: 不安が大きいので却下した。
- 無料: 75GB
- 評判が まちまちなので、先日騙されたOracleと同様に相手によって態度を変えているのだろうか。
- 支払い方法(クレジットカード)を登録しないと使えないが、レビューを見ると、「使っていないのに課金されて返金されない」、「苦情を出しても課金され続けている」というのが結構多いので、登録を止めた。
- また、上にも書いたが、Oracleのように、登録しても なぜか却下されて使えない(しかもデポジットが返金されない?)こともありそうで、イライラするのが嫌なこともあって止めた。
- × Blomp (ファイルストレージ): 明らかに「うま過ぎる話」なので却下した。
- 無料: 200GB
- × Degoo (ファイルストレージ): うまい話ですらないので却下した。
- 無料: 20GB
- ×× TeraBox (ファイルストレージ): 無料では使い物にならないので却下した。
- 無料: 1TBだが、20ファイルまでで話にならない。
- × Scaleway: 不安が大きいので却下した。
という訳で、今回もB2から脱却することはできず、値上げされても使い続けるしかないという結論となった。B2が一枚上手だったようだ。: つまり、彼らは上のようなライバルの状況を把握しており、多少値上げしても優位に居続けられる・移る人は少ないことを理解して強気になっているのではないか。
あと、現状の僕のB2の料金は2か月でUSD 1程度なので、検討すること自体も割に合わないのだが、興味があるし世の中の流れを知るのも重要なので、比較・検討した。
PS. Storjについての疑問 (8/29 14:41)
Storjの うたう高信頼性(下に抜粋・引用)が疑わしいので、少し考えた。なお、Storjの仕組みについては ほとんど知らないので、あくまでも推測である。
Durability: 11 Nines, Availability: 99.95%, Encryption: AES-256 GCM
信頼性(耐久性・可用性)について
本文に書いたように、Storjはストレージの提供者(仮想通貨・暗号資産のマイナー相当?)のストレージに分散してデータを保存していると推測する。
すると、データを書き込む時にはStorjのサーバで分割して どの提供者(おそらく複数)に書き込むかを決め、書き込んだデータを取り出す時は、Storjのサーバから書き込んだ時の分割情報(またはそれへのポインタ: 分散して保存されているかも知れない)を取得するだろう。
とすると、信頼性を決めるのはStorjのサーバと(多くの)ストレージ提供者のストレージになる。: 前者の信頼性を高めることは可能だが、"Durability: 11 Nines"と言うほど確保できているのか疑問がある。Storjのサーバが全部消失したら全部のデータが失われるだろうが、どこまで強く・多重化・冗長化しているのだろうか。
次に、提供者のストレージの信頼性が確保・担保されているとは思えないので、ストレージ自体・単体の信頼性は かなり低いと想像できる。冗長化することで補っていると想像するが、それには限りがある。低い信頼性の掛け算で更に低くなった信頼性を冗長化で どこまで("11 Nines, 99.95%"?)高められるか疑問がある。
暗号化について
AES-256 GCMという暗号化をしているようだが、計算速度がどんどん増している現状で、絶対に解読できないとは思えない。悪意を持ったストレージ提供者が解読してユーザのデータ(の一部)を悪用できる可能性はないのか、疑問がある。 この場合、元のデータの生成元は分かっているし、いくらでも時間や手間が掛けられるだろうから、結構危うい気がする。その他に、Storjの仕組みに問題(バグ)があって、容易に解けるようになって居たとかいうこともあるかも知れない。
データを分割する時に、データの順序をブロック内でなくブロック間で入れ換えて居る(「スクランブル」している。: 例: ファイルの先頭ブロックの一部を後ろのほうのブロックの中間辺りに配置するようなことをファイル全体で行う)なら かなり強そうだが、結構手間が掛かりそうなので どうだろうか?
とは言え、実際には多くのユーザは更に自分で暗号化するだろうから、解読するのは容易ではないだろう。また、暗号資産の強度の議論とほとんど同じことだろうから、今の時点では問題ないのだろう。
(16:23 少し加筆・修正、構成を修正; 8/29 Storjのduplicacyでのエラーを追記; 8/29 14:41 PS. Storjについての疑問を追加)