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
3.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自宅サーバでマストドンを立てる
hokutodonから学ぶ 自宅サーバでのマストドン構築と運用
Hikaru Ashino
June 30, 2017
More Decks by Hikaru Ashino
See All by Hikaru Ashino
さくらのクラウド高火力プランを使って 大規模言語モデル(LLM)を動かしてみよう
picasa
1
710
クラウドの作り方(GPUサーバ編)
picasa
0
3.3k
A story until offering openSUSE on Sakura VPS
picasa
0
150
さくらのサービスを支えるAPI開発のお話(仮) - APIStudy#6
picasa
0
110
卒業制作 サーバーの脆弱性情報管理システム
picasa
0
73
Kickstartfileジェネレータを作ってみた
picasa
0
69
Amazon Cognito + SNS + Zabbixでサーバー監視アプリを作ってみた - JAWS DAYS 2015
picasa
0
150
Amazon SNSでZabbixのアラートをプッシュ通知してみた
picasa
0
150
cobbler + koan VPS作成の自動化
picasa
0
46
Other Decks in Technology
See All in Technology
プロンプト_きのこカンファレンス2026_LT
yurufuwahealer
0
150
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
12
5.5k
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
1
150
Kotlin 開発のツラミを爆破した話! / Explode the difficulty of Kotlin dev!
eller86
0
160
AIで政治は変わるのか? — 中高生と考えたAI時代の民主主義(東海高校サタデープログラム)
eitarosuda
0
410
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
1
150
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
1
4k
ゼロをイチにする仕事が終わったあと
smasato
0
320
AI Driven AI Governance
pict3
0
300
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
3.6k
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
3
790
AI駆動開発におけるQAエンジニアの役割事例 〜AI駆動開発の現場から〜
kobayashiyorimitsu
0
420
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Paper Plane (Part 1)
katiecoart
PRO
0
9.5k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
270
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Are puppies a ranking factor?
jonoalderson
1
3.7k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Building an army of robots
kneath
306
46k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
490
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Tell your own story through comics
letsgokoyo
1
990
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