Web 型プログラミング演習環境のハイブリットクラウド運用に向けた調査，及び OCS テンプレート開発
大江 和一 1) , 齊藤 智也 2) , 筒井 優子 1) , 丹生 智也 3) , 岡田 耕一 2) ,爲末 隆弘 2) , 王 躍 2) , 竹房 あつ子 1),4)
1) 国立情報学研究所
2) 山口大学
3) 国立遺伝学研究所
4) 総合研究大学院大学
koe@nii.ac.jp

Research for hybrid cloud operation of web-based programming
exercise environment and OCS template development
Kazuichi Oe1) ,Tomoya Saito2) ,Yuko Tsutsui1) ,Tomoya Tanjo3) , Koichi Okada2) ,Takahiro Tamesue2) , Yue Wang2) ,Atsuko Takefusa1),4)
1) National Institute of Informatics
2) Yamaguchi University3) National Institute of Genetics
4) The Graduate University for Advanced Studies,SOKENDAI

概要
本研究は，大学ごとに運用形態が異なるコンピュータシステム環境上において容易に構築・運用が可能なオンライン講義演習システムの構築・運用技術の確立を目指している．この技術により，情報システム部門が手薄な大学においても，オンライン講義演習システムの構築や運用が可能になる．その実現のために，山口大学のオンプレミス環境で運用中の講義演習システム（JupyterHub+Nbgrader）の構築・運用手順を調査し，その結果を用いて国立情報学研究所が提供している学認クラウドオンデマンド構築サービス（OCS）上で実行可能なテンプレート開発を進めている．本報告では，このテンプレート開発の概要について説明する．

本研究を進めることで，情報システム部門が手薄な大1 はじめに学においても希望するコンピュータシステム環境の上Python などのプログラミング演習をオンラインでに講義演習システムの構築・運用が可能となる．目的行うことができる講義演習システムを，各大学が独達成のためのアプローチは，現在山口大学で運用中の自に運用するコンピュータシステム環境に合わせて講義演習システム（JupyterHub+Nbgrader）の構築・構築・運用する技術が未成熟である．JupyterHub な運用手順を調査し，その結果を用いて国立情報学研究

どのブラウザからのアクセスや実行が可能な Jupyter

所が提供している学認クラウドオンデマンド構築サーサーバを用いることで構築はできるようになってきた

ビス（OCS）上で実行可能な OCS テンプレート開発

が，課題の配布・回収・採点などのオンライン講義を円である．

滑に進めるためのシステム的な支援が不足している．
さらに，実践的な講義運用ノウハウの共有が十分にで

2 山口大学で運用中の講義演習システム
JupyterHub[1] は，複数ユーザでプログラミングきていない．
本研究の目的は，オンプレミスやクラウドなどのコ開発及び情報共有が可能な環境として著名であり，ンピュータシステム環境上でオンライン講義演習シス

大学等の教育機関においてプログラミング演習の授テムを構築・運用できる技術を確立することである．

業をオンラインで行うためのツールとしても利用可

319

9&॥থॺট‫ش‬ছ

図 2 学認クラウドオンデマンド構築サービス（OCS）の概要
図 1 山口大学の JupyterHub システムの概要

作する必要が無い．各授業科目の担当教員も，Moodleコースに「外部ツール」のインスタンスを貼り付ける能である．授業では，学生への教材配布，演習の進以外では，JupyterHub や Nbgrader の利用開始のた

捗管理，採点及びフィードバック等の機能が必要にめの作業は不要である．

なるが，JupyterHub の拡張機能である Nbgrader[2]現在抱えている課題はクラウド化への対応である．

を追加することでこれら機能を実現可能である．山

今後の大学内のニーズの拡大への対応，並びにハード

口大学情報基盤センターにおいては，この Jupyter-ウェアの老朽化に伴うリプレースに際してクラウド利

Hub+Nbgrader に山口大学独自の拡張を加えたオン用は避けられないが，現在のシステムでは山口大学のライン型プログラミング演習システムを開発し，山口計算機・ネットワーク環境に依存する部分が多く，今大学のオンプレミス環境上で構築と運用を行っている

後はクラウド環境でも利用可能にするための拡張・改．[3]．
（図 1）

修を行う必要がある．

JupyterHub は，複数のグループに個別の共有フォ

3 学認クラウドオンデマンド構築サービス（OCS）

ルダやアクセス権限等を提供する仕組みを備えていない．教材や課題，提出物等を置くための共有フォル
ダやそこにアクセス可能なユーザのリスト（履修者一

国立情報学研究所（NII）クラウド基盤研究開発セン覧）を授業科目毎に提供する必要がある場合，複数のターは，オンプレミスやクラウドのアクセス方法の違

授業科目が単一のシステムを共同利用することが出来いをユーザが意識することなくアプリケーション環境ない．そのため，大学等における従来の活用事例の多の構築・運用が可能な学認クラウドオンデマンド構築

くは，特定の教員が JupyterHub を運用して自身の授．OCS は，サービス（OCS）の運用を行っている（図 2）

業若しくは研究室の活動において活用する程度であっ仮想プライベートネットワーク（VPN）内に利用する

た．学科内の複数の授業科目に活用されている事例も資源を囲い込み，仮想クラウドコントローラ（VC コン

いくつかある．ただし，Nbgrader のように授業科目トローラ）から操作することで，全ての資源を統一的ごとに個別の設定が必要になる場合，学科のシステムに操作できる．また，VC コントローラは VCP SDK

管理者は，授業科目毎に共有フォルダ等を作成・設定と呼ばれる Python ライブラリを用いて制御可能であする他，履修者一覧を含む授業科目毎のシステム設定

り，典型的な操作は可読性が高い Jupyter Notebook

ファイルを準備し，各授業の開始前に設定ファイルを形式で記述して OCS テンプレートとして提供してい入れ替えてシステムを再起動する必要がある．そのたる．これにより，利用者は OCS テンプレートから容め，大学全体にわたって，多数の授業科目や行事等で易に操作ができる．

JupyterHub を自由に利用することが出来なかった．

こ の OCS を 実 現 す る 基 盤 ソ フ ト ウ ェ ア は VCP

山口大学の JupyterHub システムでは，ログイン前（Virtual Cloud Provider）[4, 5] で あ る ．図 3 は ，に利用者が経由した Moodle コースに応じてその授業VCP の概要図である．VCP は，SINET に接続さ科目（若しくは行事）に特化した利用環境が動的に構れた１つ以上のクラウドやオンプレミスの物理計算機成される．システム管理者，教員，及び受講生が特別や仮想計算機を仮想プライベートネットワークで分離な操作や設定等を行わなくても，単一のシステムを多し（L2VPN），１つの仮想クラウドとして利用できる数の科目で自由に共同利用でき，同時利用も可能であ機能を提供する．

る．システム管理者はシステムを稼働させた後，ハーアプリケーションの配備では，まず，オンプレミスドウェアの故障等の障害発生時を除いてシステムを操若しくはクラウド環境の仮想/物理計算機 (VM/BM)

320

レート化する開発を進めている．他大学でも利用して頂くために，山口大学の運用システムに依存する設定や拡張は分離出来るように実装を進めている．
次に開発した OCS テンプレートの評価方法について説明する．まず，開発した OCS テンプレートを用いた講義演習システムの構築と試験運用を山口大学で実施予定である．この試験運用で得られた知見をOCS テンプレートにフィードバックすることで OCSテンプレートの有効性を高める計画である．最後に完
図 3 VCP の概要

成した OCS テンプレートを他大学にも公開し，さらに講義演習システムのユーザコミュニティの形成を行を確保する．この確保した計算資源を VC ノードとい，この分野の活性化を図ることが最終目的である．

呼ぶ．次にその上に VCP Base Container が構築さ

4.2 進捗状況

れ，さらにその上に Application Container が構築さ

2023 年 9 月現在，山口大学で運用中のプログラミれる．このような利用形態は，Docker-in-Docker とング演習システム（JupyterHub+Nbgrader）の構築・呼ばれており，多少の性能劣化が懸念されるものの，運用方法を OCS テンプレートとして実装し，NII 側柔軟なアプリケーション・ライブラリの配備を可能にの OCS 開発環境で動作確認するところまで進めた．

する．VCP Base Container は，ネットワーク設定やOCS テンプレート化にあたり，山口大学の運用システ起動した VC ノードの死活監視を行う．Application

ムに依存する設定や拡張は分離できるように実装を進Container は，目的のアプリケーションで必要とされるめた．2023 年 10 月より山口大学に OCS 実行環境をコンテナを配備する．VCP Base Container は各 VM構築したうえで試作した OCS テンプレートの試運用又は BM に 1 つ配備されるものであり， Applicationを開始する予定である．

Container は VCP Base Container 上に複数配備す5 まとめることができる．

OCS で は ，Moodle を 用 い た 学 習 管 理 シ ス テ ム

山口大学と国立情報学研究所（NII）は，山口大学（LMS）や HPC ク ラ ス タ 環 境 ，CoursewareHub[7]のオンプレミス環境で運用中の講義演習システムを用いた講義演習環境の構築，運用のためのテンプ（JupyterHub+Nbgrader）の構築・運用手順を調査し，

レ ー ト を す で に 公 開 し て いる [6]．CoursewareHub

その結果を用いて国立情報学研究所が提供している学

は，JupyterHub をベースとして講義演習用に NII で認クラウドオンデマンド構築サービス（OCS）上で実改良したソフトウェアであり，室蘭工大や群馬大等で行可能なテンプレート開発の共同研究を進めている．

利用されている．本研究では，山口大での構築・運用

本研究を進めることで，情報システム部門が手薄な大ノウハウを新たにテンプレートとして開発することで学においても希望するコンピュータシステム環境の上より使いやすいものを提供し，オンライン演習の普及に講義演習システムの構築・運用が可能となる．に寄与することを狙っている．

謝辞

4 OCS テンプレート開発の概要と進捗状況

この研究は 2023 年度国立情報学研究所公募型共同研究（23S1003）の助成を受けています．

4.1 OCS テンプレート開発の概要
OCS はオンプレミスやクラウドのアクセス方法の本研究にご協力いただいた株式会社アスケイドの那

違いをユーザが意識することなくアプリケーション環

須野淳様，羽鳥文子様，増山隆様，神田千暁様，鳥井境の構築・運用が可能となるサービスである．Jupyter

貴史様，寺山流晟様に深く感謝いたします．

Notebook 形式で記述された OCS テンプレートとして構築・運用手順をまとめることで，ノウハウの共有が参考文献可能になる．そこで，山口大学のオンプレミス環境で[1] JupyterHub: https://jupyter.org/hub

運用中の講義演習システム（JupyterHub+Nbgrader）[2] Nbgrader: https://github.com/jupyter/nbgraderの構築・運用手順を調査し，その結果を OCS テンプ[3] 齊藤智也, 王躍, 西井淳, 末長宏康, 大平康旦, 西321

村世志人, 金山知余, 村永聡, 爲末隆弘, 岡田耕一,
レールマルク; Moodle と JupyterHub を用いた

Web 型プログラミング教育環境の改善事例: 複
数科目・複数講師による Nbgrader の共同利用;

AXIES 2022
[4] Takefusa, A., Yokoyama, S., Masatani, Y.,
Tanjo, T.,Saga, K., Nagaku, M. and Aida, K.:
Virtual Cloud Service System for Building Effective Inter-Cloud Applications, Proc. IEEE
CloudCom2017, pp. 296-303 (2017).
[5] OCS: https://cloud.gakunin.jp/ocs/[6] 学 認 ク ラ ウ ド オ ン デ マ ン ド 構 築 サ ー
ビ スの ア プリ ケ ー ショ ン テ ンプ レ ー
ト: https://github.com/nii-gakunin-cloud/ocs-templates[7] 長久勝，政谷好伸，合田憲人：Notebook による講義・演習環境の開発，情報処理学会研究報告2019-CLE-27 (2019)322