はじめに
近年、企業におけるシステム連携の重要性は日々高まっています。データ連携処理が一時でも停止すれば、業務の停滞や重要なデータの欠落を招き、信頼性や生産性に大きな影響を及ぼしかねません。
Simple Data Integrator(SDI)は、柔軟かつ汎用的なデータ連携を実現するツールとして、多くのシステムに導入可能です。シングルノード構成では、障害やメンテナンス時に一時的な停止リスクがありましたが、構成次第でSDIもHA構成を実現することが可能です。
HA構成の全体像
Simple Data Integrator(SDI)の HA(高可用性)構成は、シンプルかつ実用的な冗長構成として設計することが可能です。
基本的な考え方としては、複数のノード(物理サーバまたは仮想マシン)に SDI をインストールし、共通の設定やリソースを共有できる環境を構築することが前提となります。
■ 構成のポイント
1、共有ストレージの活用
各種接続、マッピング、スケジューラーなどの設定を共有ストレージに保存することで、すべての SDI ノードが常に同じ設定を参照可能な状態を実現します。
2、アクティブ-スタンバイ方式
1 台の SDI ノードが稼働中に、もう 1 台は待機状態(スタンバイ)となります。障害発生時にはスタンバイノードへ切り替わる構成です。
3、自動切替(フェイルオーバー)の実装
切り替えは heartbeat による監視により自動で行われ、可用性の高いシステム運用を実現します。
前提条件
1. インフラ環境の前提
-
複数ノード(2台)のサーバまたは仮想マシンを用意
- OSはSDIが対応するWindows
-
共有ストレージの用意
- 対応例:SMB、NFS、Amazon FSx、OCI File Storage など
- すべてのノードが、共有ストレージに対して 読み書き(READ/WRITE)可能であることが前提となります。
2. ソフトウェア環境の前提
-
同一バージョンのSDIをすべてのノードにインストールできること
-
SDIの設定ディレクトリが共有ストレージに配置でき、
各ノードから同じパスで参照可能であること -
外部接続先(DB、APIなど)への接続できること
構築手順
ここでは、Simple Data Integrator(SDI)を高可用構成(HA)でセットアップするための基本手順を説明します。複数ノード構成を前提としています。
ステップ 1:SDIの個別インストール
各ノードにSDIをインストールします。
-
注意:仮想マシンのコピー(クローン)を使用しないでください
- VMコピーによってSDIのエージェントIDが重複する可能性があります
- 各ノードにはクリーンな環境で個別にSDIをインストールしてください
インストール手順につきまして下記の記事をご参照ください。
Simple Data Integrator (SDI) 実践入門:SDIインストール
ステップ 2:環境設定の反映
各ノードで、設定ファイルの参照先を共有ストレージのパスに変更します。
プライマリノード SDI 設定
1. メニュー [プリファレンス] → [システム設定] を選択し、設定画面を開きます。
2. システム設定画面にて、以下の項目を入力・保存します。
No | 項目 | 説明 |
---|---|---|
1 | 設定ファイルフォルダー | 共有ストレージのパスを入力します。例:\\fileservr\shared\sdi
|
2 | エージェント名 | このノードを識別するためのエージェント名を入力します。例:AGENT01
|
3 | 高可用性構成 |
On に設定します。 |
4 | プライマリ or セカンダリー | このノードがプライマリであることを示すため、プライマリ を選択します。 |
3. SimpleDataIntegratorWorker サービス再起動
3.1 「サービス管理ツール」を開きます。
3.2 SimpleDataIntegratorWorkerを右クリックして、[再起動]を選択します
セカンダリーノード SDI 設定
1. メニュー [プリファレンス] → [システム設定] を選択し、設定画面を開きます。
2. システム設定画面にて、以下の項目を入力・保存します。
No | 項目 | 説明 |
---|---|---|
1 | 設定ファイルフォルダー | 共有ストレージのパスを入力します。例:\\fileservr\shared\sdi
|
2 | エージェント名 | このノードを識別するためのエージェント名を入力します。例:AGENT02
|
3 | 高可用性構成 |
On に設定します。 |
4 | プライマリ or セカンダリー | このノードがセカンダリーであることを示すため、セカンダリー を選択します。 |
5 | フェイルオーバーポリシー | Failover Threshold を 1 (単位:分) に設定 |
3. SimpleDataIntegratorWorker サービス再起動
3.1 「サービス管理ツール」を開きます。
3.2 SimpleDataIntegratorWorkerを右クリックして、[再起動]を選択します
動作確認
プライマリノード正常時の動作確認
プライマリノードのワーカーエージェントモニタリング画面
セカンダリノードのワーカーエージェントモニタリング画面
プライマリノードのワーカーエージェントのステータスが Running
、セカンダリノードのステータスが Standby
となっていることを確認できます。
フェイルオーバー動作確認
プライマリノードのシャットダウン
セカンダリノードのワーカーエージェントモニタリング画面
プライマリのワーカーエージェントは NotActive
、設定された Failover Threshold の時間が経過すると、セカンダリのワーカーエージェントは Running
の状態に切り替わります。
セカンダリノードのエージェントが昇格し、タスクを実行していることを確認できます。
フェイルバック動作確認
プライマリノードの起動
プライマリノードを起動し、ワーカーエージェントの起動が完了すると、プライマリのステータスは再び Running
、セカンダリは Standby
に戻っていることを確認できます。
注意点
- 通常、ODI Studio を実行する OS ユーザーと、ワーカーエージェント(
SimpleDataIntegratorWorker
サービス)を実行する OS ユーザーは異なります。
そのため、両方のユーザーが共有ストレージにアクセスできる権限を持っていることを事前に確認してください。
補足説明
上記で説明した HA(高可用性)構成におけるホットスタンバイおよび自動フェイルオーバー機能は、Developer Edition および Enterprise Edition のみに対応しています。
Express EditionおよびStandard Edition などではこれらの機能は利用できませんので、
構成を検討する際はエディションの選定にもご注意ください。
以上です。
Simple Data Integrator (SDI) 実践入門