Agent方式の設定ポイント
こんにちは、よろず相談担当 すぎもんです。本日は、HULFT-WebConnectの設定方法のポイントについてご紹介します。
今回は2回目で、Agent方式の設定について解説いたします。
Agent方式はWebConnectの最も基本的な使い方で、通常のHULFT通信をインターネット経由にするだけになります。ですから、従来ISDN経由でHULFTを利用していた場合はインターネット経由に簡単に切り替えられるので、ぜひ参考にしてください。
Agent方式の特長
Agent方式は、Agentというモジュールから予めWebConnectサービスにTLSセッションを確立し、このTLSセッションを経由して双方のHULFT同士を通信させる仕組みです。WebConnectではAgent方式が最も基本的な接続方式で、どの転送方式も必ず通信の片側(管理者側のHULFT)がこの方式で接続します。
設定の流れ
設定箇所は、次の3ポイントを押さえる必要があります。
ちなみに、Agent方式では管理者側の設定手順と利用者側の設定手順が同じになります。
下図は、前回も紹介したWebConnectのオンラインマニュアル(ファーストステップガイド)に記載のある設定の流れで、赤枠部分が今回の設定箇所です。同じ内容の赤枠が2箇所ありますが、どちらも同じ設定の手順になります。
設定の手順
Management Consoleの設定
- コネクションIDの設定(接続設定)
コネクションIDとは、各クライアント(Agent、CLI、Webブラウザ、D-Client)がWebConnectサービスに接続する際の認証に使われる設定です。要するに、ID/PWのIDがコネクションID、PWがコネクションパスワードになります。
クライアント種別は、Agent方式の場合HULFTにチェックします。
注意ポイント
コネクションIDはWebConnectサービス全体でユニークにする必要があります。
重複のないIDをご検討ください。
注意ポイント
中継許可は、各コネクションID毎に配信許可、集信許可を設定するものです。
そのため、片方のコネクションIDにだけ許可した場合、もう一方のコネクションIDには未登録なので中継が拒否されます。
必ず、両方のコネクションIDに登録してください。
設定方法はシンプルで、自コネクションIDと相手コネクションID、転送の方向として配信か集信を選択するだけです。
Agentの設定
Agentモジュールのダウンロード
まず、Management ConsoleのダウンロードページからAgentモジュールを入手します。今回の導入環境は、Windows Server 2019なのでWindows x64版をダウンロードします。
Agentのインストール
インストール方法は、ダウンロードしたモジュール(zip)を展開するだけです。今回は、HULFT Family製品のデフォルトの導入先に展開します。
Agentの設定
Agentは2つの設定ファイルで構成されています。
1. agent.conf(Agent設定ファイル)
agent.confは、Agent識別子(Agent ID)、TCPポート番号、WebConnect接続情報、その他の動作設定などを行います。
下に記載のあるAgent.conf(サンプル)が、今回管理者側サーバのagent.confに設定した内容です。ここでは、詳細な設定内容はここでは割愛しWebConnectサービスへの接続に最低限必要なポイントを説明します。
必ず変更が必要な設定
キー名 | 説明 |
---|---|
agent.id | Agent ID。WebConnectサービスがAgentをユニークに識別するための識別子。 |
注意ポイント
コネクションID+Agent IDの組み合わせがWebConnectサービス全体でユニークになる必要があります。
環境に応じて変更が必要な設定
キー名 | 説明 |
---|---|
connection.keystore.filepath | コネクションID認証ファイルのパス。このファイルにWebConnectサービスへ接続に必要な認証情報を設定する。(後述) |
agent.sender.port | 配信Agentの待受ポート。HULFTの詳細ホスト情報のPROXYポートNo.にこの値を設定する必要がある。 |
agent.command.port | コマンド用内部通信ポート。サーバ内部で利用するのみなのでシステム内で重複が無ければ良い。 |
これらの値は、特に変更する必要が無ければデフォルトのままでOKです。
agent.id=AG01(ユニークな値で任意に設定)
agent.sender.port=46000 (デフォルト値)
agent.command.port=1099(デフォルト値)
connection.keystore.filepath=./connection.keystore(デフォルト値)
service.accesspoint=service-ap.tokyo.webconnect.hulft.com
#proxy.host=
#proxy.port=
#proxy.username=
#proxy.password=
windows.service.startup.sender=on
windows.service.startup.receiver=on
update.action=alert
update.action.onError=continue
session.keepalive.interval=60000
session.management.reconnect.times=120
session.management.reconnect.interval=30
jvm.options=-Xms64M -Xmx256M
2. connection.keystore(コネクションID認証ファイル)
WebConnectサービスに接続するための認証情報としてID/PWを記述するファイルです。
記述形式はシンプルで次の通りです。
コネクションID:コネクションパスワード
CON-AG01:XXXX (Management Consoleの接続設定で登録したコネクションパスワード)
Agentの起動
AgentはJava上で動作するため、予めJava環境の導入が必要です。ここでは、Java導入方法については割愛します。
HULFT-WebConnectの動作環境へのリンク
1. 環境変数(JAVA_HOME)の設定
Windows Server 2019 でのJava_HOMEの設定方法を一例として簡単に紹介します。
システム環境変数にJAVA_HOMEのパスを設定します。今回は、AdoptOpenJDKのJDK11を設定します。
2. Windowsサービスへの登録
Agentの起動方法はいくつかありますが、今回はWindowsサービスへ登録する方法を紹介します。
サービス登録には、下図のようにサービス登録用のツール service.bat を利用します。
Windowsサービス登録 コマンド実行例
> cd \HULFT Family\webconnect-agent-2.3.1\bin (Agent導入先\bin ディレクトリに移動)
> service install HULFT-WebConnect-020301 (今回は、「HULFT-WebConnect-020301」というサービス名で登録)
3. Agentの起動
サービスからHULFT-WebConnect-020301を開始します。
Management Consoleから起動したAgentが表示されていれば正常に動作しています。
Agentは起動されると常時WebConnectサービスとセッション(WebSocket)が確立されている状態となります。このセッションがVPNと同様の働きをするため、相手側からファイル配信が来てもHULFTは通常の動きと同様にファイル受信することができます。
AgentはWebConnectサービスに正常に接続できなかったときは異常終了するのでご注意ください。
HULFTの設定
実は、WebConnectの設定の考え方で一番難しいのがHULFTの設定になります。
HULFTの設定をシンプルにまとめると以下の2つの表(utlsendのとき、utlrecvのとき)になります。
HULFT設定のサマリ
1. 配信要求(utlsend)を行う場合
管理情報 | 配信側 | 集信側 |
---|---|---|
配信管理情報 | 通常の配信設定 | - |
集信管理情報 | - | 通常の集信設定 |
転送グループ情報 | 必要 | - |
詳細ホスト情報(ホスト名) | 集信側のConID_AgID_Host(*1) | 配信側のHost(*1) |
詳細ホスト情報(PROXYサーバ名) | 配信側AgentのHost(*1) | - |
詳細ホスト情報(PROXYポートNo.) | 配信側Agentのagent.sender.port(agent.confに定義)の値 | - |
*1 ConID:コネクションID、AgID:Agent ID、Host:ホスト名
2. 送信要求(utlrecv)を行う場合
管理情報 | 要求受付(配信)側 | 送信要求(集信)側 |
---|---|---|
配信管理情報 | 通常の配信設定 | - |
集信管理情報 | - | 通常の集信設定 |
転送グループ情報 | - | - |
詳細ホスト情報(ホスト名) | 集信側のConID_AgID_Host(*1) | 配信側のConID_AgID_Host(*1)と配信側HULFTのHost(*1)の両方の登録が必要 |
詳細ホスト情報(PROXYサーバ名) | 配信側AgentのHost(*1) | 集信側AgentのHost(*1) |
詳細ホスト情報(PROXYポートNo.) | 配信側Agentのagent.sender.port(agent.confに定義)の値 | 集信側Agentのagent.sender.port(agent.confに定義)の値 |
*1 ConID:コネクションID、AgID:Agent ID、Host:ホスト名
HULFT設定のポイント
サマリの表でもわかるとおり、ポイントは詳細ホスト情報だけです。
理解しておくポイントは次の4つです。
1.配信側が設定するのは、相手側の ConID_AgentID_Host
2.送信要求側が設定するのも、相手側の ConID_AgentID_Host
3.集信側が設定するは、相手側のHostのみ(通常のホスト設定)
4.PROXY設定は、自分側Agentのホスト名+ポート番号
注意点は、集信側は通常のホスト設定で良いというところです。
これは、配信側の詳細ホスト情報が相手先ホストへの転送ルート(コネクションID+AgentID+HULFTホスト名+PROXY) を設定する必要があるのに対して、集信側は相手先HULFTホスト名のチェックしかしないためです。(集信AgentからHULFTにはホスト名しか通知されない)
これをみて、「送信要求(utlrecv)の設定はもっと複雑になっていない?」といった突っ込みが有りそうですが、
HULFTの送信要求の仕組みは、
・送信要求処理
・配信処理
は全く別々の独立した処理として動作します。
送信要求(utlrecv)処理は、相手側HULFTに”配信処理を依頼する”だけです。送信要求を受け付けた相手側HULFTが代わりに配信要求(utlsend)を代行処理してくれる、といったイメージです。(正確には少し違いますが、このようにイメージすればここではOKです。)
ですから、送信要求処理で1トランザクションが終わり、別トランザクションとして配信処理が非同期に処理される、と理解した方がわかりやすい。
ですから、送信要求処理では相手側のConID_AgentID_Hostが(相手先の接続ルートとして)必要で、集信処理として相手側のHostと、2つの詳細ホスト情報が必要になります。
また、送信要求受付側はイコール配信側なので、配信側と同様の設定が必要になります。
このように理解すると、HULFT設定のサマリの表の内容と辻褄が合うと思います。
疎通確認
1. 配信要求
通常のHULFTの操作で問題ありません。
HULFT管理画面からの配信要求でも、コマンド(utlsend)からでも問題ありません。
2. 送信要求
送信要求についてはWebConnect特有の操作が必要になるので注意が必要です。
注意点は2つ。
- HULFT管理画面から実行できません。(エラーになります。)
- WebConnect特有のutlrecvコマンドのお作法が必須になります。
送信要求のやり方はutlrecvを用いますが、引数の指定方法に注意が必要です。
> utlrecv -f <FILEID> -h <ConID_AgID_Host> -msg0{{RCVCID:connectionID}}
FILEID:ファイルID
ConID_AgID_Host:詳細ホスト情報に登録した相手側のホスト名(コネクションID+Agent ID+HULFTホスト名)
connectionID:自分側のコネクションID
では、送信要求処理の実行例を見てみましょう。
送信要求コマンドの実行
送信要求側(集信側)HULFTの集信状況一覧とコンソールログ
送信要求受付側(配信側)HULFTの配信状況一覧とコンソールログ
以上、Agent方式の設定手順はご理解いただけたでしょうか?
HULFT-WebConnect 設定ガイド は、全6回のシリーズで順次公開予定です。
- 4つの転送方式の違い
- Agent方式の設定ポイント(本記事)
- CLI方式の設定ポイント
- Webブラウザ方式の設定ポイント
- D-Client方式の設定ポイント
- その他設定上の考慮ポイント
次回は、CLI方式について解説いたします。
本記事は、HULFT-WebConnect V3 マニュアルを参考にしています。