背景
近年、AWSサービスとJP1/AJS3を利用するシステムの立案、設計のみならず、運用・保守に携わると必ず聞かれる質問。
「JP1でAWS S3のファイル監視ってできないの?」
JP1/AJS3には「ファイル監視ジョブ」というものがあり、 特定のエージェントホスト上の、特定のファイルに対する、特定のアクション(作成・更新・削除など)を監視できる。 検知したら、後続の業務バッチを実行するなど利用頻度が高いジョブ。 これをAWS S3に置き換えて実現できないかというわけだ。
結論、「できる」。
ただし、標準機能では利用できないため、後述の「AWSサービス連携ツール」の導入が必要となる。
前提条件
JP1/AJS3 12-00以降
JP1/AJS3 - View(ジョブを定義する側)環境:Microsoft .NET Framework 4.5 以降
やること
日立サポートから「AWSサービス連携ツール」をもらう
オンラインサポートなどで依頼すればもらえる。導入マニュアル同梱。
基本的に受領したマニュアルに記載されていることを実施するだけでOK。割と簡単。
やることを大まかに上げると、
- エージェントホストに、AWS CLI バージョン2 を導入
- エージェントホストから、AWS S3 へアクセスできるようにする(IAMロールの割り当てなど)
- AWSサービス連携ツールの導入(ファイルの配置とアクセス許可)
- JP1/AJS3 - Viewのセットアップ(カスタムジョブ登録)
JP1/AJS3サービスの再起動が必要
上記を実施すると、「Amazon S3連携ジョブ」を定義できるようになる。
さいごに
「Amazon S3連携ジョブ」は、通常のファイル監視ジョブのようにS3上の特定のファイルを監視できる他、ファイル操作(作成、削除、ダウンロードなど)も可能。
早く、標準機能で実装してほしい…