Mastodonサーバ管理者界隈では一周年でブログを書くのが流行りらしいのですが
そもそもバイク乗りがそういう馴れ合いみたいな流れに乗るわけないでしょ。
とはいえ管理者が開始日を把握してないのもどうかと思ったので調べたら、2017/04/20でした(今日は2018/5/03)。
んで調べて判明したら「せっかくだから書いておくか」という気分になったので、書きたいと思います。流れに乗ったわけではない。
キャブどんについて
一応、珍車・旧車系Mastodonインスタンスを標榜しています。

まあボクが珍車(ER-5)と旧車(GPZ400R)に乗ってますからね!
ただキャブどんと名乗っていながらインジェクションもOK、タイヤの数は問わず、というか草払機やチェーンソーもOKと、その筋の人から見たら「ああなるほど」と思うような感じにしたい、というのが当初の目標でした。
そして今のところ、弊インスタンスの売り文句は
洗車からエンジンスワップ、アスパラガス栽培まで
という感じでしょうか。
ちなみにアクティブメンバーはインジェクションのほうが圧倒的に多いです。
現状について
登録者数は95アカウントだそうです(数ヶ月ぶりに見た)。アクティブは何人かなあ…
ちなみに周囲では「Mastodonには手を出さない」という人がいて、これは初期の頃に意識高い()人たちが
「Twitterは終わった!これからはMastodonの時代だ!」
なんて叫びはじめて、それはまるでゼロ年代初頭の
「Windowsの時代は終わった!これからはLinuxの時代だ!」
みたいな光景だったのが原因なわけで。ばーかばーか。
まあ意識高い()人たちが無かったかのように手を引いた後もリカバリができてないのが、Mastodon界隈の見えない課題でもあります。
悩みどころとしては、クルマとバイクとアスパラガスの話だけではなかなか盛り上がらないところでしょうか。とはいえ雑談系に方針転換すると弊インスタンスの存在意義が問われかねません。なかなか難しいところです。
ただインスタンスに書き込む内容を管理者が制御するのもどうかと思いますので、今後もアクティブユーザに委ねたいと思います。
最初は弱気で「内輪で使ってもらえたらいいかな…」と思っていましたが、内輪じゃないところから登録してくださった方もいて、しかも内輪より積極的にトゥート(書き込み)してLTLを盛り上げて頂いているのでとても感謝しています。今後ともよろしくお願いします。
キャブどんの歴史
弊インスタンスは1年の間に2回、サーバを引っ越しています。そういうインスタンスも珍しいのではないでしょうか。
このエントリを読む人は上記のことはあまり興味が無くて、エンジニアリングとか運用的なところに興味があると思います。
というわけで今回はサーバの引越し話的なところに焦点を当てて書きたいと思います。
ちなみにDockerでなく普通に構築しています。あとデータ移行の方法は冗長になるから書かないのでよろしく。
プランニング
Mastodonインスタンスを運用して必ず発生するのが
金の問題
です。要するにサーバ代ですね。
しかも困ったことにMastodonはマネタイズがほぼ不可能なのです。なので全て自腹です。
しかし趣味で始めるMastodonインスタンスで金の問題に苦しむのは本末転倒です。もっともクルマやバイクの世界ではそういう本末転倒な人しかいないのですが。
とはいえありがちな寄付は募りたくない。金銭面での責任が生じると運用が色々と重くなります。
そこで自分が納得できる方法を考えた結果、こう考えることにしました。
「弊ブログの広告収入の利益をMastodonインスタンスのサーバ代に回す」
と。
創世記 – Time4VPS (KVM)
選定経緯
ブログの広告収入でレンバルバイクを借りてレビューを書いて利益をグルグルしたいわけですから、経費たるサーバ代は1円でも安いのが理想です。ボクは早く新Ninja 400を借りて乗り回したいんです。
ただMastodonのアーキテクチャ的に、とにかくメモリが必要なのは明らかでした。先に末代の運用を始めていたほたせんぱいにTwitterでヒアリングした結果、導き出された条件は
- 初期はメモリ2GBが必須
- Swapに逃がすことを考えたらSSD必須
というわけで選んだのが…Time4VPSです。
激安VPSマニアに割と人気だったのでチョイス。データセンターはリトアニアにあるそうです。今はその安さからマイニングで目を付けられている模様…
当時使っていたのはKVMのメモリ2GBプランで、当時は月7.99EURでした。いま見たら5.99EURに値下がりしてました。ちくしょう。
相手は海外なのでもちろんやりとりは英語になりますが、この手のサーバなんて運用に入ってしまえば課金とメンテナンスのメッセージしか読みませんからね。問題ありません。
問題点
ただ問題点がありました。リトアニアって日本から遠すぎるんです。なので…
レイテンシが300msオーバー
想像がつきにくいと思いますが、格ゲー的に言うと18フレームです。気付いたらKOされてます。
とりあえずインスタンスを使ってると「まあ許容範囲かな」という具合なんですが、SSHでログインして管理する私の気持ちにもなって下さい。キーボード打って入力が追いついてないの、かなりのストレスです。入力して18フレーム分も遅れて文字が表示されるんです。
その後、経路の問題で盛大なパケットロスが発生し「他のインスタンスにも迷惑かかるしよろしくないよね」ということで、国内のサーバに引っ越すことを決意します。
繁栄期 – KAGOYA CLOUD/2 (OpenVZ)
選定経緯
国内のサーバを探してたら、KAGOYAのVPSがバージョンアップしてKAGOYA CLOUD/2なる新サービスが始まってることに気付きました。
よく見るとOpenVZとKVMが選択可能になり、しかも世の中の相場より安い。OpenVZ(メモリ最大2GB)で月864円、KVM(メモリ2GB)で月1,080円。
ただOpenVZはSwapが使えないのでKVMを選択するしか…と思いながら調べたら、どうも最近のOpenVZはSwapが使えるとのこと。
というわけでKAGOYA CLOUD/2でOpenVZインスタンスを1台作ってテストしたところ、あっさりSwapを認識してくれました。月864円のOpenVZマシンに引っ越しです。実はTime4VPSより安いんですよね…
問題点
KAGOYAのOpenVZのいいところはリソースモニタが標準装備なところです。
…が、数週間ほど運用して「メモリ使用率95%超え」のアラートが飛んでくるようになり、様子を見ていたらインスタンスが落ちました。Swap使われてないじゃんこれ。ていうかSwap認識したところで満足してメモリ関連のテスト忘れてた!
しかもメモリのグラフを見ていると、あからさまにメモリリークしている挙動です。ちなみにKVMではこのような挙動は見られません。
OpenVZ、やっぱりダメじゃん…
しかし引っ越したばかりでしたので、すぐに引っ越すのも気が引けます(要するに同じ作業またやりたくない)。恐らくOpenVZ環境特有ですので、原因を追うのも面倒です。ここは手っ取り早く運用でカバーします。
毎朝4時くらいにMastodon関連サービスを再起動するようcronに仕込みました。再起動でメモリが解放され、アラートも止まりインスタンスが落ちることもなくなりました。
そんなわけで以降は特に問題も無く、平穏な日々を過ごしておりました。
現在 – KAGOYA CLOUD (KVM)
選定経緯
MastodonやOpenVZとは全く関係ないのですが、突然こんなことがありました。
KAGOYAのWordPress専用サーバが開始されたのです。

それまで弊ブログは某VPSの1GBプラン(月1,080円)で運用していました。このコストの高さは前から認識していてそのうち引っ越すつもりだったのですが、突然出てきた月432円という破格っぷり。気が付けばブログの引っ越し作業が終わってました。
さてブログの運用費用が半額以下になりましたので、Mastodon側に予算が回せる若干余裕ができたことになります。若干だよ!新Ninja 400借りてレビュー書くんだから!
そして折しもちょうどMastodon v2.3がリリース、Elasticsearchによる全文検索がサポートされました。そうなるとサーバ引っ越し(スペックアップ)の機運が高まります。
ただ人柱の情報を見ていますと、弊インスタンスより大きい規模のところでもElasticsearch込みでメモリ2GBで回せてるようです。しかしSwapが使えないOpenVZでは絶対に無理でしょう。
というわけで同じKAGOYA CLOUD/2のKVM(メモリ2GB)に引っ越しました。これで運用費用は200円ほど高くなり、月1,080円になりました。
問題点
WordPress専用サーバのサポート担当者は、メールの文面(==口の利き方)に十分気をつけた方がいいと思う。
まとめ
さくらのクラウドで運用してるインスタンスが多く「皆さんブルジョワっすなあ」と思ってたので、対極に位置する弊インスタンスの話を書いてみました。へ?2万円クーポンで回してるの?某オッサン清楚かわいいVPSがクーポン配布をやめたことを思い出そう!
金はかけるべきところにかける。そうでもないところは金と手を抜いてベターを目指す
というのは我々、珍車・旧車乗りにとって当然の考え方です。
弊インスタンスもそんな精神で運用しておりますので、今後ともよろしくお願いします。
追伸: Elasticsearch対応はちょっと待って。忙しいから。