Japan Open Science Summit 2021
D1: 研究データインフラ技術者＆研究者座談会
2021年6⽉16⽇（⽔）16:00-17:30

先進的な研究データ管理のためのRDMサービスのシステム設計
込⼭悠介
国⽴情報学研究所

1

研究データ管理サービスGakuNin RDM

データ検索基盤

データ公開基盤

データ管理基盤

オープン・クローズド戦略のもとでオープンサイエンスが実現できる基盤

研究データプロセスと研究データ基盤
NII Research Cloud

GakuNin RDM（GRDM）は、国⽴情報学研究所（NII）で運⽤している研究データ基盤NII Research Cloudの⼀部で、研究中のクローズド（⾮公開、制限共有）なデータを取り扱う事に特化した研究データ管理サービス。2021年4⽉からは24/365運⽤体制でRDMサービスを全国の学術機関に提供。NIIの他の研究データ基盤とも連携予定。
2

GakuNin RDMのサービス・ヴィジョン
研究推進

データ共有による研究効率の上昇
資⾦提供元や産業界のポリシー要求を満⾜

⽣産性向上

データ共有とクレジット
研究倫理

研究公正

研究不正を抑⽌・追跡調査が可能
研究における疑念⾏為を抑⽌・追跡調査が可能

RDM基盤構築

トレーサビリティ

研究不正防⽌

可視化

研究者

機関

ストレージのデスクトップクライアント連携

学内向けRDMサービスの提供

研究データのバックアップ

研究データの⼀元管理

研究データの管理・共有

研究証跡の保存

研究記録⽤Wiki

連携サービスとのメタデータ互換

データ解析機能連携

研究データの10年保存への対応

データセットのメタデータ付与

著作権、ライセンス管理

データ管理計画 (DMP) 機能連携

第三者認証（ISO27001等）

3

Center for Open Scienceが提供するOpen Science Frameworkとの関係• GakuNin RDM (GRDM)は、⽶国Center for OpenScienceが開発したOpen Science Framework (OSF)のオープンソースソフトウェア版をフォークして開発• 技術開発に関する情報交換、ソースコードレベルでのバグレポートなど機能改善でCOSと協⼒• NIIの研究データ基盤 NII Research Data Cloudでは、公開基盤や検索基盤があるため、サービスのアーキテ
クチャ上不要なOSFの公開機能については未実装 (リポジトリ機能、公開データの検索機能、カンファレンス⽀援機能、プレプリント機能等)
フォーク
4

GakuNin RDMサービス機能概要
研究データ共有機能（基本機能）

NII研究データ基盤と外部ツールとの連携
研究ツール

パブリッククラウド

リポジトリ

プライベートクラウド

学認による認証とグループ管理でデータ共有
研究証跡の保存機能

時刻認証事業者のタイムスタンプでファイルの存在を証明

機関利⽤のための管理機能

機関の管理者による組織内のRDMサービスのカスタマイズ

5

システム設計

6

GakuNin RDMのストレージ⽅式
WebアプリはNIIが提供
研究データ管理サービス

標準ストレージ（NIIストレージ）

機関毎に準備
機関ストレージ

利⽤開始直後から利⽤可
S3互換

パブリッククラウド（プロバイダーDC）

プライベートクラウド（オンプレミス環境）
・機関のシステム管理者がいずれかのオブジェクトストレージを学内の標準ストレージとして１種類指定
・プロジェクト開始時に⾃動的にストレージをマウント
・NIIストレージは併⽤不可
機関のシステム管理者が設定すれば全学で利⽤可

機関毎に準備拡張ストレージ
拡張ストレージは併⽤可能

S3互換

パブリッククラウド
プライベートクラウド（プロバイダーDC）（オンプレミス環境）
ユーザ⾃⾝で設定すれば利⽤可能

7簡略化したネットワーク図（標準ストレージ）
オンプレミスクラウド
アプリサーバ冗⻑化AWSTokyo Region

システムからのアクセス
SINET

SINET DC
(Region 1)

SINETクラウド接続
ユーザアクセス• アプリケーション部分はクラウド環境で冗⻑化（マルチAZ、オートスケール、DB複製、Kubernetes）• データ領域は複数拠点のオンプレミスで冗⻑化• システムからのアクセスはSINETクラウド接続でオンプレミスのデータセンターへ直結

ストレージサーバ
冗⻑化L2VPNSINET

SINET DC
(Region 2)

ストレージサーバ
冗⻑化8

GakuNin RDMとクラウドストレージや外部ツールとの連携で研究を促進
NII研究データ基盤と外部ツールとの連携
パブリック
クラウド

研究ツール
リポジトリ

プライベートクラウド

研究プロジェクトに様々な外部クラウドサービスを紐付けて管理

GRDMでは、NII提供分のストレージ以外にも、機関側で契約、所有しているパブリッククラウド、プライベートクラウドのストレージをAPIで接続して利⽤可能。
9

GakuNin RDMマイクロサービスアーキテクチャ

認証CAS

フロントエンド

Wiki

プレビュー

Sharejs

MFRMongoDB

アプリ

APIWebAPI

Worker

Ember_osf_web

管理ツール
Admin

WB_worker

Postgresql

Elasticsearch

RabbitMQ

WaterButler

データベース

検索エンジン

キューイングストレージ連携10

GakuNin RDMストレージアドオンにおける外部ストレージとの連携の仕組み
ストレージ⽤アドオン開発には最低限2つのマイクロサービスへの追加のコードが必要
GakuNin RDM
アドオン

ストレージ連携サービス

OSF.io AddonとWaterButler Providerの認証情報の委譲

11GakuNin RDMのストレージ連携アドオン

GRDMに外部ストレージ連携することを前提として設計されたアドオン
ストレージ接続やバケット設定に必要な最⼩限のUIがある
12

フロントエンドを持つ
GakuNin RDMアドオンの設計

フロントエンド (UI) を持つアドオン設計では、バックエンドでのストレージ連携だけでなく、GRDMのプロジェクトのヘッダーのメニューにアドオン名を表⽰できる。
アドオン専⽤のページを持ち、⼊⼒フォームなどを出現させ、プロジェクトのポータルページにモジュールとして追加する。
13

GakuNin RDMストレージ連携における認証⽅式のパターン• S3系（AWS S3, S3互換ストレージ等）• 認証⽅式︓hash-based message authentication code (HMAC) ⽅式。
• 事前に交換しておいたアクセスキーによって、リクエスト本⽂のハッシュ値に署名することでリクエストがアクセスキーを持つ者から発⾏された事を保証• AWS S3ではシークレットアクセスキーと年⽉⽇、リージョン、AWSサービスからSigning Keyという専⽤のキーをを作成してリクエストに使⽤• ownCloud系（ownCloud, Nextcloud等）• 認証⽅式︓OAuth認証• GRDM側でストレージのアカウント情報を管理• 安全のためデバイス単位、アプリ単位のユーザID/パスワードを発⾏する
ownCloud（Nextcloud）の拡張プラグインを利⽤することを推奨している• SaaS系（Dropbox, Google Drive, OneDrive, box等）• 認証⽅式︓OAuth認証• 各クラウドプロバイダ側でアカウント情報を管理• クラウドサービスのアカウント情報で認証を⾏いGRDMに紐付ける
14

システム運⽤

15

GakuNin RDMの要件やサービスレベル
サービスの性質• 未発表の研究データを取り扱う専⾨サービス• 多くの⼤学の研究者がデータ共有で利⽤• 多様な研究分野のツールと連携が⽬標• 実験装置とデータ解析環境とも連携• 海外出張中や国際共同研究でもストレージ利⽤• COVID-19影響による研究者のテレワーク需要拡⼤• ⾼い冗⻑性、可⽤性、機密性を要求
サービスレベル• 24/365運⽤を⽬指す (サービス開始当初は昼間/365)• 99. 5% (サービス障害停⽌の許容時間3.6H/⽉)• 複数データセンター間での複製や⾼頻度バックアップ• 無停⽌でのローリングアップデート等が必要
16

GakuNin RDM運⽤で⽤いているCI/CDツール• GitHub: ソースコードリポジトリ。バージョン管理、コードレビュー• TravisCI: GitHubなどと連携可能な⾃動単体テスト実⾏ツール• Jenkins: コンテナのビルドやオーケストレーションの管理
ツール、⾃動デプロイ⽤ツール• Docker: コンテナ仮想化。アプリケーションの配置・実⾏⽤• Kubernetesとはコンテナのオーケストレーションシステム• Prometheus: システムモニタリング、アラート。
Kubernetes上のコンテナの監視• Grafana: 監視プラットフォームのダッシュボード• Kibana: ログ分析プラットフォームのダッシュボード。ログ収集はFluentd, Elasticseaerch構成
17

KubernetesによるGakuNin RDMのシステム構成
Tokyo Region

Osaka Region

AZ1

AZ2

AZ3

AZ4

AZ1

VPC
ALB

EKS

K8S
Namespace（Application）

AppPod×23

Namespace（Manegement︓Flentd,Prometeus）

AppPod×11

node×5t2.xlarge
4 vCPUs
16 GB

Instance×5

Instance

Instance

FileStrage
EBS
1000GiB

Log Backup

AmazonElasticsearchServiceS3

Log Monitert2.medium
EBSマグネティック
35 GiB

Instance

Instance

Multi AZMulti AZ

フェイルオーバー

フェイルオーバー
AmazonAmazonElasticsearchServiceAmazon
ElasticsearchServicesearcht2.medium
EBSマグネティック
30 GiB

RDS
Slave

S3

RDS
SnapShot
5分 おきAmazonRDS
MasterS3

リードレプリカ
AmazonRDS
Read replicaRDS
SnapShot
5分 おき

Kubernetesとはコンテナのオーケストレーションシステム。
アプリ⽤コンテナのデプロイ、スケーリング、管理のために利⽤。
アプリの無停⽌でのアップデート、サーバ⾃動復旧などが容易。

S318

サービス運⽤⼿法の改善でサービスレベル向上
継続的インテグレーション（CI）
コード提出

単体テスト

コンテナビルド

通過

プログラマB

プログラマA
プログラマが機能単位でコードをプルリクエスト

継続的インテグレーション
ツールで⾃動テスト

複数⼈体制でのコードレビュー

継続的デリバリー(CD)構成管理

container

コンテナオーケストレーション

監視VM

HelmのコードによるKubernetesのインフラ管理
インフラエンジニアA

デプロイ⾃動化

継続的デリバリーツールで⾃動デプロイ
インフラエンジニアB・クラウドネイティブのシステム構成で無停⽌での機能追加・サーバの冗⻑化・コードでのインフラ管理による運⽤・監視⾃動化、ヒューマンエラー対策
・チャットボット導⼊による窓⼝業務、サポートの⾃動化

19ユースケース

20

GakuNin RDM利⽤機関数35

浜松医科⼤学, 三重⼤学, 理化学研究所, 熊本⼤学, 静岡理⼯科⼤学,
北陸先端科学技術⼤学院⼤学, 成城⼤学, 信州⼤学, 慶應義塾⼤学, CCC-TIES,帯広畜産⼤学, ⼤阪⼤学, 福井⼤学, ⼩樽商科⼤学, 東京農⼯⼤学, 神⼾⼤学,群⾺⼤学, 東北⼤学, 千葉⼤学, 北⾒⼯業⼤学, 広島⼤学, 富⼭⼤学, 九州⼤学,東京⼤学, ⾦沢⼤学, 北海道⼤学, 名古屋⼤学, 京都⼤学, 国⽴情報学研究所

3020171510651 17891112 1218 18 18 1819 19 19 1920 202122 2224251429 機関3 30Jan1Fe 9b1M 9ar-1
Ap 9rM 19ay-1
Ju 9n19
Jul-1
Au 9g1
Se 9p1
Oc 9t-1
No 9v-1
De 9c1
Ja 9n2
Fe 0b2
M 0
ar-2
Ap 0
rM 20ay-2
Ju 0n20
Jul-2
Au 0g2
Se 0p2
Oc 0t-2
No 0v-2
De 0c2
Ja 0n2
Fe 1b2
M 1
ar-2
Ap 1
rM 21
ay-2
Ju 1n21

機関数

252729年月(2021年6⽉現在)『GakuNin RDM 利⽤機関数』
https://meatwiki.nii.ac.jp/confluence/pages/viewpage.action?pageId=41588114

21

NII の YouTube チャンネル
GakuNin RDM 事例紹介動画リスト『NIIのYouTube チャンネル GakuNin RDM事例紹介動画リスト』
https://www.youtube.com/playlist?list=PLKzfdUM-Rtgyj44t821KN1xO5lt78Ea4O

22

基盤開発者やサービス提供者の皆様へ• GakuNin RDMはOSSでGitHub上で開発を⾏っておりApache License 2.0 で提供。学術機関やクラウドプロバイダー等との共同開発実績あり。
• GakuNin RDMのアドオンソフトウェアを開発・提供される場合、GitHubでプルリクエストいただければコードレビューの上、取り込んで全国へ提供も可能。
• 汎⽤性の⾼いOSSのツール、専⾨分野で広く使われており必要不可⽋なツール、国際標準規格に対応したデータ取得API、公開可能なライセンスであることなどの条件をクリアすればGakuNin RDMアドオン化が可能。
• データ基盤間の連携開発、クラウドサービスのAPI連携開発などのご要望がございましたらお問合せ下さい。
NIIオープンサイエンス基盤研究センターのGitHub Organization
https://github.com/RCOSDP
23

GakuNin RDMに関するお問合せ• GakuNin RDMは利⽤申請の申込み受付中です。まずは貴機関の情報基盤センターまたは情報システム部⾨のシステム導⼊ご担当者様にご相談ください。
• 申込みはGakuNin RDMユーザサポートページのWeb申請
フォームにて、貴機関のシステム担当部⾨のご担当者様から、お申し込みしていただく必要がございます。
• GakuNin RDMユーザサポートページ︓https://meatwiki.nii.ac.jp/confluence/display/gakun
inrdmusers• ご不明点・ご質問は下記のメールアドレスまでお問合せ下さい。
• GakuNin RDMユーザサポート
rdm_support@nii.ac.jp
24