Closed10

Mastodon

Suzuki ShinnosukeSuzuki Shinnosuke

Mastodon のホスティングサービスは少ないが存在してるようだ。おひとり様で使うぶんには全然アリな価格設定じゃないですかね。

https://hostdon.jp/#/mastodon/about
https://masto.host/pricing/

しかし昨今の流入が多すぎたのか、新規受け付けを停止しているようだ。また、インフラをユーザーごとに分離しきっていないのか、不安定だの落ちるだのを目撃する。がんばってほしい
https://twitter.com/search?f=live&q=hostdon until%3A2022-12-01 since%3A2022-11-01&src=typed_query

Suzuki ShinnosukeSuzuki Shinnosuke

根性と甲斐性とスキルがある人は、AWSl, Digital Ocean, レンタルサーバー、はたまた自宅サーバーなどに立てる選択肢がある。

mastodon は OSS であり、 docker-compose.yml まで用意されている。読めばだいたい必要なものが理解できるだろうし、 Docker を剥がして1台のサーバーに押し込めて立てることもできよう。
https://github.com/mastodon/mastodon/blob/main/docker-compose.yml

Suzuki ShinnosukeSuzuki Shinnosuke

そこそこの人数に耐える構成とか考え始めてしまいますね....

  • web, streaming, sidekiq は AutoScaling で伸縮させないと無理ゲー
    • Fargate のインスタンスタイプも上げてく必要があるかな
  • web は ALB を前に立てて WAF も付けておきたくなりますね
    • CloudFront は効きが悪そうだなあ...。アセット配信には効きそうだし、無いよりマシではあるのだろうけど。WordPress に CloudFront を被せるほどは効かなそう
  • streaming は private な NLB を前に立てておけばいいのかな
  • sidekiq は生のまま立てとけばよさそうだな
  • redis は ElastiCache Redis だとして、Mastodon て Redis に何を読み書きしてるのか。sidekiq だけなら、リードレプリカ1台を付けるだけで、AZ障害にも耐えよう。キャッシュ用途ガッツリ使ってるなら、リードレプリカを適時増やしてけばよさそう
  • rds も面倒を見てかないとダメか....面倒見たくねえなあ

puma は Fargate インスタンスタイプを上げたらパラメータチューニングの余地がありそうだ
https://github.com/mastodon/mastodon/blob/main/config/puma.rb

sidekiq は非同期処理だけと思いきや定期実行ジョブが動いてるんだな
https://github.com/mastodon/mastodon/blob/main/config/sidekiq.yml

Suzuki ShinnosukeSuzuki Shinnosuke

WordPress のように「CDN を被せたら貧弱EC2でも大丈夫」みたいなゴマカシが効かなそうな要素が多く、大所帯な Mastodon サーバーを運営されてる方々には畏敬の念しか湧いてこなかった

このスクラップは2023/01/07にクローズされました