前述、ECCUBE3 on EFSが遅すぎるため、Dropboxを入れて、冗長化してみましたが、
Windows版だと、一番性能が良いと思っておりましたが、
CPUがやたらと回るし、ファイル同期も欠損が生じるレベル。
CPUクレジットが減る一方で、手動停止する始末・・・
***
S3Syncなど、いろいろな冗長化の方法はあると思いますが、
今回は、「Syncthing」という同期ツールを使いました。
センターサーバー(親)はあるものの、P2Pなので、
クライアント同士がファイルを持ち合います。
=親はファイルを持たない
オープンソースなので、悪いコードが含まれているかも、
確認可能なのも、いいところ。
Syncthing
Pythonのバージョンの違いなどで、インストールが難航したのですが、
Alpha LinuxのDockerイメージを見つけたので、
それを用いました。
https://hub.docker.com/r/syncthing/syncthing
インストールが終わると、あとはブラウザーを使って、設定するだけ。
超簡単なんですが、
所有者問題で苦労しました。
Docker Fileには、
ENV PUID=1000 PGID=1000 HOME=/var/syncthing
と、定義されていますが、ec2-userは500:500
WinSCPは、500で接続しているので、
A機でファイルを作ると、所有者は500ですが、
同期先のB機では、1000になります。
B機で編集すると、所有者の問題から、A機には反映されません。
664にしておけばいいのですが、
都度都度設定するのは、わりと面倒でした。
Docker FIleのPUID / GUIDを500:500にすればいいのですが、
うまくいかなかったので、
結局、1000:1000のアカウントで、WINSCPに接続し、完結。
同期のタイムラグ
が、数秒あります。
直接編集時は、ブラウザーが、どっちの機に繋がっているかを特定し、
そののサーバーに接続して、作業することで、
タイムラグを解消しました。
PS.
AWSを使い始めて、5年目となりました。
もっと便利な機能はあるんだろうけど、未開拓が山積みですが、
特に、トラブった時。解決索を見いだせる様になったので、
「Linux楽しぃ!」と思えるようになってきました。
が、普通のレンタルサーバーが如何に楽(ラク)か、、、