JP1/AJS環境を運用していると、「Manager Aから、別のManager Bが動いているサーバーへジョブを投げたい」という構成に直面することがあります。
結論から言うと、JP1/AJS ManagerはAgent機能を標準で内包しているため、別製品の追加購入・インストールをすることなく、そのまま他のManagerのAgent(実行ホスト)として利用可能です。
具体的な設定手順とバージョン互換の注意点をまとめました。
1. なぜ「そのままAgent」になれるのか?
JP1/AJSの製品構造上、ManagerのインストーラーにはAgentのモジュールがすべて含まれています。そのため、新規にAgentライセンスを買ったり、追加でモジュールを導入したりする必要はありません。
ただし、依頼元となるManager(Manager A)のバージョンは、ジョブを受ける側(Manager B)のバージョンと同等以上(Manager A ≧ Manager B)である必要があります。依頼元が古いバージョンの場合、正常に動作しない可能性やサポート対象外となるため注意してください。
2. 具体的な設定手順(4つのステップ)
Manager B(実行先)をAgentとして認識させ、Manager A(依頼元)からジョブを実行するための具体的な設定手順です。
STEP 1:ネットワークとホスト解決の準備
両サーバー間での双方向通信を確立します。
-
ホスト名解決: 両サーバーの
hostsファイルやDNSで、相互にホスト名からIPアドレスが引ける状態にします。 -
ポート開放: JP1/BaseおよびJP1/AJS3が使用するポート(例:
22394/tcp,20241/tcp,20252/tcp等)の通信をファイアウォールで許可します。
STEP 2:Manager B(実行先)でユーザーマッピングを設定
Manager Aから要求が来た際、どのOSユーザーで処理を動かすかを定義します。
-
Manager Bで 「JP1/Base環境設定」 画面を開く(または
jbssetusrmapコマンドを使用)。 -
[ユーザーマッピング] タブを選択する。
-
サーバー定義として「Manager Aのホスト名(または
*)」を指定し、「Manager Aで実行するJP1ユーザー名」 と 「Manager B側のOSユーザー名」 をマッピングして登録する。
STEP 3:Manager A(依頼元)にエージェントホストを登録
Manager Aに対して「Manager BというAgentが存在する」ことを教え込みます。
GUIで設定する場合:
-
JP1/AJS3 – View でManager Aに接続し、[エージェント構成]画面を開く。
-
[エージェントの追加]から Manager Bのホスト名 を入力して登録する。
コマンドで設定する場合(Manager A上で実行):
ajsagentadd -h <Manager Bのホスト名>
STEP 4:ジョブ定義と実行確認
-
JP1/AJS3 – Viewでジョブを作成する際、詳細定義の [実行ホスト] に Manager Bのホスト名 を指定する。
-
ジョブを実行登録し、Manager B側で正しく処理が終了するか確認する。
3. 運用上の注意点
Manager Bは自身が管理するスケジュールジョブに加え、Manager Aから飛んでくるジョブも同一サーバー上で実行することになります。
CPUやメモリなどのリソース消費が増加するため、Manager B側の ジョブ多重度(同時実行数の上限設定) をあらかじめ見直しておくとトラブルを防げます。
構成の追加コストをかけることなく、ユーザーマッピングとエージェント登録だけでマルチマネージャー間のジョブ連携は実現できます。既存リソースを有効活用したい場合にぜひ試してみてください。
