Slide 1

Slide 1 text

とある自宅サーバーの変遷 〜自宅サーバーは、いいぞ。〜 unchama (うんちゃま) in Piyogrammer Conference 2021 2021/12/04(Sat) 1

Slide 2

Slide 2 text

お前誰やねん おなまえ:unchama(うんちゃま) どんな活動をしている? • マイクラマルチサーバー 整地鯖 鯖主(5年目突入) • YouTube「散財系鯖主うんちゃま」(登録者2万人) • 最近はブイ、ウマ、サケにお熱 • リアルではITエンジニアしてます うんちゃまと申します 2

Slide 3

Slide 3 text

今日話すこと • なぜ私は自宅サーバーを始めたのか • 自宅サーバーの変遷 〜うんちゃまの場合〜 • 自宅サーバーのメリット/デメリット • まとめ 3

Slide 4

Slide 4 text

今日話すこと • なぜ私は自宅サーバーを始めたのか • 自宅サーバーの変遷 〜うんちゃまの場合〜 • 自宅サーバーのメリット/デメリット • まとめ 4

Slide 5

Slide 5 text

なぜ私は自宅サーバーを始めたのか • 大学4年頃に公開マイクラサーバーを開始 • ニコ生配信用/ほぼ身内向けのマイクラ鯖が前身 • これをリニューアルして公開サーバー化 • 回線弱者(上り10Mbps!!!)だったので友人複数名に代理ホストしてもらってた • 通信量おおすぎてその友人に回線停止予告が届いた • 規制がなさそうな回線業者を選んで自宅ホストすることにした(これがおわりのはじまり) • 平凡なマイクラ鯖は既にいっぱいあったので、なんか差別化してみたい • プログラミングを勉強してプラグインを自作するきっかけ 鯖主ってなんかカッコいい!! 俺もマイクラサーバー立てて 有名鯖主になりてぇ〜!!!(若気の至り) 5

Slide 6

Slide 6 text

ちな、どんな鯖? おなまえ : ギガンティック☆整地鯖 いつから?: 2016年7月 特徴は? : アホみたいに整地できる。 Minecraft Java Edition版(つまりPC版)です。 くわしくは『整地鯖』で検索! 国内サーバリストランキング元1位 (ここ数年で抜かれた。しゅごい…) アホみたいに整地する しくみを独自開発 6 ロゴ(妻の直筆)

Slide 7

Slide 7 text

今振り返って思うこと • 継続は力なり • ただし継続する為の目的は複数あったほうが良い • 私の場合は「技術実験場」「マイクラ鯖」「ボランティアコミュニ ティ運営」「ようつべネタ」 • 途中1個2個飽きることはあっても全部飽きることは少ない • 最初から複数なくても良い(僕の場合ようつべは2020年から) ぶっちゃけ最初の動機は適当で良くって なんか続けてると複利的に面白くなる感じ 7

Slide 8

Slide 8 text

今日話すこと • なぜ私は自宅サーバーを始めたのか • 自宅サーバーの変遷 〜うんちゃまの場合〜 • 自宅サーバーのメリット/デメリット • まとめ 8

Slide 9

Slide 9 text

外見的な変化 9

Slide 10

Slide 10 text

この頃はまだ可愛かった。 NURO光 初代鯖機 一時期ノートPCも 実戦投入していた 自宅サーバーの様子(2016年頃) 10

Slide 11

Slide 11 text

検証機 3台 NWと電源 NASとか マイクラ鯖 本番機4台 お酒 寝床 ※人間の 今年だけで 4枚壊れたHDD 新居に自宅サーバー持って 行った時に妻に書かれた愚痴 自宅サーバーの様子(2021年頃) こ の あ と 滅 茶 苦 茶 説 得 し た 11

Slide 12

Slide 12 text

物理構成内容 ➢サーバー機器 ➢自作PC,ミニタワーPC,NAS ➢CPU30コア超 ➢メモリ256GB超 ➢ストレージ数TBぐらい ➢NW機器 ➢ルーター:RTX830(やまは) ➢スイッチ:AT-X510-28GTX(あらいどてれしす) ➢固定回線はNURO光(公開サーバー用) ➢普段使いの回線は別(ネットワークも分離) 12

Slide 13

Slide 13 text

思っていること(外見編) • 真横で寝るので静音性を重視している • 故にラックマウントサーバーより自作PCをチョイスしがち • できれば家庭内別居したい(爆音機材も気になるので) • ただし部屋が足りない • 自宅サーバーを背景にライブ配信すると映える • 故に家庭内別居すべきかどうか非常に悩ましい 13

Slide 14

Slide 14 text

システム構成的な変化 14

Slide 15

Slide 15 text

初期のころ ➢プレイヤーは自宅固定回線に付与されたグローバル IPアドレスに直接接続 ➢サーバーにはubuntuなどのOSをインストール ➢各サービスは(CPU,メモリ,ディスク的に)空いてる サーバーにとりあえずおったてる プレイヤー The Internet ルーター/スイッチなど うんちゃまの家 サーバー#1 (自作PC) サーバー#2 (ノート) NAS (Synology) マイクラ鯖 マイクラ プロキシ マイクラ鯖 マイクラ鯖 ファイル鯖 (バックアップとか) web鯖 DB鯖 (解説)マイクラ鯖論理構成 マイクラ プロキシ マイクラ 鯖 マイクラ 鯖 マイクラ 鯖 ➢ マイクラプロキシ=マイクラ専用のプロキシサーバー (BungeeCordが有名) ➢ 複数のマイクラサーバーを1つのアドレスで公開 ➢ 各マイクラ鯖がワールドデータやプレイヤーデータをそ れぞれ持ってる 15

Slide 16

Slide 16 text

初期のころ ➢プレイヤーは自宅固定回線に付与されたグローバル IPアドレスに直接接続 ➢サーバーにはubuntuなどのOSをインストール ➢各サービスは(CPU,メモリ,ディスク的に)空いてる サーバーにとりあえずおったてる プレイヤー The Internet うんちゃまの家 サーバー#1 (自作PC) サーバー#2 (ノート) NAS (Synology) マイクラ鯖 マイクラ プロキシ マイクラ鯖 マイクラ鯖 ファイル鯖 (バックアップとか) web鯖 DB鯖 (解説)マイクラ鯖論理構成 マイクラ プロキシ マイクラ 鯖 マイクラ 鯖 マイクラ 鯖 ➢ マイクラプロキシ=マイクラ専用のプロキシサーバー (BungeeCordが有名) ➢ 複数のマイクラサーバーを1つのアドレスで公開 ➢ 各マイクラ鯖がワールドデータやプレイヤーデータをそ れぞれ持ってる DDoS攻撃が来た!! しょっちゅう回線が落ちるように 攻撃者 入れん ルーター/スイッチなど 16 の課題その1

Slide 17

Slide 17 text

攻撃対策の為の構成変更 ➢DDoS対策を謳っているクラウド事業者を探す ➢そこにリバースプロキシを立てて、プレイヤーの通 信を中継させる ➢自宅固定回線のグローバルIPは管理者以外知らない 状態にする ➢攻撃はリバースプロキシが置いてある方にいく ➢自宅サーバーで公開しつつ クラウド事業者のパウワァを享受する うんちゃまの家 サーバー#1 (自作PC) サーバー#2 (ノート) NAS (Synology) クラウド事業者 リバース プロキシ プレイヤー 攻撃者 遊べる ルーター/スイッチなど 17

Slide 18

Slide 18 text

攻撃対策の為の構成変更 ➢以降、不特定多数に公開するサービスは直接公開せ ず何かしらのクッションを置くようになった ➢例えば、webはCloudflareのCDNを使ったり ➢ざっくりこんな感じだけど、時々対策の穴を突かれ たりするので実は年数回ぐらい構成見直したり チューニングしたりしてる ➢残念ながらクラウド事業者使えば終わりではない うんちゃまの家 サーバー#1 (自作PC) サーバー#2 (ノート) NAS (Synology) クラウド事業者 リバース プロキシ プレイヤー 攻撃者 遊べる ルーター/スイッチなど 18

Slide 19

Slide 19 text

クラウド事業者 リバース プロキシ プレイヤー うんちゃまの家 サーバー#1 (自作PC) サーバー#2 (ノート) マイクラ鯖 マイクラ プロキシ マイクラ鯖 マイクラ鯖 web鯖 DB鯖 初期のころ ➢プレイヤーは自宅固定回線に付与されたグローバル IPアドレスに直接接続 ➢サーバーにはubuntuなどのOSをインストール ➢各サービスは(CPU,メモリ,ディスク的に)空いてる サーバーにとりあえずおったてる (解説)マイクラ鯖論理構成 マイクラ プロキシ マイクラ 鯖 マイクラ 鯖 マイクラ 鯖 ➢ マイクラプロキシ=マイクラ専用のプロキシサーバー (BungeeCordが有名) ➢ 複数のマイクラサーバーを1つのアドレスで公開 ➢ 各マイクラ鯖がワールドデータやプレイヤーデータをそ れぞれ持ってる 特定の物理サーバーにサービスが依存 している。壊れたらその物理サーバー が直るまでサービス停止するし、復旧 方法も物理サーバー毎に異なる 直すのだるい 故障 ルーター/スイッチなど 19 の課題その2

Slide 20

Slide 20 text

クラウド事業者 リバース プロキシ プレイヤー うんちゃまの家 サーバー#1 (自作PC) サーバー#2 (自作PC) 仮想環境の導入 ➢各物理サーバーには仮想環境用OSをインストール ➢ ハイパーバイザーと呼ばれる(うちはProxmox) ➢仮想マシンを立ててその上に各サービスを構築 ➢各仮想マシンのディスクは分散ストレージへ(うちはCeph) ➢ 3つの物理サーバーに同一データを同期保管 ➢ 1台障害までダウンタイムなし サーバー#3 (自作PC) 分散ストレージ 仮想マシン マイクラ鯖 仮想マシン マイクラ鯖 仮想マシン web鯖 仮想マシン DB鯖 仮想マシン マイクラ プロキシ ルーター/スイッチなど //TODO ここに粋なコメントを書く 仮想マシン マイクラ鯖

Slide 21

Slide 21 text

クラウド事業者 リバース プロキシ プレイヤー うんちゃまの家 サーバー#1 (自作PC) サーバー#2 (自作PC) 仮想環境の導入 ➢ 以下のようなメリットを受けられるようになった: サーバー#3 (自作PC) 分散ストレージ 仮想マシン マイクラ鯖 仮想マシン マイクラ鯖 仮想マシン web鯖 仮想マシン DB鯖 仮想マシン マイクラ プロキシ ルーター/スイッチなど サーバー#1 (自作PC) サーバー#2 (自作PC) サーバー#3 (自作PC) 分散ストレージ 仮想マシン 仮想マシン 仮想マシン 仮想マシン ➢ 物理サーバーが壊れると仮想マシ ンが他の物理サーバーで自動復活 メモリ上のデータは飛ぶので突然停止しているこ とに変わりはないけどダウンタイムは減らせる サーバー#1 (自作PC) サーバー#2 (自作PC) サーバー#3 (自作PC) 分散ストレージ 仮想マシン 仮想マシン 仮想マシン ➢ 仮想マシンを物理サーバー間で楽 に移動できる(起動中でもOK) サービス止めずに物理サーバーをメンテナンスで きたりするのでとても良い バックアップも仮想環境用OS側でディスク丸ごと サクっとれるんで楽ちんです(Proxmoxの場合) 仮想マシン マイクラ鯖 仮想マシン 故障 仮想マシン 仮想マシン 21

Slide 22

Slide 22 text

思っていること(システム構成編) ➢公開サービスが乗っているとモチベーションがわいてくる ➢可用性向上、セキュリティ対策、バックアップリストアなど… ➢お勉強を兼ねていろいろな部位の耐障害性を高めていきたい ➢まだまだ単一障害点が多い(極力ダウンタイムが無いと嬉しいサービスとか,NW機器とか) ※金銭的に可能な範囲で… ➢もっとイケイケなインフラ管理手法の模索 ➢コンテナ化,くばねてす,OpenStackなど。たまにYouTubeで検証配信してます(宣伝) ➢色々なクラウドサービスが台頭してきてるけど今のところ全部クラ ウドはなさそう ➢クラウドに全部置くと超高いので適材適所に置く ➢これって、ハイブリッドクラウド!?!?(かっこいい) 22

Slide 23

Slide 23 text

今日話すこと • なぜ私は自宅サーバーを始めたのか • 自宅サーバーの変遷 〜うんちゃまの場合〜 • 自宅サーバーのメリット/デメリット • まとめ 23

Slide 24

Slide 24 text

自宅サーバーのメリット ➢システム設計の勘所が湧く ➢あ~ここ蔑ろにするとこう困るんだな〜みたいな知見 ➢トラブルシューティング力がつく ➢「ログ見ろ」としつこく唱える方の気持ちがわかるようになったり ➢愛着がわく ➢ペットみたいなもんです。かわいいね(脳死) ➢自宅サーバー界隈に蔓延る方々が多様性に富んでておもろい ➢逸般の誤家庭シリーズ、ぜひご覧ください 24 サーバーが家にあると、ちょっと嫌な ことがあっても「まあ家に帰ればサー バーあるしな」ってなるし仕事でむか つく人に会っても「そんな口きいてい いのか?私は自宅サーバーとよろしく やってる身だぞ」ってなれる。戦闘力 を求められる現代社会においてサー バーと同棲することは有効

Slide 25

Slide 25 text

自宅サーバーのデメリット ➢燃えるかもリスク ➢5年やってるけどまだ燃えてない。機材選定やホコリ掃除は気にしてる ➢トラブると休日が消えたり、平日の睡眠時間が削れる ➢だって楽しいんだもん(脳死) ➢趣味でも本業でもエンジニアリングしてることによる弊害 ➢本業が忙しい時に趣味でも全力エンジニアリングすると普通に病む ➢まあまあ維持費高い(月3万円ぐらい) ➢社会人になってからはある程度カネで解決することも可 ➢ようつべの収益がマジでありがたい ➢同居人(妻と子供)の理解が必要 ➢妻が趣味を過剰に制限されると人間的に死ぬ事に理解のある人で良かった ➢子供との共存方法は今後の課題 25 (なんかデメリット多くね…?)

Slide 26

Slide 26 text

今日話すこと • なぜ私は自宅サーバーを始めたのか • 自宅サーバーの変遷 〜うんちゃまの場合〜 • 自宅サーバーのメリット/デメリット • まとめ 26

Slide 27

Slide 27 text

まとめ ➢自宅サーバーは自分の技術力に合わせて育てていく 育成シミュレーションゲームみたいなもんです ➢気軽にレベル1から始めていけばOK ➢もっといろんな人に自宅サーバーを始めてほしい ➢なんでもいいので適当な理由を付けてとにかく始めよう ➢公開サービスを乗っけるとより実践的な知識が身につく ➢サービスを管理する手間はあるけど「アプリあってこその基盤」 自宅サーバーは、いいぞ。 27

Slide 28

Slide 28 text

ごせいちょう ありがとう ございました 28