弊社代表が突然(いつも突然ですが。)「マストドンの本誰か書かない?」と言ってきたので、そろそろ本でも描くか!という軽いノリでマストドンの構築から執筆までを引き受けることになりました。マストドン初心者だけどGCPでシステム作るのは得意だぜ!マストドンはオープンソースでGitHubのProduction-guilde.mdを読めば、誰でも構成できる状態となっています。スケールできる構成にしたかったので、フロントにLBを置いてDBとRedisわけて〜みたいな感じで構成図を書いて作りました。メディアファイルの扱いがめんどいユーザのトゥートでアップロードされるメディアファイルの扱いがちょっと面倒(なぜならまだマストドンがGCSに対応してないから!)で、CloudCDN使ったりinotifywait使ったりしてGCSにあげたりしてみたんだけどうまくいかなかった。結局メディアファイルは分散ファイルシステム使って配信するのがバランス良さそうだな〜ということで解決したんですけどね。Redisの分散マストドンってトゥートとかmail送信とかをsidekiqっていうRubyの非同期プロセッサに渡して処理しているんですけど、バックエンドにはRedisを使っています。残念ながらまだマストドンはRedisの分散のことまで考えていないみたい(コンフィグみただけだけどw)。うまいこと分散できないシステムになりました。そんなことを思いながら渋々マスタ/スレーブレプリケーション構成を作るために頑張った俺かわいい。書籍の概要(俺のパート)grasysでは企業向けにスケールできる環境をGCPで作ってみようという話になりまして、その時の構成と構築手法がこの書籍の最後の方に記述されています。詳しい内容は書籍を購入してみてくださいね!書籍名:これがマストドンだ!(Amazonのページにリンクしています)マストドンのインスタンスは簡単に構築できますが、スケールを意識した構成のヒントとなると思います。