FRUCtoS v2.2.0 インポート手順 (Docker)
1. 本手順の目的
本手順はFRUCtoS v2.2.0のデータのインポート手順を記載しています。
FRUCtoSではFHIRリソース本体とその履歴のほかに検索のためのインデックスを内部的に生成し保持しています。 エクスポート時にFHIRリソース本体とその履歴のみを出力し、インポート時にFHIRリソース本体とその履歴の入力とインデックスの再生成することで異なるバージョン間でのデータ移行を実現しています。
バージョンアップに伴いデータベース(以下DB)の互換性が失われる場合があるため、v2.1.0のデータをv2.2.0の環境で利用する必要がある場合、FRUCtoS エクスポートと本手順のインポートを行うことを推奨します。
note
ダンプツールは、1つ前のバージョンからのデータ移行のみサポートしています。
本手順は、以下に関する基本的な知識を有する作業者を対象としています。
- FRUCtoS
- Docker
注意
- ダンプツールではFRUCtoSリポジトリのリソースの登録・改変履歴をテキストファイルに出力し、リポジトリのバックアップやデータ移行に用いることができます。その性質上内部には機密性の高いデータが含まれるため、取り扱いに際しては運用ルール等を定めて厳格に取り扱うことが求められます。
- バックアップ等データの復元可能な準備を行ってから実施してください。
2. サポート環境
以下の環境で利用することを想定しています。
- OS
- Windows Server 2019
- Windows 10 Pro
- CentoOS7
- CentoOS8 Stream
- Ubuntu 18.04 LTS
- Ubuntu 20.04.3 LTS
- MacOS 10.14
3. 準備
3.1. 必要な資材
- v2.2.0-dump-tools-import
- 通常リソースのインポートの資材
- v2.2.0-dump-tools-auditevent-import
- 監査ログのインポートの資材
- 監査ログのデータ移行を行う場合のみ必要
3.2. 資材のダウンロード
v2.2.0-dump-tools-importは、FRUCtoSの資材のdump-tools
フォルダに、
v2.2.0-dump-tools-auditevent-importは、FRUCtoSの資材のdump-tools-auditevent
フォルダにそれぞれ入っています。
FRUCtoSの資材をお持ちでない場合は、こちらからお申込みください。
3.3. 配布資材の構成
- v2.2.0-dump-tools-importのフォルダ/ファイル構成は以下となっています。
v2.2.0-dump-tools-import/
|-- Import.ps1 ・・・インポート時に実行するファイル(Windows環境)
|-- Import.sh ・・・インポート時に実行するファイル(Linux/Mac環境)
|-- README.md
|-- fructoslog ・・・デフォルトでインポートするファイルが存在するディレクトリ
`-- tools
- v2.2.0-dump-tools-auditevent-importのフォルダ/ファイル構成は以下となっています。
v2.2.0-dump-tools-auditevent-import/
|-- AuditEventImport.ps1 ・・・インポート時に実行するファイル(Windows環境)
|-- AuditEventImport.sh ・・・インポート時に実行するファイル(Linux/Mac環境)
|-- README.md
|-- fructoslog ・・・デフォルトでインポートするファイルが存在するディレクトリ
`-- tools
注意
docker-composeのバージョンがv2.0.0以上の場合、以下ファイル内のdocker-compose
コマンドをdocker compose
コマンドに修正した後ご利用ください。
・ Import.ps1
・ Import.sh
・ AuditEventImport.ps1
・ AuditEventImport.sh
4. インポート手順
通常リソースと監査ログのデータ移行を行う場合は、4.1.以降の全ての手順を実施してください。
通常リソースのみデータ移行を行う場合は、4.1., 4.2., 4.3., 4.6., 4.7. のみ実施してください。
4.1. FRUCtoSの停止
FRUCtoSの配置フォルダへ移動して以下コマンドを実行します。
Powershell/Shelldocker-compose stop tomcat
4.2. 【通常リソース】インポートの準備
- Windowsの場合
- Linux/Macの場合
- v2.2.0-dump-tools-importをFRUCtoSの配置フォルダ直下に配置します。
- v2.2.0-dump-tools-import/Import.ps1をメモ帳などで開き、ユーザー設定項目のインポート元を修正してください。デフォルトはv2.2.0-dump-tools-import/fructoslogとなっています。
- インポート元には通常リソースのエクスポート時のgzファイルが存在するディレクトリを指定してください。
- もしくはエクスポート時のgzファイルをv2.2.0-dump-tools-import/fructoslogに配置してください。
# =============== ユーザー設定項目 ===============
## インポートするファイルが存在するディレクトリ
$TransactionlogFilePath="$(pwd)/fructoslog/"
# ================================================
- v2.2.0-dump-tools-importをFRUCtoSの配置フォルダ直下に配置します。
- v2.2.0-dump-tools-import/Import.shをメモ帳などで開き、ユーザー設定項目のインポート元を修正してください。デフォルトはv2.2.0-dump-tools-import/fructoslogとなっています。
- インポート元には通常リソースのエクスポート時のgzファイルが存在するディレクトリを指定してください。
- もしくはエクスポート時のgzファイルをv2.2.0-dump-tools-import/fructoslogに配置してください。
# =============== ユーザー設定項目 ===============
## インポートするファイルが存在するディレクトリ
TRANSACTIONLOG_FILE_PATH="$(pwd)/fructoslog/"
# ================================================
4.3. 【通常リソース】インポートの実施
- Windowsの場合
- Linux/Macの場合
v2.2.0-dump-tools-importで以下コマンドを実行します。
PowershellPowerShell .\Import.ps1
インポートが開始されるので、コマンドが終了するまで待機します。
コマンド終了後、以下コマンドを実行します。 0 が表示されれば正常に終了しています。
Powershellecho $lastexitcode
tip
環境によりPowerShellスクリプトが実行出来ない場合は、必要に応じてPowerShellスクリプトの実行に先立ち、 以下の「Windowsの実行ポリシーの設定」や「PowerShellスクリプトのプロパティ変更」を行ってください。
実行ポリシーの設定
PowerShellSet-ExecutionPolicy RemoteSigned -Scope Process
『y』を入力してください。
プロパティ変更
Import.ps1ファイルの『セキュリティ』を次の手順で許可にしてください。- Import.ps1ファイルをエクスプローラーで選択し、マウスボタン右クリックでプロパティを表示します。
- 『全般』タブの『セキュリティ:』の『許可する(K)』をチェックします。
v2.2.0-dump-tools-importで以下コマンドを実行します。
Shellsh Import.sh
インポートが開始されるので、コマンドが終了するまで待機します。
コマンド終了後、以下コマンドを実行します。 0 が表示されれば正常に終了しています。
Shellecho $?
注意
監査ログのデータ移行を行う場合、必ず 4.5. 【監査ログ】インポートの実施後に通常のリソースのCRUDやSearchを実施してください。
4.5. 【監査ログ】インポートの実施前に通常のリソースのCRUDやSearchを実施すると監査ログのデータ移行に失敗する可能性があります。
4.4. 【監査ログ】インポートの準備
監査ログのインポートの準備
- Windowsの場合
- Linux/Macの場合
- v2.2.0-dump-tools-auditevent-importをFRUCtoSの配置フォルダ直下に配置します。
- v2.2.0-dump-tools-auditevent-import/AuditEventImport.ps1をメモ帳などで開き、ユーザー設定項目のインポート元を修正してください。デフォルトはv2.2.0-dump-tools-auditevent-import/fructoslogとなっています。
- インポート元には監査ログのエクスポート時のgzファイルが存在するディレクトリを指定してください。
- もしくはエクスポート時のgzファイルをv2.2.0-dump-tools-auditevent-import/fructoslogに配置してください。
# =============== ユーザー設定項目 ===============
## インポートするファイルが存在するディレクトリ
$TransactionlogFilePath="$(pwd)/fructoslog/"
# ================================================
- v2.2.0-dump-tools-auditevent-importをFRUCtoSの配置フォルダ直下に配置します。
- v2.2.0-dump-tools-auditevent-import/AuditEventImport.shをメモ帳などで開き、ユーザー設定項目のインポート元を修正してください。デフォルトはv2.2.0-dump-tools-auditevent-import/fructoslogとなっています。
- インポート元には監査ログのエクスポート時のgzファイルが存在するディレクトリを指定してください。
- もしくはエクスポート時のgzファイルをv2.2.0-dump-tools-auditevent-import/fructoslogに配置してください。
# =============== ユーザー設定項目 ===============
## インポートするファイルが存在するディレクトリ
TRANSACTIONLOG_FILE_PATH="$(pwd)/fructoslog/"
# ================================================
4.5. 【監査ログ】インポートの実施
監査ログのデータ移行を行わない場合、本手順はスキップしてください。
監査ログのインポートの実施
- Windowsの場合
- Linux/Macの場合
v2.2.0-dump-tools-auditevent-importで以下コマンドを実行します。
PowershellPowerShell .\AuditEventImport.ps1
インポートが開始されるので、コマンドが終了するまで待機します。
コマンド終了後、以下コマンドを実行します。 0 が表示されれば正常に終了しています。
Powershellecho $lastexitcode
tip
環境によりPowerShellスクリプトが実行出来ない場合は、必要に応じてPowerShellスクリプトの実行に先立ち、 4.3. 【通常リソース】インポートの実施と同様に「Windowsの実行ポリシーの設定」や「PowerShellスクリプトのプロパティ変更」を行ってください。
v2.2.0-dump-tools-auditevent-importで以下コマンドを実行します。
Shellsh AuditEventImport.sh
インポートが開始されるので、コマンドが終了するまで待機します。
コマンド終了後、以下コマンドを実行します。 0 が表示されれば正常に終了しています。
Shellecho $?
4.6. FRUCtoSの起動
FRUCtoSの配置フォルダへ移動して以下コマンドを実行します。
Powershell/Shelldocker-compose start tomcat
4.7. 【通常リソース】インポートされたデータの確認
- REST APIクライアントからreadまたはsearchをリクエストして確認します。
4.8. 【監査ログ】インポートされたデータの確認
監査ログのデータ移行を行わない場合、本手順はスキップしてください。
監査ログのインポートの確認
- (管理システムを導入している環境のみ)管理システムの監査ログ管理画面から監査ログを検索して確認します。