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
420
クラウドの作り方(GPUサーバ編)
picasa
0
2.2k
A story until offering openSUSE on Sakura VPS
picasa
0
57
さくらのサービスを支えるAPI開発のお話(仮) - APIStudy#6
picasa
0
42
卒業制作 サーバーの脆弱性情報管理システム
picasa
0
29
Kickstartfileジェネレータを作ってみた
picasa
0
18
Amazon Cognito + SNS + Zabbixでサーバー監視アプリを作ってみた - JAWS DAYS 2015
picasa
0
45
Amazon SNSでZabbixのアラートをプッシュ通知してみた
picasa
0
35
cobbler + koan VPS作成の自動化
picasa
0
17
Other Decks in Technology
See All in Technology
ドメイン名の終活について - JPAAWG 7th -
mikit
33
20k
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
Taming you application's environments
salaboy
0
180
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
120
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
強いチームと開発生産性
onk
PRO
34
11k
Why does continuous profiling matter to developers? #appdevelopercon
salaboy
0
190
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
990
Terraform Stacks入門 #HashiTalks
msato
0
350
Featured
See All Featured
Designing the Hi-DPI Web
ddemaree
280
34k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
A designer walks into a library…
pauljervisheath
203
24k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
The Invisible Side of Design
smashingmag
298
50k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
BBQ
matthewcrist
85
9.3k
Typedesign – Prime Four
hannesfritz
40
2.4k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Designing for humans not robots
tammielis
250
25k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Adopting Sorbet at Scale
ufuk
73
9.1k
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