関西地区

教育システム情報学会 2016年度学生研究発表会

クラウドを活用したサーバ学習環境構築システムの開発
Development of a Practice Supporting System for Network Server Software
Configuration Using Cloud Computing
*1

*1

*1

浮田 博揮 , 谷口 義明 , 井口 信和*1*1*1
Hiroki UKITA , Yoshiaki TANIGUCHI , Nobukazu IGUCHI*1
近畿大学 理工学部情報学科*1
School of Science and Engineering, Kindai University
Email: 1310370141t@kindai.ac.jp
あらまし：サーバの構築経験が浅い学習者は，座学による知識の修得に加えて，実機による学習経験を積むことが重要である．しかし，実機を使用するにはコストと時間がかかる．そこで，クラウド上でサーバソフトウェアの演習を可能とするシステムを開発した．本システムは，学習者はサーバソフトウェアのインストール演習に加えて，意図的なミスの設定が施されたトラブルシューティング演習も行うことができることを特徴とする．
キーワード：クラウド，OpenStack，サーバ学習

1.

序論

サーバを構築・運用するにあたり，サーバの構築経験が浅い学習者は，まず書籍などを用いた座学により知識の習得を行う．次に，実機を用いた演習を行うことでサーバに関する理解を深め，実践的なスキルを身につける．
しかし，実機による学習環境の準備にはコストと時間がかかる．また，サーバを操作するには管理者権限が必要であるため，実運用環境に影響を及ぼさない演習専用の学習環境が必要となる．これらの理由から，実機を用いた実践的な演習を行う学習環境の準備にはコストと時間がかかり，手間を要する．
そこで，本研究では，サーバソフトウェアの学習環境の提供を目的として，クラウド上でサーバソフトウェアの実習を可能とするサーバ学習環境構築システム（以下，本システム）を開発した．本システムは，OpenStack(1)によるクラウド環境上にサーバ関連のソフトウェアを導入することで，実機と同様に動作する学習環境の提供が可能であることを活用した学習支援システムである．本システムは，学習者がサーバソフトウェアのインストールから始めるインストール演習に加えて，指導者が事前に用意した意図的なミスを含む設定を施した環境を自動的に構築し，学習者にトラブルシューティングの環境を提供するトラブルシューティング演習を行うことも可能であることを特徴とする．トラブルシューティング演習を行うことは，座学で得た知識の定着という観点から学習に有用である．本シ
ステムを用いることで学習者は，クラウド環境上で，実機と同様に動作する環境でサーバソフトウェアに関する課題に取り組める．

2.

関連研究

OpenStack を活用したサーバ学習には鎌田らの研究(2)や中崎らの研究(3)がある．これらの研究では，コマンドの操作や設定ファイルの履歴を画面に表示することで，指導者が学習者の演習状態を把握することができる．また，原田らの研究(4)では OpenStack を活用してルータの設定を学習できる．この研究では，指導者が学習者に対して課題ネットワークを作成・削除する必要がある．一方，本システム
では，自動的に課題ネットワークを作成・削除することができ，採点も自動的に行うことで指導者の負担を軽減する．

99

図 1 システム構成

図 2 ネットワークトポロジ画面

3.

システム構成ここでは，開発したシステムの概要と機能について述べる．
3.1 システム構成
本システムの構成を図 1 に示す．物理サーバにはクラウド環境を構築・運用する OpenStack がインストールされている．OpenStack は，仮想化されたサーバなどの機器を構築するため，多人数に対して全く同じ環境を提供できる．
また，実機によるコストと時間を削減できる．学習者がWeb ブラウザを用いて本システムにアクセスすると，図 2のようにネットワークトポロジ画面が表示される．そして，学習者が課題を選択すると課題の対象となるサーバ（以下，課題サーバ）を含むネットワーク（以下，課題ネットワー
ク）を自動的に構築する．学習者は，課題サーバに対して関西地区

教育システム情報学会 2016年度学生研究発表会

トラブルの原因を探し出し，指定された課題の状態に修正する．もし学習者が課題サーバの必要な設定ファイルを誤って削除しても，課題サーバを一度削除し，再度起動することで課題開始時の状態に戻せる．今回用意した課題の種
類は，Apache HTTP サーバ・メールサーバ・データベース
サーバの 3 つである．学習者が課題に取り組む場合には，Web ブラウザ上から課題サーバの画面を遠隔操作する
noVNC コンソールを用いるか課題サーバに対して SSH 接続を行う．課題を終えると，本システムの自動採点機能を用いて採点を行う．採点結果が正しければ，構築した課題ネットワークを削除し次の課題に取り組む．

3.2 課題ネットワーク構築機能
トラブルシューティング用の課題は指導者が事前に作成する．課題サーバは Linux 系 OS を使用する．課題サー
バに対して課題に適したサーバソフトウェアをインストールし，意図的にミスを含んだ設定を施す．次に，課題サーバのイメージをスナップショット機能を用いることで，OpenStack に登録する．課題内容の例として，Apache HTTP
サーバの自動起動やドメイン名の設定ミスを解決するものがある．
学習者は，図 2 の「Create Network」ボタンを押下することで，課題を選択する．課題を選択すると，構築用 CGIスクリプトが実行される．この構築用 CGI スクリプトは，課題と紐付けされた構築用シェルスクリプトを呼び出す．
構築用シェルスクリプトでは，選択された課題のネットワークを構築するために必要な OpenStack のコマンドを記述している．そして，一連の処理が終わると図 3 のように課題ネットワークがネットワークトポロジ画面に表示される．図 3 は Apache HTTP サーバの課題を構築している．
これにより，学習者は課題ネットワークを自身で構築することなく課題に取り組める．
また，学習者は図 2 の「Delete Network」ボタンを押下することで，取り組んだ課題ネットワークを自動で削除する．「Delete Network」ボタンが押下されると削除用 CGIスクリプトが呼び出される．この削除用 CGI スクリプト
は，課題と紐付けされた削除用シェルスクリプトを呼び出す．削除用シェルスクリプトには，Linux コマンドとOpenStack のコマンドを記述している．課題ネットワークが削除され，学習者がブラウザをリロードすると図 2 のネットワークトポロジ画面が表示される．これにより，学習者は課題ネットワークを構成する機器を自動で削除でき，次の課題に取り組める．

3.3 自動採点機能
学習者は，図 2 の「Check」ボタンを押下することにより，自身の施した設定が正しいかを確認する．
「Check」ボ
タンが押下されると採点用 CGI スクリプトが呼び出される．この採点用 CGI スクリプトは，課題と紐付けされた採点用シェルスクリプトを呼び出す．採点用シェルスクリ
プトには，課題に関する設定ファイルを課題サーバから取得するコマンドを記述している．取得したファイルと事前に指導者が用意した正答ファイルを比較し採点する．採点
結果は百分率で学習者にポップアップを用いて通知する．
これにより，学習者は課題に取り組んだ結果が正しいかを確認できる．

4.

実験・考察

本システムの性能を確かめるため，課題サーバを構築した際の CPU の使用率とメインメモリの使用量を 10 回計測

100

図 3 課題ネットワーク構築後した．実験で使用した物理サーバのスペックは，OS：CentOS 7(64bit)，CPU：Intel Core i7-6700K，メインメモリ：32GB である．計測内容は，Apache を構築した Web サー
バ 1 台を 10 秒ごとに起動していき，物理サーバの CPU 使用率とメインメモリの使用量を計測した．Web サーバには，仮想 CPU：1 コア，仮想マシンメモリ：1GB を割り当てた．
また，Web サーバの最大起動台数と課題ネットワークの構築が完了するまでの時間を計測した．実験の結果，物理サーバの CPU 使用率とメインメモリ使用量は，Web サーバを構築するごとに増加していった．CPU の平均使用率は 44.5%になり，メインメモリの平均使用量は 12.5GB になった．また，Web サーバの最大起動台数は 46 台で，課題ネットワーク構築が完了するまでの平均時間は 31.5 秒になり，標準偏差は 3.5 秒であった．本システムを利用した演習で想定している 1 つの課題での最大起動台数は，メールサーバの課題ネットワークを構成するメール受信・送信 PC と POP・SMTP サーバの最大 4 台までである．そのため，学習者が課題を取り組むのに十分な課題サーバを確保でき，課題ネットワークを短時間で構築できることを確認した．

5.

結論

本研究では，クラウド環境上にサーバ関連のソフトウェアを導入して実機と同様に動作する学習環境を用意することで，クラウド上でサーバソフトウェアの実習を可能とするサーバ学習環境構築システムを開発した．本システム
は，サーバソフトウェアのインストール演習に加えて，トラブルシューティング演習を行うことも可能であることを特徴とする．本システムを用いることで学習者は，クラウド環境上で，実機と同様に動作する環境でサーバソフトウェアに関する課題に取り組める．
今後は，より複雑なトラブルシューティングを行える課題を用意する予定である．

参考文献(1) 日本 OpenStack ユーザ会：OpenStack クラウドインテ
グレーション オープンソースクラウドによるサービス構築入門，翔泳社(2015)．
(2) 鎌田元樹，桝田秀夫：OpenStack を利用したサーバ設定演習システムの提案，情報処理学会研究報告(IOT)，
Vol.23，No.3，pp.1-6(2013)．
(3) 中崎満晶，越智徹，中西通雄：OpenStack を用いたWeb サーバ設定演習環境の構築，情報処理学会研究報告(IOT)，Vol.32，No.8，pp.1-6(2016)．
(4) 原田和明，中西通雄：OpenStack を利用した仮想ルー
タ設定演習システムの開発，教育システム情報学会，(2015)．