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