SyncthingはP2PでDropboxみたいなことができるGo製のオープンソースだ。使っている感じとして、Dropboxより低CPUリソースで、同期はDropboxより速い。
Syncthingでクラウドノードを立てる理由
Syncthingのファイル同期はP2Pなのでサーバを立てるのは必須ではないが、同期をするにはネットワークに同期元と同期先のマシン2台以上が稼働している必要がある。例えば、職場のMacが電源OFFで自宅Macから同期できないといったことが起こる。そうならないよう、AWSなどにSyncthingのノードをひとつ立てておくと良い。
AWSは同期が遅かった
最初にAWSでEC2 microインスタンス+EFSの環境でSyncthingのノードを立てたが、耐えられないほど同期に時間がかかった。
次にEC2 microインスタンス+EBSの環境でやってみたところ、5〜6倍は同期が早くなった。それでも、僕の環境はファイル数が多い(数万ファイル)ため、実用に耐えられる感じではなかった。
microインスタンスではCPUリソース不足やEBS性能制限を感じたためt3.mediumにスケールアップしてみようと思ったが、コストを試算したら64GBのSSDストレージで月6,000円以上かかることがわかったため断念した。
さくらのVPSは20倍くらい早かった
コスト的にVPSのほうが安いのではと考えてさくらのVPSのプライシングを調べてみたら、2GBで月1,706円だったので、そのプランを選択した。
さくらVPSは最初の2週間無償トライアルできる。ただしその間の通信速度は10Mbpsに制限される。それでもAWSで試した環境よりは20倍くらい早く、実用的なスピードが出ることがわかった。
AWSのリージョンは東京といいつつも東京都ないでない場合があるが、さくらのVPSの東京第2ゾーンは東京都北区にあるらしい。都内からの通信だとさくらのVPSのほうに軍配があがるかもしれない。