Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
自宅サーバでマストドンを立てる
Search
Hikaru Ashino
June 30, 2017
Technology
1
2.6k
自宅サーバでマストドンを立てる
hokutodonから学ぶ 自宅サーバでのマストドン構築と運用
Hikaru Ashino
June 30, 2017
Tweet
Share
More Decks by Hikaru Ashino
See All by Hikaru Ashino
さくらのクラウド高火力プランを使って 大規模言語モデル(LLM)を動かしてみよう
picasa
1
440
クラウドの作り方(GPUサーバ編)
picasa
0
2.2k
A story until offering openSUSE on Sakura VPS
picasa
0
62
さくらのサービスを支えるAPI開発のお話(仮) - APIStudy#6
picasa
0
44
卒業制作 サーバーの脆弱性情報管理システム
picasa
0
30
Kickstartfileジェネレータを作ってみた
picasa
0
19
Amazon Cognito + SNS + Zabbixでサーバー監視アプリを作ってみた - JAWS DAYS 2015
picasa
0
48
Amazon SNSでZabbixのアラートをプッシュ通知してみた
picasa
0
43
cobbler + koan VPS作成の自動化
picasa
0
19
Other Decks in Technology
See All in Technology
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
210
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
190
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
160
Jetpack Composeで始めるServer Cache State
ogaclejapan
2
170
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
100
ハイテク休憩
sat
PRO
2
140
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
12
3.5k
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
2
250
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
160
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
530
Featured
See All Featured
Docker and Python
trallard
42
3.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Typedesign – Prime Four
hannesfritz
40
2.4k
Why Our Code Smells
bkeepers
PRO
335
57k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Designing Experiences People Love
moore
138
23k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Mobile First: as difficult as doing things right
swwweet
222
9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Transcript
自宅サーバでマストドンを立てる hokutodonから学ぶ 自宅サーバでのマストドン構築と運用 2017/6/28 (C) Copyright 1996-2016 SAKURA Internet Inc
さくらインターネット株式会社 技術本部 アプリケーショングループ VPSチーム 芦野 光
自己紹介 • 芦野 光 • 2016年4⽉ 新卒⼊社 ⼊社2年⽬ • 所属
• 技術本部アプリケーショングループ VPSチーム • 担当業務 • さくらのVPS • Python/Djangoを⽤いたAPI・バックエンド開発 • 社内向けAPIの開発 • 趣味 • ツーリング(普通⾃動⼆輪) • ⾃宅ラック(サーバ) • 今年で10年 • その他 • ICTSCトラブルシューティングコンテスト実⾏委員 2
agenda • 本日お話しすること • Mastodonを自宅サーバでの構築・運用のポイント。 • hokutodonを事例にご紹介。 3
• 自宅サーバとは 4 自宅サーバまたはホームサーバ(じたくサーバ、Home Server)とは、 主に個人が自宅で趣味または複数台のパソコンを管理として運用する インターネットまたはイントラネット向けのサーバを指す。 (Wikipedia)
• hokutodonとは 5 ヨッピーの自宅でマストドンを運営する企画 ※さくらのナレッジ http://knowledge.sakura.ad.jp/other/8752/
• hokutodonとは 6 ※さくらのナレッジ http://knowledge.sakura.ad.jp/other/8752/
• hokutodonとは 7 ※さくらのナレッジ http://knowledge.sakura.ad.jp/other/8752/
• hokutodonとは 8 ※さくらのナレッジ http://knowledge.sakura.ad.jp/other/8752/
hokutodonの一連の流れ 事前確認 構築 運用 閉鎖 9
事前確認
事前確認 • ネットワーク • IPアドレス • そもそも外部からアクセスできるか。 • ルータ •
NAPT • 外部からのルータへのアクセスを自宅内のサーバに転送できるか。 • PC(自宅サーバ)のスペック • 性能的に耐えられるか。 11
事前確認 • ネットワーク • IPアドレス • 疎通ができた。 • ルータ •
自宅内のPC上のWebサーバへの疎通を確認。 • PC(自宅サーバ)のスペック • CPU:Core i5 / メモリ8G / HDD:2TB 12 事前確認のポイント ・IPアドレスについてプロバイダによって、 1つのグローバルIPアドレスを共有して提供している場合があるので要チェック。 ・HDDの容量は多い方が良いです。(hokutodonでは、1日2GBペースで消費)
構築
構築 • サーバ • ドメイン取得 • 10分くらいで完了。 • OSインストール •
メール送信の設定 • DNSの設定 • 証明書の設定 • Let‘s Encrypt を利用。 • Mastodonインストール • 公式のドキュメントに従ってインストール。 • ネットワーク設定(ルータ) • NAPTの設定 • 外部からのルータへのアクセスを自宅内のサーバに転送する設定。 14
構築 • サーバ • OSインストール • メール送信の設定 • DNSの設定 15
構築 • OSインストール • 事前にインストールメディアを作成。 16
構築 • メール送信の設定 • 自宅サーバからのメール送信 • プロバイダの制限(OB25P)のため送信できない。 • Mailgunを利用。 •
設定(DNS)を確認する機能がある。 • 送信ログなども参照可能。 17
構築 • DNSの設定 • DDNSサービスを利用。 • IPアドレスが動的に変わるため、DDNSを利用。 • ドメイン取得元でできるかどうか不明だったため。 •
メールのためのDNSレコードの設定 • 設定しないとメールが届かない場合がある。 • SPF(Sender Policy Framework) / DKIM(Domainkeys) 18 構築のポイント ・DDNSサービスを使いましょう。 ドメイン取得元のネームサーバで対応していれば、ベスト。 →ドメイン取得してから DDNSサービスに登録してネームサーバを変更する手間が不要。 ・SPF / DKIMの設定はお忘れなく。 →メールが届かない原因になります。
運⽤
運用 • hokutodonが満を持して開始 20
運用 • 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 登録ユーザ数(管理画面上)
運用 • hokutodonの舞台裏では • ユーザが増える • 登録確認メールが送信される • Mailgunの1時間あたりの送信上限数に達する •
確認メールが送信できなくなる 22
運用 • hokutodonの舞台裏では • 手動での登録承認作業 23
運用 • hokutodonの舞台裏では • リレーサーバを急きょ構築 • さくらのVPS上にPostfixを構築。 • さくらのVPS上のPostfixからメール送信。 24
ポイント ・メール送信サービスの上限数を確認。 ・送信数が多くなることが想定される場合は、プランを変えて送信数の上限数を上げる。 ・メール送信部分だけ、VPS・クラウドを使う手も。
運用 • 監視 • Mackerelを利用 • CPU • Load Average、たまに1を超えるぐらい。
• メモリ • 特に足りなくなることはなかった。 • ストレージ(HDD) • 1日に2GB消費。 • ネットワーク • MAX 1.8Mbps • 平常時 500Kbps 25
運用 • 監視 • Load Average 26
運用 • 監視 • CPU 27
運用 • 監視 • メモリ 28
運用 • 監視 • ストレージ 29
運用 • 監視 • ネットワーク 30
閉鎖
閉鎖 • hokutodon終了のお知らせ • インスタンスの停止 • データ削除 32
閉鎖 • hokutodon終了のお知らせ 33
閉鎖 • インスタンスの停止 • 他のインスタンスからの通信が発生している • Mastodonはインスタンス間の通信ができない場合リトライをする • 通信できないとリトライがたまる。 •
→ 他インスタンスに迷惑をかけることになる。 • 対処:404ページを返してあげる。 • 他のインスタンスにご迷惑をおかけしました。 34
閉鎖 • リモートインスタンス間の通信(通常) 35
閉鎖 • リモートインスタンス間の通信(障害・閉鎖時) 36
閉鎖 • 解決方法 37
閉鎖 • データ削除 • 10,000件のメールアドレスなどのユーザ情報。 • 残しておきたくない。 • DBANを使用 •
CDブートでHDD上のデータを消去するツール • 削除方式が様々ある。 • 米国国防総省方式 • Gutmann方式 • etc… 38
閉鎖 • データ削除 39
閉鎖 • 2TBで1日以上かかりました。 40
閉鎖 41 閉鎖のポイント ・利用者に事前に閉鎖をお知らせをしましょう。 ・インスタンスの停止をした場合、閉鎖後も404ページを一定期間返すようにしましょう。 (他インスタンスからのリトライ対策) ・ユーザの情報が記録されているので、データ削除を行いましょう。(完全閉鎖する場合)
まとめ
まとめ • hokutodonのサマリー • 運用期間: 4/25 19:09 〜 4/29 0:42
• ユーザー数: 2,478(管理画面上では約10,000) • トゥート数:29892 • 接続中のインスタンス : 257 43
まとめ • 事前確認 • IPアドレスが外から疎通できるものか。 • HDDの容量は足りますか?。 • 構築 •
DDNSサービスを使いましょう。 • メール送信サービスの送信上限数を確認。 • 運用 • 不適切なトゥートがないかを確認。 • サーバ / ネットワークの監視(できたら)。 • 閉鎖 • 事前に閉鎖のお知らせを。 • 閉鎖後は404ページを返すように。 • データ削除をお忘れなく。 • Mastodon自体について • 公式のドキュメントを参照 • https://github.com/tootsuite/documentation/tree/master/Running-Mastodon 44
まとめ • 自宅サーバを運用するにあたって確認すること (一例) • 家族の同意 • 電気代 • 排熱
• 音 • ネットワーク帯域 • ファシリティ • 設置場所 • 空調 • 電気 • ネットワーク • 耐荷重 45 • キャパシティプランニング • ネットワーク帯域 • ディスク容量 • 可用性 • 保守性 • コスト • 監視 楽しんで運用できることが一番大事!
まとめ • 自宅サーバ / ラックの良さ • ネットワーク機器 • LEDがよく光る、ときめきを感じる。 •
クラウドの時代だからこそ • クラウドの仕組みを理解する。(H/Wで作られてきたインフラの抽象化) • H/Wへの理解。 • 様々なことができる • 業務では作らない構成を作ってみる。トライアンドエラー • 壊したりループさせても失敗しても大丈夫な環境があることは大事。 • 自己研鑽。 46
ご静聴ありがとうございました。 47