Upgrade to Pro — share decks privately, control downloads, hide ads and more …

自宅サーバでマストドンを立てる

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

 自宅サーバでマストドンを立てる

hokutodonから学ぶ 自宅サーバでのマストドン構築と運用

Avatar for Hikaru Ashino

Hikaru Ashino

June 30, 2017
Tweet

More Decks by Hikaru Ashino

Other Decks in Technology

Transcript

  1. 自宅サーバでマストドンを立てる hokutodonから学ぶ 自宅サーバでのマストドン構築と運用 2017/6/28 (C) Copyright 1996-2016 SAKURA Internet Inc

    さくらインターネット株式会社 技術本部 アプリケーショングループ VPSチーム 芦野 光
  2. 自己紹介 • 芦野 光 • 2016年4⽉ 新卒⼊社 ⼊社2年⽬ • 所属

    • 技術本部アプリケーショングループ VPSチーム • 担当業務 • さくらのVPS • Python/Djangoを⽤いたAPI・バックエンド開発 • 社内向けAPIの開発 • 趣味 • ツーリング(普通⾃動⼆輪) • ⾃宅ラック(サーバ) • 今年で10年 • その他 • ICTSCトラブルシューティングコンテスト実⾏委員 2
  3. 事前確認 • ネットワーク • IPアドレス • そもそも外部からアクセスできるか。 • ルータ •

    NAPT • 外部からのルータへのアクセスを自宅内のサーバに転送できるか。 • PC(自宅サーバ)のスペック • 性能的に耐えられるか。 11
  4. 事前確認 • ネットワーク • IPアドレス • 疎通ができた。 • ルータ •

    自宅内のPC上のWebサーバへの疎通を確認。 • PC(自宅サーバ)のスペック • CPU:Core i5 / メモリ8G / HDD:2TB 12 事前確認のポイント ・IPアドレスについてプロバイダによって、 1つのグローバルIPアドレスを共有して提供している場合があるので要チェック。 ・HDDの容量は多い方が良いです。(hokutodonでは、1日2GBペースで消費)
  5. 構築 • サーバ • ドメイン取得 • 10分くらいで完了。 • OSインストール •

    メール送信の設定 • DNSの設定 • 証明書の設定 • Let‘s Encrypt を利用。 • Mastodonインストール • 公式のドキュメントに従ってインストール。 • ネットワーク設定(ルータ) • NAPTの設定 • 外部からのルータへのアクセスを自宅内のサーバに転送する設定。 14
  6. 構築 • DNSの設定 • DDNSサービスを利用。 • IPアドレスが動的に変わるため、DDNSを利用。 • ドメイン取得元でできるかどうか不明だったため。 •

    メールのためのDNSレコードの設定 • 設定しないとメールが届かない場合がある。 • SPF(Sender Policy Framework) / DKIM(Domainkeys) 18 構築のポイント ・DDNSサービスを使いましょう。 ドメイン取得元のネームサーバで対応していれば、ベスト。 →ドメイン取得してから DDNSサービスに登録してネームサーバを変更する手間が不要。 ・SPF / DKIMの設定はお忘れなく。 →メールが届かない原因になります。
  7. 運用 • hokutodonの舞台裏では • ユーザが増える • 開始10分で200ユーザ 21 0 200

    260 454 550 563 650 850 2900 3800 10000 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 2017/4/25 19:09 2017/4/25 19:20 2017/4/25 19:24 2017/4/25 19:33 2017/4/25 19:37 2017/4/25 19:39 2017/4/25 19:42 2017/4/25 20:00 2017/4/25 22:48 2017/4/26 12:47 2017/4/28 23:32 登録ユーザ数(管理画面上)
  8. 運用 • hokutodonの舞台裏では • リレーサーバを急きょ構築 • さくらのVPS上にPostfixを構築。 • さくらのVPS上のPostfixからメール送信。 24

    ポイント ・メール送信サービスの上限数を確認。 ・送信数が多くなることが想定される場合は、プランを変えて送信数の上限数を上げる。 ・メール送信部分だけ、VPS・クラウドを使う手も。
  9. 運用 • 監視 • Mackerelを利用 • CPU • Load Average、たまに1を超えるぐらい。

    • メモリ • 特に足りなくなることはなかった。 • ストレージ(HDD) • 1日に2GB消費。 • ネットワーク • MAX 1.8Mbps • 平常時 500Kbps 25
  10. 閉鎖 • インスタンスの停止 • 他のインスタンスからの通信が発生している • Mastodonはインスタンス間の通信ができない場合リトライをする • 通信できないとリトライがたまる。 •

    → 他インスタンスに迷惑をかけることになる。 • 対処:404ページを返してあげる。 • 他のインスタンスにご迷惑をおかけしました。 34
  11. 閉鎖 • データ削除 • 10,000件のメールアドレスなどのユーザ情報。 • 残しておきたくない。 • DBANを使用 •

    CDブートでHDD上のデータを消去するツール • 削除方式が様々ある。 • 米国国防総省方式 • Gutmann方式 • etc… 38
  12. まとめ • hokutodonのサマリー • 運用期間: 4/25 19:09 〜 4/29 0:42

    • ユーザー数: 2,478(管理画面上では約10,000) • トゥート数:29892 • 接続中のインスタンス : 257 43
  13. まとめ • 事前確認 • IPアドレスが外から疎通できるものか。 • HDDの容量は足りますか?。 • 構築 •

    DDNSサービスを使いましょう。 • メール送信サービスの送信上限数を確認。 • 運用 • 不適切なトゥートがないかを確認。 • サーバ / ネットワークの監視(できたら)。 • 閉鎖 • 事前に閉鎖のお知らせを。 • 閉鎖後は404ページを返すように。 • データ削除をお忘れなく。 • Mastodon自体について • 公式のドキュメントを参照 • https://github.com/tootsuite/documentation/tree/master/Running-Mastodon 44
  14. まとめ • 自宅サーバを運用するにあたって確認すること (一例) • 家族の同意 • 電気代 • 排熱

    • 音 • ネットワーク帯域 • ファシリティ • 設置場所 • 空調 • 電気 • ネットワーク • 耐荷重 45 • キャパシティプランニング • ネットワーク帯域 • ディスク容量 • 可用性 • 保守性 • コスト • 監視 楽しんで運用できることが一番大事!
  15. まとめ • 自宅サーバ / ラックの良さ • ネットワーク機器 • LEDがよく光る、ときめきを感じる。 •

    クラウドの時代だからこそ • クラウドの仕組みを理解する。(H/Wで作られてきたインフラの抽象化) • H/Wへの理解。 • 様々なことができる • 業務では作らない構成を作ってみる。トライアンドエラー • 壊したりループさせても失敗しても大丈夫な環境があることは大事。 • 自己研鑽。 46