学生たちがシステムのトラブルシューティングの腕前を競う「ICTトラブルシューティングコンテスト」(通称:トラコン)。第10回大会となる今回は「ICTトラブルシューティングコンテスト2018」(ICTSC2018)として開催されています。さくらのナレッジでは、過去2回にわたりICTSC2018の模様をレポートしてきました。

そして、予選を勝ち上がったチームによる本選が3月2日(土)と3日(日)の2日間、調布市にあるNTT中央研修センタにて行われました。今年度のチャンピオンを決める闘いをレポートします!

予選と本選の違い

1次予選および2次予選のレポートでも紹介しましたが、トラコンの予選はオンラインで行われました。出題される問題は仮想インフラ上に構築され、参加チームは学校や自宅などからネットに接続して課題にチャレンジしました。これに対して、本選は全チームが1つの会場に集まり、オフラインのイベントとして開催されます。そして参加チームに課される問題も、ルータやスイッチなどの実機を使ったトラブルシューティング問題が出るのが大きな特徴です(予選と同じく仮想インフラを使った問題もあります)。

出場チームのテーブルにはルータやスイッチが山積みに

また、予選は1次・2次とも1日でしたが、本選は2日間にわたって行われます。もっとも、2日間といっても徹夜でトラブルシューティングにあたるようなブラックなものではなく、両日とも問題に解答できる時間は日中に限られています。初日の夜には懇親会もあり、参加者同士や運営メンバーと交流できるように配慮されています。

本選の環境構築とリハーサルを行う「ホットステージ」

本選では実機を使った問題を出題するので、環境構築においても各種機材を物理的に接続し、出題者の意図通りの動作をするかテストする必要があります。そこでトラコンでは、本選の約2週間前から「ホットステージ」と呼ばれる期間を設け、ここで集中的に環境構築や接続試験を行っています。今回は以下の工程で作業を行いました。

  • 2/16(土)-22(金)
    シスコシステムズ合同会社(六本木)にて作業。ここで基本的な設定を行い、本番に近い環境で出題できるかどうかをテスト。
  • 2/23(土)-3/1(金)
    本選の会場であるNTT中央研修センタに機材を搬送し設営。本選用の問題環境を構築してリハーサル。

筆者がホットステージの取材に行った2/27(水)には、すでに本選に出場する16チーム分の機材が会場に設置され、運営委員の皆さんによるリハーサルや設定作業が行われていました。

ホットステージにて設定作業に励む運営委員の皆さん

本選を支えるインフラの概要

ここで、ホットステージで構築した本選用のインフラについて、技術的なポイントを簡単にご紹介します。詳細はトラコンのウェブサイトに解説記事が掲載されていますのでそちらをご覧ください。

  • ルータ・スイッチ・サーバ・WiFi機器などを会場内に設置して物理インフラを構築するとともに、さくらのクラウドにKubernetesクラスタを構築して出題システムや監視基盤を設置。
  • 仮想インフラを作った問題環境を、運営委員が開発に携わるn0stack(ノースタック)という仮想基盤を用いて実装。これにより、問題環境を16チーム分展開する作業が従来の10%の時間で完了した。(n0stackの詳細は下記の資料を参照)
  • 運営委員が開発したNAVT(Network Address VLAN Translation)という技術を使い、問題に使用するVMやネットワーク機器を全チーム同一の設定値で展開できるようにした。(以前はIPアドレスや設定値がチームごとに異なっており、競技中の問い合わせ対応が手間取る要因となっていた)
  • セグメントルーティングやMPLSを用いて、同じ問題は全チーム同一の仮想インフラにて提供するように設定。こうすることで問題環境に障害が発生したときに一部のチームだけが解答可能な状態になる不公平性が除去される。
  • WiFiは2.4GHz帯での提供を全廃して5GHz帯のみで提供。

n0stackやNAVTなど、トラコンのような大規模インフラが必要なイベントだからこそ開発された独自の技術も使って環境を構築しているところに、学生とは思えないレベルの高さを感じました。



ホットステージは楽しい?運営委員にインタビュー

トラコンの運営は、トラコンに出場経験のある学生たちによって行われています。ホットステージを含む本選の運営ももちろん学生が主体です。ホットステージでどんなことをやっているのかを、ICTSC2018運営委員の源波陸さん(東京農工大学)にお聞きしました。

ーー 源波さんはトラコンに関わって何回目ぐらいですか?

源波:参加者として出たのが2回で、その後、運営委員になって今回で2回目です。

ーー ホットステージでは本番と同じ環境を構築してリハーサルをすると聞きましたが、具体的にはどんなことをやるんですか?

源波:リハーサルは、出場チームに出題する問題の環境を作って、実際に解いてみるというものです。1問につき2チーム分ぐらいの環境を作り、運営委員を「Aチームの問題を解く組」「Bチームの問題を解く組」「運営組」に分けて、動作確認や解答のテストなどを行います。

ーー 本選に出場するのは16チームですよね?

源波:そうです。ですので、リハーサルが済んだら、その環境を16チーム分展開します。ちなみに本選では全部で20問ぐらいの問題を出すので、その数だけこの作業をやることになります。

ーー それはかなりの作業量ですね。1日で全部やるんですか?

源波:いえ。問題を作るのも運営委員の仕事なんですが、ホットステージに入る前に全問そろうわけではないので、準備ができたものからやっています。

ホットステージにて作業中の源波さん(左)

ーー なるほど。ところで今回構築した出題環境について、特徴や新たな試みがありましたら教えてください。

源波:一番の特徴は、なんと言っても自作している仮想化基盤であるn0stackを採用したことでしょうね。以前はCloudStackやOpenStackでやってたんですが、使いにくかったのでn0stackにしました。まだ開発中なので不完全なところもありますが、使ってよかったと思っています。その他には、これも完全には使いこなせていませんがセグメントルーティングに挑戦していることでしょうか。

ーー 構築において苦労した点や、遭遇したトラブルはありますか?

源波:WiFi関連のトラブルは毎回ありますね。例えば前回は、5GHz帯で接続した人がDFS(Dynamic Frequency Selection)というチャンネル自動変更機能の影響を受けて一時的につながらなくなるというトラブルがありました。WiFiは無線という性質上、不安定になることが多いので、品質を保つのが難しいですね。

ーー それでは最後に、運営委員をやっていて楽しいところを教えてください。

源波:トラコンに参加すると毎回、普通は触れない機材を触れるのが楽しいですね。特にホットステージは集中して作業できるので、いろんなことを勉強できてうれしいです。

ーー どうもありがとうございました!本選の運営もがんばってください!

いよいよ本選開始!

このような準備を経て、いよいよ本選の日を迎えました。出場チームはチームごとに指定された席に着いて競技開始を待ちます。そして実行委員会による開会あいさつの後、競技が開始されました。

競技開始前の会場

もっとも今回は、競技開始直前に出題システムにトラブルが発生し、ウェブでの問題表示や解答ができない状態になってしまったため、問題を紙に印刷して配り、解答も紙に書いて提出していました。初日の午後にはシステムも復旧し、当初の予定通り問題の閲覧や解答、競技関連情報の表示がなされるようになりました。

競技者用の画面

参考までに、上図が出題システムにおける競技者用の画面です。中央に自チームの順位と得点、1つ上の順位の得点、さらに得点上位3チームについてはチーム名と得点が表示されます。その左右には運営からのお知らせなど競技関連の情報が掲示されます。

運営用の画面

一方、運営者用の画面には、全チームの順位と得点が表示されます。また、点数の伸び具合をグラフで表示したり、問題ごとの得点状況を一覧できるページも用意されていました。

得点分布でわかる(!?)学生の技術的関心事

本選では全部で22問の問題が用意されました。個々の問題の解説はトラコンのウェブサイトに記事が掲載されていますのでそちらをご覧いただくとして、ここでは全体的な傾向をお伝えします。

問題の分類

今回出題された問題を、運営側では以下のように分類していました。

  • 仮想化技術:XenやQEMUのトラブル
  • 軽量コンテナ:DockerやKubernetesのトラブル
  • ネットワーク機材:VLAN、NAT、MP-BGPなどのトラブル
  • ローミドル:Linuxのパッケージ管理やファイル管理のトラブル
  • ネットワーク+サーバ連携:SNMP、ファイル転送、WebRTCのトラブル
  • 近代ネットワーク:IPv6関連のトラブル
  • ミドルウェア:SSHログインやLDAPのトラブル

このうち「ネットワーク機材」と「ネットワーク+サーバ連携」は実機を使った問題が出題されました。特に、前回まではネットワーク機器のベンダーがCiscoだけだったのですが、今回はここにアライドテレシスが加わり、マルチベンダー環境での問題が出せるようになりました。また、この他に、上記に分類されない問題として、ウォームアップ的な問題やn0stackを使ってもらう問題が用意されていました。

ネットワーク機材に関する問題の例

高得点を挙げるためのチーム作り

これだけ多様な問題が20問以上も出されると、1人で全問に解答するのは能力的にも時間的にも無理があります。そこにチーム戦の意義があります。特に今回は「1次予選から本選までメンバーを変更できない」という規定が設けられました。これはチームで課題に取り組む体制作り、つまりチームビルディングの大切さを学んでほしいという運営側の狙いによるものです。参加チームにも取材したところ、チームの中にサーバが得意な人やネットワークが得意な人がいて、各々に合った問題を手分けして担当していたようです。競技中の会場を見ていても、複数人で一緒にトラブルシューティングしているチームを多く見かけました。

得点分布から見えるもの

1人で問題に挑むよりもチームで取り組むことで得点は伸びますが、それでも限られた時間の中ですべての問題に正解するのは至難の業で、傾向としては選手たちが得意な分野の問題が多く解かれることになります。正解できるかどうかは問題の難易度にもよるので安易には結論付けられませんが、多くのチームが得点を挙げた技術領域は今の学生たちが高い関心を持っている分野であり、逆に無得点のチームが多いのは問題が難しすぎるか学生の関心が低いかのどちらかであることが予想されます。運営用の画面では問題別の得点状況が一覧できたので、それを見ながら少し傾向を探ってみました。

運営用の画面では問題別の得点状況も表示

それによると、得点を挙げたチームがもっとも多い分野は「軽量コンテナ」、次いで「ローミドル」でした。特に軽量コンテナ問題は3問とも半数以上のチームが正解していて、学生たちの関心の高さが表れているように思います。一方、得点したチームがもっとも少なかったのが「近代ネットワーク」、すなわちIPv6問題です。特にこの分野は3問あったにもかかわらず初日に得点したのがわずか1チーム1問のみで、得点のほとんどは2日目に入ってからのものでした。つまり正解したチームも問題を解く順番としては後回しにしていたことがわかります。問題が難しかったのか、学生たちの関心が低いのかはわかりませんが、少し気になる結果でした。

競技終了!栄冠はどのチームに?

そうこうするうちに競技は2日目の15時をもって終了し、運営による採点を経て順位が決定しました。成績上位のチームをはじめとする表彰チームは以下の通りです。(新人賞は、メンバーの過半数がトラコン初参加のチームが対象で、そのうちもっとも高得点を出したチーム(上位入賞チームを除く)に授与されます)

  • 優勝(1位):東京工業大学「NaruseJun」
  • 準優勝(2位):東京都立産業技術高等専門学校「ジャージャー」
  • 敢闘賞(3位):法政大学「RAT::Zero」
  • 新人賞:麻生情報ビジネス専門学校「なんでもいいよ」

優勝したNaruseJun

優勝チームのNaruseJunは、競技開始当初からトップ争いに加わり、初日の14時以降は一度も首位を譲ることなく独走での優勝となりました。全配点の80%を超える高い正解率も注目すべき数字です。また、NaruseJunやRAT::Zeroのような予選1位チームが本選でも入賞するのは順当ですが、準優勝のジャージャーは1次予選ではベスト10圏外でした。そこで学校の先生にも協力してもらって特訓したとかで、2次予選は9位で本戦出場圏内にすべりこみ、そして本選で見事に2位にまで進出しました。1年という時間の中でも、先生の指導や学生の努力次第で上位に入れる余地は十分にあることが示されたと思います。

受賞された学生の皆さん、おめでとうごさいます!

2位のジャージャーには当社執行役員の江草陽太(左端)よりトロフィーを贈呈しました!

そしてトラコンはつづく

こうして2018年度のトラコンは閉幕しましたが、表彰式の最後に、ICTトラブルシューティングコンテストの代表を務める伊勢幸一(さくらインターネット取締役)から次回大会・ICTSC2019の予告がありました。ICTSC2019は以下の日程で行われます。

2019年 5月-7月 トラコン予備校(2次予選落選および未出場校対象)
7月1日(月) 参加チーム募集開始
8月31日(土) オンライン1次予選
9月-11月 トラコン予備校(1次予選参加チーム対象)
12月7日(土) オンライン2次予選
2020年 2月29日(土)-3月1日(日) 本選(会場:NTT中央研修センタ)

次回予告。本選会場は今回と同じNTT中央研修センタ。

特に次回大会は、予選実施前にもトラコン予備校が開催されます。自分もトラコンに参加してみたい、あるいは学生を参加させたいと思った方は、まずはトラコン予備校に参加してみるのがよいと思います。後日、実行委員会から開催希望の募集があると思いますので、トラコンのウェブサイトをチェックしてください。この記事を読んでトラコンにチャレンジする学校や学生が出てくれたらとてもうれしいです。

そして最後になりましたが、1次予選から本選まで、記事作成に多大なご協力をいただきましたトラコン実行委員ならびに運営委員の皆さん、競技に参加された学生の皆さんに厚くお礼申し上げます。本当にありがとうございました!

それではまた、次回のイベントでお会いしましょう!