学認クラウドオンデマンド構築サービスの推進
竹房 あつ子 1) , 佐賀 一繁 1) , 丹生 智也 1) , 横山 重俊 1),2) , 合田 憲人 1)
1) 国立情報学研究所
2) 群馬大学
takefusa@nii.ac.jp

Promotion of the GakuNin Cloud On-demand Configuration
ServiceAtsuko Takefusa1) , Kazushige Saga1) , Tomoya Tanjo1) , Shigetoshi Yokoyama1),2) , Kento Aida1)
1) National Institute of Informatics
2) Gunma University

概要

NII では，学術情報ネットワーク SINET5 とクラウドを活用して再現性のあるアプリケーション環境の構築・運用を支援するため，学認クラウドオンデマンド構築サービスを推進している．学認クラウドオンデマンド構築サー
ビスは，主に基盤ソフトウェア，アプリケーションテンプレートで構成され，基盤ソフトウェアでは SINET5 に接続された様々なクラウドでの仮想クラウド構築を容易にし，アプリケーションテンプレートでは研究・教育アプリケーションの構築・運用手順書を提供して仮想クラウドでのアプリケーション環境構築・運用を支援する．ポス
ターでは，学認クラウドオンデマンド構築サービスの概要と利用事例について紹介する．

1 はじめに構築サービス [2] の提供を開始した．学認クラウドオ
ンデマンド構築サービスは，主に基盤ソフトウェア，学術情報ネットワーク SINET5[1] は，国内 800 組

アプリケーションテンプレートで構成される．基盤ソ織以上の学術研究機関に接続されており，全都道府

フトウェアは，SINET5 に接続された様々なクラウド県のルータ間を 100Gbps で相互接続させた広帯域低データセンターの資源上に利用者の計算環境（仮想ク遅延の通信環境を提供している．また，クラウド接続ラウドと呼ぶ）の構築を容易にする．アプリケーショ

サービスにより SINET5 から複数のクラウドデータ

ンテンプレートは，大学等で利用されている学習管理センタに直接接続することが可能となったため，学術システム（LMS）等のアプリケーションの構築・運用研究機関とクラウドを仮想プライベートネットワーク

手順をテンプレート化したものであり，仮想クラウド（VPN）で接続させ，安全，安定，高性能なインターでのアプリケーション環境構築・運用を支援する．ポクラウド環境を構築できるようになってきた．

スターでは，学認クラウドオンデマンド構築サービス

インタークラウド環境で効率よくアプリケーション環境を構築・運用するには，様々な知識が必要となり，簡単ではない．具体的には，学術ネットワークとクラウド接続に関する経路制御設定，個々のクラウドの概要と利用事例について紹介する．

2 学認クラウドオンデマンド構築サービスの概要

プロバイダのサービスインタフェースの習得，利用す

学認クラウドオンデマンド構築サービスは，SINET5る資源の最適化やスケールアウト等のクラウドらしいと学術・商用クラウドの資源を活用したアプリケー利用方法の適用などが挙げられる．また，アプリケーションの構築・運用を支援する．図 1 に学認クラウション環境の構築・運用自体も，簡単に行えるわけでドオンデマンド構築サービスの概要を示す．学認クラはない．

ウドオンデマンド構築サービスでは，まず基盤ソフト

NII では，SINET5 とクラウドを活用して再現性のウェアにより，SINET5 の L2 VPN を介した利用機あるアプリケーション環境の構築・運用を支援するた

関と 1 つ以上のクラウドとのネットワーク設定支援をめ，平成 30 年 10 月から学認クラウドオンデマンド行い，仮想クラウドの構築準備をする．次に，基盤ソCloud Datacenters

Jupyter Notebook
VCP SDK (Python)On-demand
Configuration
Serviceü Machine allocation
ü Software deployment

L2VPN

L2VPN

テンプ
Template
レート

VC Controller Core

On-demand
Configuration
Service

Configuration
file

VCP REST API

テンプ
Template
レート

Terraform
AWS

AzureOpenStack..

Universities or Research Institutes

図1

学認クラウドオンデマンド構築サービスの概要．
Public/Academic Clouds

VC Controllers
Jupyter Notebook /Python/REST I/F

VCPManager

appbins/libs
Container

appbins/libsContainer

図 3 VCP サービスインタフェース．

VCP Base Container

VCControllerCore

OS (kernel)
Hardware / VM

VCP User
VirtualRouter

SINET VPNVCP System
in Datacenter A

も利用者毎に用意する．各利用者は，割り当てられSINET VPN

University orResearch InstitutePublic/Academic Cloud

た VC コントローラに対して VCP サービスインタ
フェースを介して仮想クラウドの構築を指示する．

図 2 VCP の利用形態．

仮想ルータは大学等学術研究機関と複数商用クラウ
ドデータセンター間のネットワークのハブ的な役割を担うとともに，外部ネットワークへのゲートウェイ機

フトウェアで用意した環境上での仮想クラウド構築を能および BGP による経路制御機能も備えている．ク

支援する．また，アプリケーションテンプレートによ

ラウド間ネットワークは SINET5 の L2VPN を前提

りアプリケーション環境構築・運用の手順書を提供し，としているが，L2VPN 環境が利用できない，またはクラウド活用を支援する．

高性能ネットワークが必要ないアプリケーションの利

2.1

基盤ソフトウェア VCP

基盤ソフトウェア VCP[3, 4] は，利用者の操作に従ってクラウドの物理計算機や仮想計算機等の資源上用者に対して，仮想ルータでは IPSec トンネルを用いたクラウド間 VPN を構築して利用できるようにしている．に仮想クラウドを構築する．VCP では，軽量な仮想学認クラウドオンデマンド構築サービスでは，容易化を実現する Docker コンテナを用いることで，低性な仮想クラウド構築と既存 Docker イメージの活用を能オーバヘッドで容易にアプリケーション環境を配備可能にするため，VC ノード起動ではクラウドで確保できる．また，仮想クラウド内ネットワークの設定支した仮想／物理計算機（VM/BM）に対してベースコ援や異なるクラウド API の差異を吸収するサービス

ンテナとアプリケーションコンテナを二階層で配備しインタフェースを提供する．本インタフェースを用いて利用することを前提としている．このような利用形ることで，利用者は様々なクラウドに対して同様の操態は，Docker-in-Docker と呼ばれており，多少の性能作で必要なノード構成の仮想クラウドの構築，停止，劣化が懸念されるものの，柔軟なアプリケーションラ削除や，仮想クラウド内のノード（VC ノード）の追イブラリの配備を可能にする．ベースコンテナ層では加・削除が行える．

ネットワーク設定や起動した VC ノードの死活監視を

2.1.1 VCP による仮想クラウドの構築行う．アプリケーションコンテナ層では，目的のアプ

図 2 に，VCP の利用形態を示す．VCP は，主にVCP マネージャ（VCP Manager），仮想クラウド（VC）リケーションで必要とされるコンテナを配備する．

2.1.2

VCP サービスインタフェースコントローラ（VC Controller），仮想ルータ（VirtualVCP では，異なるクラウドプロバイダの API の差Router）で構成される．VCP マネージャは仮想クラ異を吸収するため，VC コントローラの内部でオープウドを管理する VCP の利用者／グループに対してンソースの Terraform[5] を用いており，利用者に対しVC コントローラを配備する．VCP の利用者はそれては VCP REST API と Python ベースの開発キット

ぞれ異なる VPN を利用するため，VC コントローラ

VCP SDK を提供している．図 3 にこれらのサービス

Galaxy Template(Jupyter Notebook)

インタフェースの概要を示す．

VCP REST API では，YAML 形式で記述された仮想クラウドの構成ファイル（Configuration file）をPOST メソッドで取得すると，その構成ファイルにGalaxy Users

VCP User(VC Administrator)

OpenStack

AWS VPC

VCP system
VCP
Manager

Unit: galaxy+nfs

VC Controller
GW

App:
Galaxy+Slurmctld

従って Terraform 経由で各クラウドへの資源確保等

NFS Server

BCBM

disk

Unit: galaxy-computenode #1
App:Slurmd
BCBM

Scale-outの制御を可能にする．Terraform では，各クラウドにおける VM やネットワークスイッチ，コンテナNII Cloud:@chiba

等の資源を制御するモジュールを Provider と呼び，

node #nApp:SlurmdBCVM

node#n+1
App:
Slurmd
BCVM

SINET5

Persistent Data
• Galaxy DB• Tool Config• Workflow• Reference Dataetc …

AWS（Amazon Web Services），GCP（Google Cloud

Unit: computenode #2
App:SlurmdBC
NFS Client
BMAmazon:@ap-northeast-1
BM

Bare-metal Machine

App

Application Container

VM

Virtual MachineBC

VCP Base Container

Platform），Microsoft Azure，OpenStack 等の主要な
図 4 Galaxy スケールアウト実験環境．

Provider を予め提供されている．また，Terraform はプラグインベースで実装されており，Terraform の提供する API を実装することで独自の Provider を開発することができる．仮想クラウドの制御を容易にするため，Python ベースの開発キット VCP SDK も提供している．

2.2

アプリケーションテンプレート

アプリケーションテンプレートは，研究・教育目的で広く利用されているアプリケーションの構築・運用手順をテンプレート化したものを Jupyter Notebook[6]形式で提供する．これにより，クラウドでのアプリケーション構築に不慣れな利用者に対してクラウドの利活用を支援する．現時点では，以下のアプリケーションテンプレートの開発を進めており，引き続き利図5

オンプレミス環境から AWS へスケールアウ

ト後のモニタリング結果．

用者コミュニティと協力しながら開発を進めていく．

HPC テンプレート OpenHPC[7] で提供されている

3 利用事例

科学技術計算のための計算ライブラリ群およびキューイングシステムからなるクラスタ環境を構

VCP の実用性を示すため，Galaxy とクラスタ計算

築と，構築したクラスタでの基本的な性能評価が機を用いたゲノム解析環境をオンプレミス（NII 所内行える．

クラウド）環境から商用クラウドの AWS に SINET5

LMS テンプレート moodle[8] を用いた学習管理システムを構築，ダウンタイムを短くすることを目的とした BlueGreenDeployment[9] という手法に基づくアップデート作業 [10] のための手順を記し

内クラウドは OpenStack ベースのベアメタルクラウドであり，VCP から制御することができる．よって，オンプレミス環境と商用クラウド環境を VCP を用いて構築する．ている．

VDI テンプレート Guacamole[11] を用いた講義・演習用の仮想デスクトップ基盤（VDI）の構築と，スケールアウト／ダウンの手順を示している．
ゲノム解析テンプレートを介してスケールアウトする実験を実施した．NII 所

Galaxy ワークフローツー

ル [12] によるゲノムデータ解析環境をクラウド上に構築するものである．

図 4 に実験環境を示す．VCP のユーザは，Jupyter

Notebook に記述された手順に従ってオンプレミス環
境へ Galaxy とクラスタ環境を構築する．次に，オンプレミス環境で負荷が高くなったことを想定し，SINET5 を介して AWS 環境にクラスタ環境を拡張
し，スケールアウトさせた．図 5 は，スケールアウト後の環境で Galaxy から 4 つのジョブを実行した際のモニタリング結果を表している．VCP により，メトリクスデータの収集および可視化機能が提供されている．図 5 から，AWS の計算ノードはオンプレミス環

境の NFS サーバを利用しているため，ピークに達す//martinfowler.com/bliki/

るまでに時間に多少の遅延があるものの，1 つのクラBlueGreenDeployment.html

スタ環境として機能していることが確認できた．

01-07-2018).

(accessedon[10] 浜元信州，横山重俊，竹房あつ子，合田憲人，

4 まとめ

桑田義隆，

NII では，SINET5 とクラウドを活用して再現性のあるアプリケーション環境の構築・運用を支援するため，学認クラウドオンデマンド構築サービスを推進し石 坂 徹: Moodle 運 用 に お け る

Jupyter Notebook の活用，MoodleMoot Japan2018 (2018).
[11] Apache

Guacamole,https://guacamole.ている．学認クラウドオンデマンド構築サービスは，incubator.apache.org/ (accessed on 01-07-

主に基盤ソフトウェア，アプリケーションテンプレー

2018).

トで構成され，基盤ソフトウェアでは SINET5 に接続[12] Galaxy, Data intensive biology for every-

された様々なクラウドでの仮想クラウド構築を容易に

one, https://galaxyproject.org/ (accessed

し，アプリケーションテンプレートでは研究・教育ア

on 01-07-2018).

プリケーションの構築・運用手順書を提供して仮想クラウドでのアプリケーション環境構築・運用を支援する．また，学認クラウドオンデマンド構築サービスを用いてゲノム解析環境をオンプレミス環境から商用クラウドへ SINET5 を介してスケールアウトする事例を紹介した．今後は，ハンズオン等の実施により学認クラウドオンデマンド構築サービスの普及を図る．

参考文献[1] SINET,

https://www.sinet.ad.jp/(ac-cessed on 01-07-2018).
[2] 学 認 ク ラ ウ ド ，https://cloud.gakunin.jp/(accessed on 01-07-2018).
[3] S. Yokoyama and Y. Masatani and T. Ohta andO. Ogasawara and N. Yoshioka and K. Liu andK. Aida: Reproducible Scientific Computing
Environment with Overlay Cloud Architecture,
Proc. 9th IEEE Cloud, pp. 774–781 (2016).
[4] Takefusa, A., Yokoyama, S., Masatani, Y.,
Tanjo, T., Saga, K., Nagaku, M. and Aida,
K.: Virtual Cloud Service System for Building
Eﬀective Inter-Cloud Applications, Proc. IEEE
CloudCom2017, pp. 296–303 (2017).
[5] Terraform, https://www.terraform.io/ (accessed on 01-07-2018).
[6] Jupyter Notebook, http://jupyter.org/ (accessed on 01-07-2018).
[7] OpenHPC,

https://openhpc.community/(accessed on 01-07-2018).
[8] Moodle, https://moodle.org/ (accessed on01-07-2018).
[9] BlueGreenDeployment,

https: