social.bluecore.net インスタンスのご紹介
はじめに
こんにちわ。localYouserと言います。
私が運用しているsocial.bluecore.netインスタンスの紹介について記事を書きます。
設立経緯
Mastodonの分散アーキテクチャに興味を持ち、JPインスタンスにまずは参加してみました。リモートフォローについてここで学び、自前でインスタンスを立てたほうが色々面白そうだということを知りました。当方の仮想基盤にもそれなりのリソース剰余があったため、それじゃぁ取り組んでみようと始めたのが4月中旬の出来事です。
構築当初はWAF+Dockerモデルで構築をしてみました。ところが色々トラブルが有り、最終的には5月中旬、no-Docker単独モデル(ただし、AP/DB/Redisはサーバ分離)で構成する形となり、現在に至ります。
目的
実はITインフラエンジニア同士で、情報交換をするために作りました。が、私の運営力の無さだったり、精神不安定な一面だったりがあり、なかなかそこら辺はうまくやれていません。実質アクティブユーザは一人ぼっちで、Federationで組まれる人間関係の中で何とかやらせていただいております。
招待制に移行していますので、どなたか興味ある御方は、招待状送付します。
アーキテクチャ
アーキテクチャはこんな感じです。
サーバ・ストレージ構成
自宅VMware仮想基盤(サーバ1台+iSCSI外部ストレージ1台)に仮想マシンを3台立てており、いずれもCentOS7です。OSパッケージについては月次アップデートをかけるようにしています。というわけで、そんなに数多くない自宅オンプレミスインスタンスの一つではあります。
必要なデータは原則NFSマウントされた仮想ストレージ上に配置しています。この仮想ストレージでは、メールサーバのデータやブログコンテンツ/DBデータなども共有している、一種の集合ストレージとなっています。
データの保全
毎日5:00-6:00にrsyncでバックアップを行っています。バックアップは3面構成で行っていて、実家に設置しているReadyNAS、災害対策サーバからs3qlと言うソフトウェアを経由してAWS S3にバックアップをしています。リストア時は基本逆同期を行ってリストアすることを想定していますが、先日実家のIPv4/IPv6環境を固定化出来たので、災対サイト側でのサーバ復旧もあり得るかもしれません。
通信経路
IPv4通信はRTX-3000から静的NAT経由でアクセスする構造になっています。IPv6通信はSEIL/x86を経由してアクセスする構造になっています。いずれもちゃんとパケットフィルタは組んでますよ。
本番環境とその他の環境
本番環境とは別に、ステージング環境(WAF+単独サーバ(オールインワン))とIPv6専用環境(単独サーバ(オールインワン))を構えていますが、基本的にActiveなのは本番環境です。
監視
監視も実施しており、監視マネージャとしてHinemosを使用しています。サービス監視/ログ監視を行っています。
半年ちょい運用してみて
半年ちょい運用していますが、アクティブユーザはだいたい一人になるかなぁと。それでも、Federation通じて仲の良い人、悪い人色々居ますが、都度都度心に折り合いつけてなんとかやってこれてる感じです。このMastodon運用で結構色んな所に対するノウハウ(gitの扱いや、Mastodonが使用する各種コンポーネントに対する理解など)が蓄積したので、これは大事にしていきたいなあ。
発信する内容としては
- 雑談
- ITインフラネタ話
- ブログURLの公開
あたりです。典型的な構ってちゃんなので、勉強して、公開して見せて、フィードバック貰ってという一連の行為で楽しんでます。
今後は
- gitの使い方をもう少しちゃんと理解したい
- AWS S3の連携ソフトウェアであるS3QLをもっと理解したい
- nginxの扱いについて、特にセキュリティ周りの知見を獲得したい
という所に主眼をおいて勉強したいなと思います。出来るかどうかはわからんけど。