仮想 ICT 環境の実現に向けて―PBL による ICT 演習環境の設計と構築―
山口真之介, 林 豊洋, 大西淑雅, 甲斐郷子, 西野和典
九州工業大学

学習教育センター

九州工業大学情報科学センター

九州工業大学大学院情報工学研究院
ict-x@ltc.kyutech.ac.jp
概要：我々は，PBL による ICT 演習の実施を行うための学習環境として計算機・ネットワークが持つべき機能を実現する仮想 ICT 環境を提案する．仮想 ICT 環境は、クラウドシステムと認証システムを統合することで実現可能である．本稿では，仮想 ICT 環境について提案し，クラウドシステム部分についての実現方法および性能評価について報告する．

1 はじめにが知られている．我々は，ICT 演習をターゲッグループの中で他者と協働しながら，獲得しトとした教育活動（講義・演習）や学習活動（自た知識や技能を能動的に活用するアクティブ・主，PBL）での利用を想定し，仮想のインスタラーニングが注目されている．なかでも，課題ンスとユーザ認証サービスを組み合わせた環境を共有し協働的にプロジェクトを遂行する構築を目指す．また，クラウドコンピューティ

PBL（Project Based Learning）が工学の教育ングのメリットを活かし，学生の研究活動の支分野では注目され，実践例も多く報告されてい援や業務系サービスが導入できる構造とする．
本稿では，はじめに PBL の枠組みで ICT 演る[1][2][3]．
PBL では，多様な価値観や能力を有する学生習を行うための学習環境について提案する．次たちが，主体的かつ対等な立場で相互作用を図に学習環境の持つべき機能について定義し，設りつつ，協働しながら未知の課題を解決するこ

計方針と部分的に実現した機能の実装についてとが求められる．ソフトウェアの共同開発等と述べる．最後に基本性能，講義を想定した性能

いった ICT 演習を PBL で実施するためには，テストの結果について報告する．

学生グループを任意に形成して，相互作用を図りつつ協働で課題を解決することができる学習

2

PBL による ICT 演習の実施に向けて演習の実施に向けて環境が必要となる．

2.1 従来の教育
従来の教育との教育と PBL における計算機の利用における計算機の利用

このような背景の中，九州工業大学では，様々従来型の ICT 演習は，図 1 のように学生は演な ICT 演習を PBL で実践するためのシステム

習室に集合し，ネットワークを含めて統一された計算機資源を使い，一斉に取り組んでいる．

を導入した．本システムは，クラウドコンピュ基本的なアルゴリズムの理解や操作，スキルのーティング技術を用いており，利用者に対してICT 演習を行う為の学習環境を提供できる．
クラウドコンピューティングを用いた学習環習得を行う場合，この形態は有効である．
一方，ICT 演習を PBL で実施する場合，各グループは異なる課題に取り組み，異なる解決方

境としては，九州大学キャンパスクラウドシス
テム[4]や北海道大学アカデミッククラウド[5]法を求める事が基本である．図 2 に示すように，学生には各自の計算機とは別に，プロジェクト習得，命令の順番の違いによる実践体験，理想毎に，課題解決に取り組む作業場として利用で的なデータベースの運用に関する課題が想定さきる，ネットワークを含めた計算機資源が求めれる．

られる．本稿では，この共同の作業場として用III. 複数の計算機とネットワークを用いた演習

いる，ネットワークを含めた計算機資源をワー

学生あたり一台のネットワークに接続されたクスペースと呼ぶ．

計算機を用いて，サーバ側とクライアント側に分かれて演習を行う．理工系大学では，学生時代にネットワーク管理者として経験を得ること統一されたが望ましく，本演習においてそのような管理運計算機資源営作業の一部を習得する．
IV. グループ演習（セキュリティコンテスト
a1・・・・a6
a1・・・・a6（Capture the Flag））
グループを形成する複数の学生が演習課題に

図 1 従来の ICT 演習の形態取り組む．課題毎にワークスペースを構築し，学習ターンによってグループの形成やワークスペースの割り振りが変わる必要がある．具体的な課題例としては，セキュリティに問題のあるワークスペースa1b2

A ( a1,a2, a3 )サーバにアクセスして，複数のセキュリティホールを探す競技などがある．

a2
b1

ワークスペースB ( b1,a3b2, b3 )2.3 PBL に求められるワークスペースに求められるワークスペースの機能
ワークスペースの機能
PBL で学生が利用するワークスペースは，従b3

来の ICT 演習で用いる計算機資源とは異なり，A, B は別の課題、課題に応じて異なるワークスペースを使う多様なカスタマイズに対応できる必要がある．
以下に必要な機能を述べる．

図 2 協働学習で求められる ICT 演習の形態
2.3.1 計算機資源構成のカスタマイズ機能
計算機資源構成のカスタマイズ機能
2.2 PBL で行う ICT 演習の具体例
演習の具体例
PBL で行う ICT 演習として，本学では以下のワークスペースは，自身が持つ CPU の性能や，メモリとハードディスクの容量を自由にカ具体例を想定している．

スタマイズできる必要がある．例えば，具体例

I.

II では計算機の性能が高すぎると，データベーソフトウェアの共同開発グループで一つのワークスペースを使用して，スの構造や命令の違いから，処理時間の違いを課題に対して共同で作業を行う．与えられる問体感する事が難しくなる．このように演習課題

題に対し，学生は解決のためのソフトウェアやに適した構成が求められる．

システムを共同で構築する．

2.3.2 ユーザのグルーピング機能
ユーザのグルーピング機能

II. 共有サーバ上での演習（データベース演習）

具体例 I においては，複数の学生がワークス

教員が演習用のワークスペースを用意し，学生ペースのユーザとなる．具体例 II ではワークスがその上で演習実験を行う．データベースシス

ペースのユーザは，講義を受講している学生にテムを対象とした場合，データベースの構造の限定される．このように，利用形態ごとにワークスペースとユーザの対応付けが変化するため，提供できるシステムを，仮想 ICT 環境と定義す

複数のユーザからなるグループを定義し，ワーる．

クスペースに割り当てる仕組みを作りこむ必要

3

仮想 ICT 環境の設計
環境の設計
仮想 ICT 環境を実現する為には，多数の計算がある．
2.3.3 ネットワーク構成の変更
ネットワーク構成の変更機能
構成の変更機能機及びネットワーク資源を要する．これを従来ワークスペースのネットワーク接続も，自由の演習室にある様な計算機群で提供する場合，に構成できるものでなければならない．具体例

課題毎に異なる計算機のセットアップを要する

III では，ワークスペースは学内のネットワークなど，管理者の負担が大きくなる．に接続している．また具体例 II では，ワークス我々は，高度に計算機資源を仮想化するクラIaaS

ペースは学外からも接続可能にして，ユーザがウ ド シ ス テ ム の 一 種 で あ る演習できる条件を広げた方が使いやすい．

（Infrastructure as a Service）を導入し，これ

一方，ユーザが利用するワークスペースは，ら の 問 題 を 解 決 す る ．具 体 的 に は ， Apache

十分なセキュリティ要件を満たしていない可能

CloudStack[6]を採用し，ワークスペースをイン性がある．具体例 IV では，セキュリティホースタンスとして提供できる仮想 ICT 環境を構築ルのあるワークスペースを用意している．これする（図 3）．ただし，CloudStack には仮想 ICTらのワークスペースは，外部からの接続を遮断環境での演習に必要な計算機資源の利用申請おしておく必要がある．また，緊急のトラブルがよび承認の機能が不足しているため，機能拡張発生した場合，ワークスペースを迅速にネットやカスタマイズを行う．

ワークから切り離す事もあり得る．ワークスペ3.1 ワークスペースの論理設計

ースのネットワーク構成は，CPU 等の性能のカ利用者の利便性を考慮し，Public ネットワー

スタマイズとは異なり，常時自由に設定・更新クに設定できる Global IP を利用者に割り付けできる機能が求められる．

可能な CloudStack 拡張ネットワークモデルをこれらの機能を持つワークスペースを，複数採用する．拡張ネットワークモデルが有する仮

図 3：仮想 ICT 環境の構成

想ルータを設定することで，キャンパス LANタンスに追加可能なボリュームとして，インスからのリモートアクセスが可能となる．

タンスとは別に作成できる．これにより，インPublic ネットワークとキャンパス LAN とのスタンスの利用期限とは別に，利用者がデータ接続には，ファイアウォール装置を設置し，利を保持できる．

用者（Global IP）毎のアクセス管理を可能とす

3.4 ユーザのグルーピング

る．例えば，学生のインスタンスでは，インタ教職員が作成した複数のインスタンスに，学ーネットからのアクセスを禁止したり，教職員生を簡単に割り付ける機能を提供する．本機能のインスタンスではアクセスを許可したりできは，LDAP サーバと専用のスキーマ，Web インる．また，学生のインスタンスが万が一キャンターフェースからなる認証システムによって提パス LAN に悪影響を与える場合は，強制的に供する（図 4）．利用者は，インスタンス毎の学遮断措置をとることもできる．

生リストを作成し，制限ユーザとして認証シス
テムに登録する．これにより， LDAP サーバ内

3.2 テンプレートの活用
テンプレートの活用のエントリに属性値を追記する．

CloudStack では，利用に必要なアプリケーシ
ョンやライブラリをテンプレートとして複数用利用者意できる．標準的なテンプレートには初期値と制限ユーザして，本学すべての利用者にインスタンスへの認証システムのリスト群リモートアクセスを許可する設定を与える．イ

Web インターフェース

ンスタンスへのリモートアクセスを制限したい

LDAP サーバ

場合は，利用者からの申請に基づき，認証サー専用スキーマ
バが動的に制限を行えるようにする．この際に必要となる起動スクリプトを含んだテンプレー

属性情報があるユーザのみ認証を許可
トを用意する．また，様々な種類のテンプレートの管理コストを下げるために，テンプレート保守の自動化を行えるようにする．
ワークス

ワークス

ワークス

ペース A

ペース B

ペース Z

3.3 利用者に対する利用者に対する制限に対する制限
限られた計算機資源を有効活用するために，

図 4：ユーザのグルーピングに必要な要素インスタンスの利用申請の際に，利用期限を設定できるようする．この期限を過ぎるとシステ
インスタンスは起動直後に，起動スクリプト
ム側から自動でインスタンスを停止する．さらから認証システムにグルーピング情報の有無のに一定期間を経過するとインスタンスは削除さ問い合わせを行う．
れる仕組みを取り入れる．これにより長期的な認証システム側では，問い合わせ元のインス利用が必要な場合に対応しつつ，利用されなくタンスの Mac アドレスと IP アドレスをキーとなった計算機資源の回収とインスタンス自身のして，CloudStack のデータベースを検索する．
セキュリティリスクを下げることができる．
インスタンスとその利用者を特定した上で，なお，利用者がデータを保持できるボリュー

LDAP 認証のフィルタ設定に必要な属性値を返ムについては，利用期限を設定しないこととしす．起動スクリプトは，返された属性値を使った．管理者が設定した値以内であれば，インスて認証のフィルタリングの設定を更新する．

ト，表 2 に CloudStack 管理サーバの構成を示

4 仮想 ICT 環境‐ワークスペース‐環境‐ワークスペース‐の実‐ワークスペース‐の実
装す ．ネッ トワー クスイッ チには Juniper 製

設計した仮想 ICT 環境中のワークスペースに

EX4550-32T-AFO を採用し，各ホストは 10GbE

ついて，CloudStack 4.4 を用いて実装を行った．

×2 で接続した．

サービスホスト上で動作するハイパーバイザにユーザに提供可能な物理資源量の合計は，は KVM を採用し，KVM インスタンス上でワ

CPU：60 コア，メモリ：768GB である．各サークスペースが稼働する．

ービスホストは SAN スイッチを経由しプライ

表 1：サービスホスト
ホスト

HP DL360p Gen8×3 台

CPUIntel Xeon E5-2670 v2 2.50GHz（10 コア）×2

マリストレージに接続した．なお，システム監視サーバ（Zabbix[7]他）も配置した．

５ 性能評価
性能評価
基本的な能力を調査するため，50 人規模の講メモリ

256GB （PC3-14900R）

ディスク

Raid1+SP（300GB 6G SAS×3）義を想定した 2 種類の一斉負荷実験（実験 1,2）

プ ライマ リス

8GFC HBA×2を用いて評価を行った．実験 1 では，通常利用では発生しない負荷を与え，システムの耐久性

トレージ接続10GbE 533FLR-T アダプタ（2 ポーLANとシステム構成上のボトルネックの有無を確認する（50 台のインスタンスの一斉作成と起動）．

ト）プ ライマ リス

3PAR StoreServ 7200 Storage×1

トレージ

台：

ディスク

Raid5（900GB 6G SAS×48）実効構成

容量約 27TB

サービスあり実験 2 では，実際に利用できる演習規模を確認する（64 台のインスタンスからのプログラムの一斉実行）．

5.1 実験 1：：インスタンス一斉作成と起動
インスタンス一斉作成と起動
実験 1 ではあらかじめ登録したインスタンス

プロセッサ※各ディスクの回転数は 10krpm である

表 2：CloudStack 管理サーバ
サーバ

HP DL360p Gen8×1 台

CPUIntel Xeon E5-2630 v2 2.90GHz×2

メモリ

16GB （PC3L-12800R）

ディスク

Raid5+SP（300GB 6G SAS ×4）

セ カンダ リス

H221 HBA×2

50 台を一斉に作成，起動させインスタンスのコンソールを表示するまでのシステムの状態を測定した．1 台のインスタンスは CPU1GHz，メモリ 4GB に設定し，OS は CentOS6.0 フルイ
ンストールのテンプレートから展開する．
5.1.1

CPU 資源表 3 にインスタンス作成から起動時の，管理
サーバ，サービスホスト 1~3 での CPU の最大トレージ接続
LAN

10GbE 533FLR-T アダプタ（2 ポー利用状況を示す．
管理サーバはシステムの Web ユーザインタト）
セ カンダ リスMSA 2040 Storage SAS×1 台ーフェイスやインスタンスの管理のみを担っているため，余裕があることが分かった．各サー

トレージ

ビスホストでは，インスタンステンプレートフ
ディスク構成Raid5（450GB 6G SAS×24）

ァイルの取得から，プライマリストレージへの※各ディスクの回転数は 10krpm である

展開，作成の処理を行っている．各ホストの表 1 にインスタンスが動作するサービスホス

CPU 利用状況のピークは 40～50％を示しているが，ピークに達していたのは 1～2 秒である．

を示している．

それ以外は 20～40％の利用に収まっており，各

1600

サービスホストの CPU 利用状況は上限に達し1400ていない．

1200

管理
サーバ
最大CPU 利用状況

15%

サービス
ホスト 1

サービス
ホスト 2

48%

40%

サービス
ホスト 3

MB/sec

表 3：実験１における CPU の最大利用状況

1000

50%

800
600
4002005.1.2 ネットワーク資源
表 4 にインスタンス作成，起動時の各機器の13:08:04
13:09:59
13:11:54
13:13:49
13:15:45
13:17:4013:19:36
13:21:31
13:23:26
13:25:22
13:27:17
13:29:12
13:31:08
13:33:03

0

ネットワークの最大利用状況を示す．各サービ
スホストは，管理サーバ上のセカンダリストレージ領域を NFS によってマウントし，テンプレ

図 5：インスタンス作成，起動時の各機器のプートファイルを取得している．
ライマリストレージの利用状況
実験 1 で用いるテンプレートファイルの容量は 8GB である．また，仮想ルータのテンプレー

グラフでは秒間 1.2GB~1.4GB 辺りの書き込トファイルの容量は 300MB である．これらのみが長時間続いている．本システムにおける，ファイルを 50 台分転送する為，作成時には管理プライマリストレージの読み込み性能と書き込サーバ側から各サービスホストへ大量のデータみ性能を合わせた最大理論値は 1.2GB 程度で送信が行われる．

ある（HP Storage Sizing Tool[8]で算出）．50台のインスタンス一斉起動時は，プライマリス

表 4：実験１におけるネットワークの最大利用

トレージが理論値相当で動作している．ただし，状況1 台あたりのインスタンスに換算すると，最大利用
状況

管理サーバ

ホスト 1

ホスト 2

ホスト 3

3.4G
bps

1.2G
bps

1.2G
bps

1.25G
bps

24MB/sec である．インスタンスのテンプレー
トファイルを展開すると 10GB 相当となるため、読み込みおよび書き込み処理に多大な時間を要する事がわかる．

各機器のネットワーク帯域の理論値は20Gbps であることに対し，管理サーバ側の送信の最大値は 3.4Gbps であり，上限に達してい5.2. 実験 2：：プログラムの一斉実行
実験 2 では，1MB の容量の乱数配列を作成・一時ファイルに保存後，繰り返し出力ファイルない．
5.1.3に書き込むプログラムを用いる．乱数配列の作
プライマリストレージへのアクセス性
プライマリ ストレージへのアクセス性
成を 500 回繰り返し，同一のファイルに追記す

能
図 5 にプライマリのストレージの利用状況をる．したがって，1 インスタンスにつき 500MBのファイルが生成される．

示す．図中のグラフは，縦軸がインスタンスの5.2.1

CPU 資源作成から起動までの，プライマリストレージの表 5 にプログラム実行時の各機器の CPU 最読み込み性能（MB/s）と書き込み性能（MB/s）
大利用状況を示す．実験 1 と同様に，プログラを加算したものを示しており，横軸は測定時刻

ムはインスタンス内で実行されるため，管理サが理論値で動作している事を示している．

ーバには負荷はかからない．各サービスホスト

グラフからは，インスタンス 64 台×500MBにおける CPU 利用状況のピークは 30%~40％分のディスク書き込みが 2 分程度で終了してい程度にとどまっている．

ることが読み取れる．学生の演習時の待機時間としては，許容できる範囲であり，サービスホ

表 5：実験 2 における CPU の最大利用状況
サービス
ホスト 1
最大 CPU利用状況

サービス
ホスト 2

37%

ストの CPU も十分余裕があることから，50 人

サービス
ホスト 3

35%

32%

規模の演習には，十分対応可能と判断できる．

6

まとめ
本稿では学生が PBL による ICT 演習を実施

5.2.2

プライマリストレージへのアクセス性
プライマリ ストレージへのアクセス性するための仮想 ICT 環境を提案し，その構成要素であるワークスペースを実装した．また，実能
図 6 にプログラム実行時のストレージの利用際の講義を想定した負荷実験を行い，基本性能を確認した．

状況を示す．グラフの縦軸はプライマリストレ
本システムは業務系サービスが導入できる構ージへの書き込み性能と読み込み性能を示している．横軸は測定時刻を示している．時刻 A 辺造を有している．この特性を生かし，本学における全学的なメールサービスの利用者管理シスりから読み込みと書き込みが始まっている．このプログラムは，1MB の配列データを一時ファテムを稼働している．
今後は，設計したユーザ認証システムの構築

イルから読み込み，出力ファイルへ追記するたをおこない，実際に本学の PBL 講義に適用するめ，プライマリストレージへの書き込みと読みことにより，本システムの改良を行う．
込みが同時に行われている．
1600
1400

謝辞

A

本研究の一部は平成２５年度，国立大学改革強化(Read)MB/sec

1000(Write)MB/sec

MB/sec1200推進事業に採択された「社会と協働する教育研究のインタラクティブ化加速パッケージ～技術者のグローバル・コンピテンシー獲得へ～」の助成を800受けたものです．

600
400

参考文献
200

[1] 中尾基：“PBL を基軸とする工学教育プログラム”，教育ブレティン第 5 号，pp.10-18，

13:46:02
13:46:37
13:47:12
13:47:47
13:48:23
13:48:58
13:49:33
13:50:08
13:50:43
13:51:18
13:51:530

図 6：プライマリストレージの利用状況
書き込みのピークは 800MB 前後で，読み込みのピークは 400MB 前後である．
これは実験 1

2008 年．
http://www.mns.kyutech.ac.jp/~nakao-m/pbl/pdf/PBL_Bulletin.pdf[2] 八重樫文，佐藤圭輔：“プロジェクト学習（PBL）の授業設計・実践における背景理論とその評価”，立命館高等教育研究 11 号，pp.183-198．と同様に，本システムのプライマリストレージ
http://www.ritsumei.ac.jp/acd/ac/itl/outline/

kiyo/kiyo11/13_yaegashi.pdf[3] 井上明，金田重郎：“PBL 問題解決型授業事例報告”，サイエンティフィック・システム研
究会，教育環境分科会 2008 年度第 1 回会合，2008 年．
https://www.ssken.gr.jp/MAINSITE/downlo
ad/newsletter_selection/vol9/nlsel_vol9-2.pdf[4] コミュニティで紡ぐ次世代大学 ICT 環境としてのアカデミッククラウド
https://www.icer.kyushu-u.ac.jp/docs/ac/ac_report.pdf[5] 北海道大学アカデミッククラウドの活用事例
http://www.nii.ac.jp/userimg/20130208_7.pdf[6] Apache CloudStack
https://cloudstack.apache.org/[7] Zabbix
http://www.zabbix.com/jp/[8] HP Storage Sizing Tool
http://3pardude.com/tag/hp-storage-sizing-t
ool/