学生たちがシステムのトラブルシューティングの腕前を競う「ICTトラブルシューティングコンテスト」(通称:トラコン)。2014年の第1回大会からこれまでに9回の開催を重ね、コンテストの規模も大きくなっています。2017年に行われた第7回大会の模様は、さくらのナレッジでもレポートしました。

第7回大会の模様

そんなトラコンもこのたび10回目を迎え、「ICTトラブルシューティングコンテスト2018」(ICTSC2018)として開催されることになりました。さくらのナレッジでは、この大会の模様と、大会を支えるシステムや運営に携わる人々の姿をレポートします!

トラコンの開催趣旨

トラコンは、専門学校生や高専生、大学生、大学院生を対象とした、サーバネットワークのトラブルシューティングや運用技術を競うコンテストです。参加チームには、ルータやスイッチ、サーバなどで構成されたシステムがそれぞれ与えられます。それらのシステムには何らかのトラブルが潜んでいるのですが、それを突き止め、問題を解決します。いかに多くの問題を解決できたかや、対応の的確さを競うのが競技内容となっています。

これを見ると単に技術力の高さを競うだけのコンテストかと思われるかもしれませんが、トラコンの開催趣旨はそれだけではありません。コンテストに向けたチームビルディングや競技におけるグループワークを通して共同作業の大切さを学ぶこと、メンバーが卒業して入れ替わってもコンテストへの参加を継続できるように学内の後輩たちを育成すること、コンテストを通じて知り合った学生同士が社会人になってもITエンジニアとして交流しコミュニティを形成することなど、学生たちに人としての成長を促し、ICT産業に興味を持ってもらうことも本コンテストの重要な趣旨となっています。

トラコンの運営は、任意団体「ICTトラブルシューティングコンテスト」と、各大会の実行委員会ならびに運営委員会により行われています。団体の代表は、当社取締役の伊勢幸一が務めています。詳しくは「ICTトラブルシューティングコンテストとは」をご覧ください。

ICTSC2018の概要

それでは、今回で10回目となる大会・ICTSC2018の概要を、従来の大会との違いも交えてお伝えします。

大会概要

詳しくはトラコンのウェブサイトの「ICTトラブルシューティングコンテスト2018 実施要項」および「ICTトラブルシューティングコンテスト 2018 参加チーム募集要項」に掲載されていますが、要約すると以下のようになります。

  • 同じ学校に在籍する3-5名の学生でチームを編成し、エントリーします。1つの学校から複数のチームが出場してもかまいません。
  • 2018年8月に一次予選をオンラインにて開催します。これはシード校を決めるための予選で、上位最大2チームがシード校として二次予選を免除され本選に進出します。
  • 残ったチームで、2018年12月に二次予選を行います。これもオンラインで実施します。こちらは上位8-9チームが本選に進出します。(シード校と合わせて10チームが本選進出)
  • 二次予選を通過できなかったチームの中から、実行委員会の選考により5チームが推薦枠として本選に進出します。
  • 2019年3月に、予選を突破した15チームにより本選が行われ、優勝を争います。

ちなみに参加チーム数は、昨年までは年2回開催で各回25チーム程度でしたが、今回から年1回開催になって参加しやすくなったのか、49チームもエントリーがありました。本選に出られるチーム数は以前と変わっていないので、予選が激化したことになります。

今大会における変更点

トラコンは開催のたびに大会の仕組みを少しずつ改定していますが、今大会で変更されたのは以下の点です。

  • 従来は半年ごとに大会を開催していましたが、今年から年1回の開催とし、各チームは大会期間中ずっと固定メンバーで臨みます。これは、チームビルディングやグループワークを学んでもらいたいという運営側の意向によるものです。
  • 従来は予選と本選を1回ずつ行っていましたが、今回からシード校を選出するための一次予選が追加されました。シード校には本選会場までの交通費が支給されます。
  • 参加チームに出される問題は、従来は社会人で構成された実行委員会が問題を作成していました。そこを今回、一次予選については学生で編成された運営委員会が問題を作ることにしました。二次予選は従来通り実行委員会が問題を用意します。

オンライン予選の仕組み

トラコンの予選はオンラインで実施されますが、どんな問題が出題されるのか、そして問題の提供や採点はどんなシステムを使っているのかを見てみましょう。

筆記問題と実技問題

トラコンの問題は、ITインフラに関する知識を問う筆記問題と、実際に手を動かしてトラブルに対応する能力を見る実技問題に大別されます。筆記問題は4択などの選択式で出題されるものが多いです。問題の一例を下図に示します。(問題の解説はトラコンのウェブサイトに載っているのでご覧ください)

筆記問題の出題画面

一方、実技問題は、ルータやサーバなどで構成されたシステムと、解決すべき課題が提示されます。参加チームは機器にログインして調査するなどしてトラブルシューティングを行い、課題に回答します。課題としては、例えば東京と大阪の2拠点をVPNで接続する問題などが出題されました。

実技問題の出題画面

なお、ICTSC2018の一次予選で出題された問題については、トラコンのウェブサイトに「ICTSC2018 一次予選問題 まとめ」と題する解説記事がありますので、詳しく知りたい方はそちらをご覧ください。

問題提供システム

オンライン予選を実施するには、問題を参加チームに出し、回答してもらい、それを採点し集計するという作業が必要になります。これを手際よく運営するために、実行委員会の手により問題提供システムが構築されました。これはもともと、トラコンに出場する学生を養成する「トラコン予備校」という企画があり、そのために作ったオンライン学習システムを予選にも活用したものです。

システムは筆記問題と実技問題で分かれており、筆記問題はRELATEというOSSのeラーニングソフトウェアを使用しています。実行委員会によると、RELATEは多様な出題形式に対応していることや、採点や成績管理などの機能が備わっていること、ソフトウェアとしても洗練されていることなどが良い点だそうです。

RELATEで作成した筆記問題のスタート画面。トラコン予備校のために作成したシステムを活用。

しかし実技問題は、トラブルシューティングを行う問題環境を用意する必要があるため、RELATEだけでは実現できません。特に約50チーム分の問題環境を用意するとなると、実機では機材の量が膨大になってしまいます。そこで今回は、さくらのクラウドなどの仮想インフラ上に全チームの問題環境を作成しました。これを含む実技問題の提供システムを実行委員会ではpstateと呼んでいます。

pstateの問題管理画面

pstateで最大の特徴となる問題環境の作成は、Terraformでネットワーク構成や各機器のスペック、設定などを記述し、Terraformからさくらのクラウドを操作するためのプラグインである「Terraform for さくらのクラウド」を使うことで、全チームの問題環境を自動生成しています。

Terraformで問題環境を記述

ちなみに、一次予選を支える問題提供システムの基盤と全チームの問題環境を合算すると、仮想マシン約2000台ほどになるそうです。

実技問題提供システムの構成図(もともとはトラコン予備校のシステム構成図)

一次予選の模様

このような準備を経て、8月25日(土)にICTSC2018の一次予選が開催されました。オンライン予選なので参加チームは各自の地元で問題にチャレンジします。そして実行委員や運営委員は、六本木にあるシスコシステムズの会議室をお借りして運営にあたりました。また、関西在住の運営委員は大阪工業大学に集まり、ビデオ会議システムで東京と接続して参加しました。

一次予選の運営にあたるスタッフの皆さん

この日の予選は13:00-18:00の5時間で行われました。運営委員は各チームの回答状況を確認したり、参加者からの問い合わせに対応したりします。実行委員は問題提供システムが正常に動作しているかどうかの監視や、問題環境の不具合(例えば設定ミスなど)が疑われるときの対応を担当しました。もともと、500ユーザ(1チーム5人として100チーム)が同時にアクセスしても耐えられるようにシステムを設計し、事前に性能テストも行って動作を確認していたので、本番でも特に問題なく稼働しました。

問題提供システムの性能監視画面

また、予選問題に関しても、一部の実技問題において問題環境の不具合があったりしましたが、全体的には大きな混乱はありませんでした。参加チームの動向は正確にはわかりませんが、システムへのアクセス状況を見ると、回答が簡単な筆記問題を先に済ませ、その後で時間のかかる実技問題に取り組むチームが多かったようです。予選開始直後は問い合わせもなくスタッフものんびりしていたのですが、終了が近づくにつれて実技問題に関する問い合わせが増え、スタッフが対応に追われる場面が多く見られました。

運営委員にインタビュー

トラコンの運営は学生の皆さんが務めています。どんな想いで関わっているのか、運営委員の新留一穂さん(日本工学院八王子専門学校)にインタビューしてみました。

一次予選の運営に携わる新留さん(写真中央)

ーー トラコンにはいつ頃から関わっているのですか?
新留:参加者としてはICTSC5からですね。ICTSC9から運営入りしました。

ーー 9というと前回ですね。運営に入ったのは、先輩から話があったのですか?それとも自分で手を挙げたのですか?
新留:自分で手を挙げました。もともとトラブルシューティングが好きだったのと、選手として参加するうちに「この問題はどんな人が作っているのだろう?」という興味が湧いてきて、それで運営に参加してみようと思いました。

ーー なるほど。選手として出るのと運営で関わるのでは違いますか?
新留:やっぱり違いますね。特に学生だと、サーバやネットワーク機器をこんなにたくさん触れる機会はないので。それから、コンテストの会場作りを学生同士でやれるのがとても楽しいです。

ーー 今回の予選では何を担当されたのですか?
新留:主に問題の管理ですね。問題そのものは他の委員の人達が考えますし、自分でも作るのですが、その作られた問題の文章と用語の統一や、各問題の配点を考えるのが私の仕事です。

ーー 問題は各自が自由に考えるのですか?
新留:運営委員のミーティングで、出題分野とか、誰がどの分野の問題を作るといった分担をある程度決めます。あとは各自で考えるって感じですね。

ーー 出てきた問題を見て、当初イメージしていたようなものになりましたか?
新留:そうですね。だいたいイメージ通りにできました。

ーー 今日の予選の運営は順調にいきましたか?
新留:予想よりはトラブルが少なかったですね。まあ順調だったと思います。

ーー これから二次予選、本選と続きますが、今後に向けて一言お願いします。
新留:一次予選に関しては、準備にちょっと余裕がなかったですね。次はスケジュールにもう少し余裕を持たせたいです。

ーー ありがとうございました。良い大会になるよう願っています!

採点と集計、そしてシード校決定!

一次予選が終わると、運営委員の皆さんは採点と集計の作業に入ります。選択式の筆記問題は機械的に採点できますが、文章で回答する問題や実技問題は運営委員が回答を見て点数を付けます。それぞれの問題に対して「○○ができていたらxx%の得点を与える」といった採点基準があらかじめ決められていて、それに従って採点が行われます(一次予選の問題まとめページには、一部の問題について採点基準が明記されています)。採点が済んだら集計を行い、各チームの順位を決定します。

これらの作業を、予選が行われた8月25日(土)の夕方から翌日にかけて行い、8月27日(月)には上位チームおよびシード校が発表されました。結果の詳細はトラコンのウェブサイトに記事がありますのでそちらをご覧いただくとして、本選進出となるシード校は以下の2チームとなりました。

  • 法政大学 「RAT::Zero」(一次予選成績1位)
  • 金沢工業大学 「@himarjin」(本選開催都道府県以外からの参加チーム中成績1位)

両チームの皆さん、おめでとうございます! 本選もがんばってください! もちろん他のチームの皆さんも二次予選突破を目指してがんばってください!

おわりに

一次予選の運営を拝見しましたが、皆さんとてもしっかりと動かれていて、学生中心のメンバーでもこれだけやれるのだと感心しながら見ていました。しかし、学生だけですべてができるわけではなく、バックに社会人の実行委員会がしっかりついていることも見逃せません。そこには、機材や会場などの物資を提供するだけではなく、このような大会を通じて後進を育成したいという熱意が感じられました。多くの業界/コミュニティがメンバーの高齢化問題に悩んでおり、おそらくインフラエンジニアにおいてもそれは例外ではないのですが、トラコンのような取り組みがきっかけでこの分野に興味を持ち、これからのインフラを担うエンジニアがここから輩出されることを願っています。

ICTSC2018はまだ一次予選が終わったばかりで、これから二次予選、本選へと続いていきます。さくナレでも引き続きレポートしていきますので、お楽しみに!