Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
自宅サーバでマストドンを立てる hokutodonから学ぶ 自宅サーバでのマストドン構築と運用 2017/6/28 (C) Copyright 1996-2016 SAKURA Internet Inc さくらインターネット株式会社 技術本部 アプリケーショングループ VPSチーム 芦野 光
Slide 2
Slide 2 text
自己紹介 • 芦野 光 • 2016年4⽉ 新卒⼊社 ⼊社2年⽬ • 所属 • 技術本部アプリケーショングループ VPSチーム • 担当業務 • さくらのVPS • Python/Djangoを⽤いたAPI・バックエンド開発 • 社内向けAPIの開発 • 趣味 • ツーリング(普通⾃動⼆輪) • ⾃宅ラック(サーバ) • 今年で10年 • その他 • ICTSCトラブルシューティングコンテスト実⾏委員 2
Slide 3
Slide 3 text
agenda • 本日お話しすること • Mastodonを自宅サーバでの構築・運用のポイント。 • hokutodonを事例にご紹介。 3
Slide 4
Slide 4 text
• 自宅サーバとは 4 自宅サーバまたはホームサーバ(じたくサーバ、Home Server)とは、 主に個人が自宅で趣味または複数台のパソコンを管理として運用する インターネットまたはイントラネット向けのサーバを指す。 (Wikipedia)
Slide 5
Slide 5 text
• hokutodonとは 5 ヨッピーの自宅でマストドンを運営する企画 ※さくらのナレッジ http://knowledge.sakura.ad.jp/other/8752/
Slide 6
Slide 6 text
• hokutodonとは 6 ※さくらのナレッジ http://knowledge.sakura.ad.jp/other/8752/
Slide 7
Slide 7 text
• hokutodonとは 7 ※さくらのナレッジ http://knowledge.sakura.ad.jp/other/8752/
Slide 8
Slide 8 text
• hokutodonとは 8 ※さくらのナレッジ http://knowledge.sakura.ad.jp/other/8752/
Slide 9
Slide 9 text
hokutodonの一連の流れ 事前確認 構築 運用 閉鎖 9
Slide 10
Slide 10 text
事前確認
Slide 11
Slide 11 text
事前確認 • ネットワーク • IPアドレス • そもそも外部からアクセスできるか。 • ルータ • NAPT • 外部からのルータへのアクセスを自宅内のサーバに転送できるか。 • PC(自宅サーバ)のスペック • 性能的に耐えられるか。 11
Slide 12
Slide 12 text
事前確認 • ネットワーク • IPアドレス • 疎通ができた。 • ルータ • 自宅内のPC上のWebサーバへの疎通を確認。 • PC(自宅サーバ)のスペック • CPU:Core i5 / メモリ8G / HDD:2TB 12 事前確認のポイント ・IPアドレスについてプロバイダによって、 1つのグローバルIPアドレスを共有して提供している場合があるので要チェック。 ・HDDの容量は多い方が良いです。(hokutodonでは、1日2GBペースで消費)
Slide 13
Slide 13 text
構築
Slide 14
Slide 14 text
構築 • サーバ • ドメイン取得 • 10分くらいで完了。 • OSインストール • メール送信の設定 • DNSの設定 • 証明書の設定 • Let‘s Encrypt を利用。 • Mastodonインストール • 公式のドキュメントに従ってインストール。 • ネットワーク設定(ルータ) • NAPTの設定 • 外部からのルータへのアクセスを自宅内のサーバに転送する設定。 14
Slide 15
Slide 15 text
構築 • サーバ • OSインストール • メール送信の設定 • DNSの設定 15
Slide 16
Slide 16 text
構築 • OSインストール • 事前にインストールメディアを作成。 16
Slide 17
Slide 17 text
構築 • メール送信の設定 • 自宅サーバからのメール送信 • プロバイダの制限(OB25P)のため送信できない。 • Mailgunを利用。 • 設定(DNS)を確認する機能がある。 • 送信ログなども参照可能。 17
Slide 18
Slide 18 text
構築 • DNSの設定 • DDNSサービスを利用。 • IPアドレスが動的に変わるため、DDNSを利用。 • ドメイン取得元でできるかどうか不明だったため。 • メールのためのDNSレコードの設定 • 設定しないとメールが届かない場合がある。 • SPF(Sender Policy Framework) / DKIM(Domainkeys) 18 構築のポイント ・DDNSサービスを使いましょう。 ドメイン取得元のネームサーバで対応していれば、ベスト。 →ドメイン取得してから DDNSサービスに登録してネームサーバを変更する手間が不要。 ・SPF / DKIMの設定はお忘れなく。 →メールが届かない原因になります。
Slide 19
Slide 19 text
運⽤
Slide 20
Slide 20 text
運用 • hokutodonが満を持して開始 20
Slide 21
Slide 21 text
運用 • 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 登録ユーザ数(管理画面上)
Slide 22
Slide 22 text
運用 • hokutodonの舞台裏では • ユーザが増える • 登録確認メールが送信される • Mailgunの1時間あたりの送信上限数に達する • 確認メールが送信できなくなる 22
Slide 23
Slide 23 text
運用 • hokutodonの舞台裏では • 手動での登録承認作業 23
Slide 24
Slide 24 text
運用 • hokutodonの舞台裏では • リレーサーバを急きょ構築 • さくらのVPS上にPostfixを構築。 • さくらのVPS上のPostfixからメール送信。 24 ポイント ・メール送信サービスの上限数を確認。 ・送信数が多くなることが想定される場合は、プランを変えて送信数の上限数を上げる。 ・メール送信部分だけ、VPS・クラウドを使う手も。
Slide 25
Slide 25 text
運用 • 監視 • Mackerelを利用 • CPU • Load Average、たまに1を超えるぐらい。 • メモリ • 特に足りなくなることはなかった。 • ストレージ(HDD) • 1日に2GB消費。 • ネットワーク • MAX 1.8Mbps • 平常時 500Kbps 25
Slide 26
Slide 26 text
運用 • 監視 • Load Average 26
Slide 27
Slide 27 text
運用 • 監視 • CPU 27
Slide 28
Slide 28 text
運用 • 監視 • メモリ 28
Slide 29
Slide 29 text
運用 • 監視 • ストレージ 29
Slide 30
Slide 30 text
運用 • 監視 • ネットワーク 30
Slide 31
Slide 31 text
閉鎖
Slide 32
Slide 32 text
閉鎖 • hokutodon終了のお知らせ • インスタンスの停止 • データ削除 32
Slide 33
Slide 33 text
閉鎖 • hokutodon終了のお知らせ 33
Slide 34
Slide 34 text
閉鎖 • インスタンスの停止 • 他のインスタンスからの通信が発生している • Mastodonはインスタンス間の通信ができない場合リトライをする • 通信できないとリトライがたまる。 • → 他インスタンスに迷惑をかけることになる。 • 対処:404ページを返してあげる。 • 他のインスタンスにご迷惑をおかけしました。 34
Slide 35
Slide 35 text
閉鎖 • リモートインスタンス間の通信(通常) 35
Slide 36
Slide 36 text
閉鎖 • リモートインスタンス間の通信(障害・閉鎖時) 36
Slide 37
Slide 37 text
閉鎖 • 解決方法 37
Slide 38
Slide 38 text
閉鎖 • データ削除 • 10,000件のメールアドレスなどのユーザ情報。 • 残しておきたくない。 • DBANを使用 • CDブートでHDD上のデータを消去するツール • 削除方式が様々ある。 • 米国国防総省方式 • Gutmann方式 • etc… 38
Slide 39
Slide 39 text
閉鎖 • データ削除 39
Slide 40
Slide 40 text
閉鎖 • 2TBで1日以上かかりました。 40
Slide 41
Slide 41 text
閉鎖 41 閉鎖のポイント ・利用者に事前に閉鎖をお知らせをしましょう。 ・インスタンスの停止をした場合、閉鎖後も404ページを一定期間返すようにしましょう。 (他インスタンスからのリトライ対策) ・ユーザの情報が記録されているので、データ削除を行いましょう。(完全閉鎖する場合)
Slide 42
Slide 42 text
まとめ
Slide 43
Slide 43 text
まとめ • hokutodonのサマリー • 運用期間: 4/25 19:09 〜 4/29 0:42 • ユーザー数: 2,478(管理画面上では約10,000) • トゥート数:29892 • 接続中のインスタンス : 257 43
Slide 44
Slide 44 text
まとめ • 事前確認 • IPアドレスが外から疎通できるものか。 • HDDの容量は足りますか?。 • 構築 • DDNSサービスを使いましょう。 • メール送信サービスの送信上限数を確認。 • 運用 • 不適切なトゥートがないかを確認。 • サーバ / ネットワークの監視(できたら)。 • 閉鎖 • 事前に閉鎖のお知らせを。 • 閉鎖後は404ページを返すように。 • データ削除をお忘れなく。 • Mastodon自体について • 公式のドキュメントを参照 • https://github.com/tootsuite/documentation/tree/master/Running-Mastodon 44
Slide 45
Slide 45 text
まとめ • 自宅サーバを運用するにあたって確認すること (一例) • 家族の同意 • 電気代 • 排熱 • 音 • ネットワーク帯域 • ファシリティ • 設置場所 • 空調 • 電気 • ネットワーク • 耐荷重 45 • キャパシティプランニング • ネットワーク帯域 • ディスク容量 • 可用性 • 保守性 • コスト • 監視 楽しんで運用できることが一番大事!
Slide 46
Slide 46 text
まとめ • 自宅サーバ / ラックの良さ • ネットワーク機器 • LEDがよく光る、ときめきを感じる。 • クラウドの時代だからこそ • クラウドの仕組みを理解する。(H/Wで作られてきたインフラの抽象化) • H/Wへの理解。 • 様々なことができる • 業務では作らない構成を作ってみる。トライアンドエラー • 壊したりループさせても失敗しても大丈夫な環境があることは大事。 • 自己研鑽。 46
Slide 47
Slide 47 text
ご静聴ありがとうございました。 47