DroidKaigi 2019でネットワークスタッフをした

ご縁あってDroidKaigi2019のネットワークチームに所属し、2日間で延べ約1,500名の来場者にWi-Fi環境を提供しました。
その活動内容のまとめ。

活動中に写真を撮ってなかったことを今後悔している。

前日までの準備

顔合わせ

皆さんにこんにちはをした。
ほとんどの方がiOSDCやらCODEBLUEやらでネットワークスタッフをされていたので、既存チームに飛び込む形となった。

カンファレンスネットワークの構築は3班に分かれて作業を行う。
(もしかしたら共通認識ではなくCONBUさんの慣例なだけかもしれない)

  • Network班
    • 論理設計及びIPアドレス帯の割り振りを行う
  • Wi-Fi班
    • 物理配線設計及びAP(アクセスポイント)の配置決めを行う
    • APの設定をする
  • Server班
    • DHCPなど、当日使用する各種サーバの構築を行う

本人たちの希望と経験者バランスを見ていい感じに分かれた。
自分はサーバーをいじってみたかったのでServer班に所属。サーバ設定は未経験だったがチームの中で唯一当日参加できるメンバーだったためリーダーになった。
この時チームに4人が集まったが、その後準備段階でも皆さんが参加できなくなり最終的に1人班になったのは内緒。

構成

会場の各部屋にスイッチを配備し、AP(アクセスポイント)を設置。これを1箇所のルータにまとめたあと、ONU(という名のHGW)にパスし、DwangoのDC(データセンター)につなげるという構成だった。
サーバ群をDCに配置すると、会場ではAPとSWの設置だけ行うことになる。便利!

これ書いてる時に即席で作った概念図

あと複数の部屋でYoutube Liveによる生中継を行うため、配信系のための別回線を用意し、実際に設置するONUは2台となった。

論理的にはユーザー用、スタッフ用、グローバル用の3つのサブネット(VLAN)が用意され、それぞれアクセスポイントが異なっていた。
会場が一緒だったため、CODEBLUEとほぼ同じ構成だったらしい(具体的にはわからん)。

ホットステージ

何日かけてホットステージ(事前構築)を行う。

Network班はIX(ルータ)やらCatalyst(スイッチ)やらを取り出してconfigの流し込みなんかを行っていた。
Wi-Fi班は新しいWLC(Wireless LAN Controller:複数台のアクセスポイントを一括管理するすごいソフトウェア)に繋ぐためのAP全台リセット、通称「リセマラ」を行っていた。
もはやWi-Fi班だけで30台やるのは間に合わなかったため、結局全員が参加した。

サーバ構築

Server班は結局当日どころか事前準備も自分一人だった。
というわけでいよいよ自分のお仕事である。
他班プロ「サーバとりあえずやってみて、最悪な状態になったら俺らがなんとかする」
ぼく「わかりました、最悪な状態にしておきます!」

それにしてもnmcliコマンドはこの期間でめっちゃ打った。

DHCP

各サブネット用のインタフェースを用意し、それぞれにDHCPを設定する。

DNSキャッシュ

unboundを入れたらだいたい終わってしまった。

監視

監視にはzabbixを使う。
zabbix用のマシンを立ち上げてインストールし、WLCからSNMPポーリングできるように設定する。
…のだが、DB接続がうまくいかず、プロに手伝ってもらった。
SELinuxが原因だったみたい。

前日・当日朝準備

現地の事前準備では各部屋への機材設置をした。
配られた配置図通りにスイッチやAPを置き、情コンにケーブルを繋ぎ、養生テープで隠す。
一通りAPがネットワークにつながることを確認したらOK。
他にもSSIDとパスワードが書かれた紙を各部屋に貼ったりした。

当日

監視画面の構築

「広報力を上げるためにも、いい感じに監視画面を作って」というわけで、Grafanaをインストール。
ひとまず全部屋のAP接続情報やネットワーク流量などが一目で見れるように画面を作った。
SingleStatパネルが車のエンジンみたいに表示できるのがかっこいい。

元々はネットワークチームのブースで展示することを想定していたが、「会場にいる全員が自分の端末で見れるようにして」という指示で、急遽監視サーバにユーザネットワークのインタフェースをつけ、firewalldでアクセス管理をした。

グローバルネットワークの配布

Network班がグローバルネットワークの配布を始めた。
専用のSSIDが生まれ、選ばれしプロたちが集うネットワークが爆誕した。

暇な時間

監視サーバをいじる以外には特にすることがなかったため、同じ部屋にあったスポンサーブースに遊びに行ったり、いつの間にできていたLANケーブル自作コーナーでRJ45コネクタをケーブルに圧着したりしていた。

あとバリスタさんのカフェラテが死ぬほど美味しかった。

全断障害

2日目に全ネットワークが落ちる大障害が発生した。
時系列に振り返る。

11:01 障害発生

モニタリングツールを見ていた人から「今データが取れてないよ?」と指摘される。
確かにGrafanaを見てみると、さっきまで取得できていたどのデータも空っぽになっていた。
さらに横でリーダーさんが「AP13が死にました」と報告。
自分の端末も(APにこそ繋がっているけど)外のネットワークへ繋がらなくなり、周囲やTwitterでもNW死亡報告が相次ぐ。
当時会場にいるNWスタッフは4名、うち経験者は2名で調査が難航した。

11:09 全滅報告

リーダーから会場NW全滅報告が上がる。
会場にいないスタッフにもリモート対応を依頼。同時に公式でも障害報告。

内部の状況を調査しようとしたが、DHCPがDCにあるせいでIPv4アドレスが配られず、スイッチなどの各端末とIPv4通信できない状態に。

周囲のプロたちのおかげで徐々に原因が特定される。ルータより下流は問題なく、ルータとDC間の通信に異常があることが発覚。
でもルータやONUの電源は問題なし。
…あれ?
2台あるONUのうち、左右でステータスランプの点き方が違う…

11:23 ONUご臨終、自動再起動

片方のONUのステータスランプが突然全点灯。そして全消灯。
ONU触ったことなくても明らかにヤバいのがわかる。というか軽くテンパっていた。
リモート組から「収容替えして」と言われたがなんのことか分からず、勝手に再起動していたONUの状況報告だけしていた。

11:27 ONU収容替え

程なくして意味を理解し、壊れたONUからもう片方へのLANケーブル付け替えを決行。
HGWなのでLANの挿し口は4つあり、無事にもう片方へ接続。
何百台と繋がっている線を抜くのは緊張した。コナンが時限爆弾の線を切るみたいな(?)。

11:29 NW復旧

別のメンバーが外へpingできることを確認。
IPv4アドレスがDHCPで配られることを確認。
構内を歩き回ってどのAPでも外につながることを確認。
各APがjoinしていることを確認。

11:35 復旧確認

怒涛の30分間だった…
ここまで大きな障害はそうそう起きなさそう。なかなか貴重な経験をした。

公開処刑

悪事を働いてしまったネコのごとく、首輪(LANケーブル)をつけて反省させた。
てかボソッと「首輪つけて『開催中にNW落としました』ってやるか」って言って作ってたら本当に公開されてしまった笑

こうして僕の字が世界中に晒されることとなる。

事後話

結局ONUはなんで壊れたのかよくわからなかった。
一説によると定期アップデートのせい?とかなんとか。
しかしログを見ても(情報過小で)よくわからなかったし、真相は闇の中である。
CONBUのslackでは「ONUが壊れるとか…」と新鮮な反応が寄せられていた。
やっぱり貴重な経験だった。

接続状況

DroidKaigi半端ないって。
同時に1000台近くデバイスが繋がるもん。そんなんできひんやん、普通。


ここから先はネットワークチームに興味がある人向け。

そもそものはじまり

iOSDC、CODEBLUEとNOCをしていたメンバーから、「DroidKaigiでネットワークスタッフ若干名募集してるらしいんだけど、興味あるでしょ?」と案内される。
当時ネットワークに飢えていた自分は二つ返事でエントリーした。

で、ネットワークチームのリーダーさんとSkypeで面接をすることに。
DroidKaigiこんな感じですよ〜とか、基本的にはCODEBLUEと同じだから覚悟してね〜(意訳)とか言われた。
まぁ何だろうがやってやるさって気概を話し、無事に通過した。

ネットワーク構築に興味がある皆さんへ

ネットワークチームは常にメンバー募集をしています!
僕も紹介してくれたおかげで参加できたので、周りに参加したい人がいたらチームに紹介して恩返しや恩送りをしたい。
というわけで興味ある人がいたら是非連絡ください!

コメント

タイトルとURLをコピーしました