JP1サポート技術者ブログ

  • ジョブ管理
2021.11.29

【JP1/AJS3】Amazon S3のファイルをJP1で監視してみよう!

Amazon S3のファイルをJP1で監視してみよう!

機能の概要

近年、Amazon Simple Storage Service(以下、Amazon S3)を活用する企業が増加しています。また、社内のバッチ処理でもAmazon S3上のファイルを用いた処理のニーズが増加しています。

日立製作所から提供されている「AWSサービス連携ツール」を用いると、JP1/AJS3とAmazon S3 が連携可能となるカスタムジョブ(以下、S3連携ジョブ)を利用できます。 S3連携ジョブを利用すると、Amazon S3 バケット内のファイルのダウンロード/アップロード、削除やコピーの他、作成/削除/更新を契機とするファイル監視の処理をGUIで定義し、他のJP1のジョブと同様に監視することができます。 AWS Command Line Interface (以下、AWS CLI) によるコマンドの処理を作り込む必要はありません。

そのため、例えば、Amazon S3 バケット内に特定のファイルが更新されるまで監視を行い、更新されたらエージェントホストにダウンロードを行うといった処理が可能です。
※下記図表のサービス名表記:Amazon Elastic Compute Cloud(以下、Amazon EC2)

JP1/AJS3 Amazon S3上のファイル操作概要

前提条件

大まかな条件は下記の通りです。

  • エージェントホストにて、AWS CLI バージョン2 を導入
  • JP1/AJS3 12-00以降
  • JP1/AJS - View(ジョブを定義する側)環境:Microsoft .NET Framework 4.5 以降
  • エージェントホストから、AWS S3 へアクセスできるよう、いずれかの対応を行う
     ・IAMロールをエージェントホスト(EC2 インスタンス)に割り当てる
     ・IAMユーザーにアタッチされたアクセスキーを生成し、「aws configure」でプロファイル
      (長期的な認証情報)を作成する

(補足)
「aws s3 ls s3://バケット名」等を実行し、バケットにアクセス可能かご確認ください。

その他、前提条件の詳細につきましては弊社もしくは、JP1の保守契約先にご確認ください。

Amazon S3連携ジョブの事前準備

本ブログでは、Windows 環境を前提にご紹介します。


ジョブ実行先ホストのセットアップ

1. AWSサービス連携ツールを入手

 ご契約いただいている保守先から入手します。
 アシストとご契約いただいたいるお客様は、ユーザーサイトから入手可能です。
 詳細は弊社サポートセンターまでお問い合わせください。

AWSサービス連携ツールの入手1


2. AWSサービス連携ツール(ajsawsフォルダ)を任意のパスに配置

 例) "C:\Program Files (x86)\Hitachi\JP1AJS2\ajsaws"

 ※注意※
 ・後述するカスタムジョブで指定する実行プログラムのパスになります
 ・Windowsホストの場合は「%windir%\System32」配下以外に配置してください
 ・共有ディスクやNFS以外のローカルディスクに配置してください

AWSサービス連携ツールの入手2

AWSサービス連携ツールの入手3


3. 「AWSサービス連携ツールのパス/log」の書き込み・読み込み権限を設定

4. AWS CLI バージョン2をインストール後の対応として、インストールしたサーバーで下記を実施


 JP1/AJS3のサービスを再起動

5. 「aws configure」でプロファイルを作成している Windows 環境の場合は、
 下記作業を追加で実施


 プロファイルの生成先フォルダ「%USERPROFILE%\.aws」を
 「%WINDIR%\System32\config\systemprofile\」にコピーし、
 「.aws」フォルダおよび配下のファイルに「Everyone」の読み込み権限を付与

JP1/AJS3 - View側のセットアップ

S3連携ジョブは、カスタムジョブです。
そのため、ユーザーがカスタムジョブを事前に作成する必要があります。
JP1/AJS3 - View を導入している端末で作業を行います。


1. AWSサービス連携ツールに含まれている、ajsawsdefフォルダを任意のパスに配置

 ※注意※
 ・JP1製品のインストールパス配下以外に配置してください
 ・共有ディスクやNFS以外のローカルディスクに配置してください
 ・JP1/AJS3 - Viewをインストールしているドライブと同じドライブに配置してください

AWSサービス連携ツールの入手4

今回の手順では、「Hitachi」フォルダ配下に「JP1AJS2Vtool」フォルダを作成した上で、「ajsawsdef」フォルダを配置します。


2. AWSサービス連携ジョブのアイコンファイル(ajsawsdef\image\custom)を「JP1/AJS3 - Viewインストール先フォルダ\image\custom」に配置

AWSサービス連携ツールの入手5

AWSサービス連携ツールの入手6


3.下記設定でカスタムジョブを登録

 ・名前:任意
 ・コメント:任意
 ・定義プログラム:項番1のパス\bin\ajsawss3def.bat

  例:"C:\Program Files (x86)\Hitachi\JP1AJS2Vtool\ajsawsdef\bin\ajsawss3def.bat"

 ・実行プログラム:「ジョブ実行先ホストのセットアップ」の項番1で配置したパス
  \bin\ajsawss3.exe

  例:"C:\Program Files (x86)\Hitachi\JP1AJS2\ajsaws\bin\ajsawss3.exe"

  ・バージョン:0600
  ・クラス名 :AWSS3PC

AWSサービス連携ツールの入手7


Amazon S3連携ジョブの定義方法

本ブログでは、S3連携ジョブを用いて、S3の任意のファイルを監視し、更新を契機に監視対象ファイルをエージェントホストにダウンロード後、そのファイルをもとにPCジョブで処理を行うケースを例に、S3連携ジョブの定義方法をご紹介します。

AWSサービス連携ツールの入手8


Amazon S3連携ジョブ(ファイル監視)

1. カスタムジョブメニューから、登録済みのS3連携ジョブをドラッグアンドドロップ

AWSサービス連携ツールの入手9


2. S3連携ジョブの詳細定義画面を開き[詳細]ボタンを押下

AWSサービス連携ツールの入手10


3. ファイルの更新を監視できるよう、下記の通り設定

AWSサービス連携ツールの入手11


操作種別:
  S3ファイルに対する操作種別を選択します。
  S3ファイルの転送、削除に関する操作をする場合は[ファイル操作]を選択します。
  S3ファイルの監視を行う場合は[ファイル監視]を選択します。

監視対象(S3 URL):
  監視対象のオブジェクトパス(S3 URI)を入力します。
  複数ファイル(ワイルドカード)の監視はできません。

監視操作:
  監視対象のS3ファイルへの監視操作をOR条件で選択します。

監視間隔:
  ファイル操作が完了しているかを監視する間隔を入力します。

プロファイル名:
  AWS CLIで使用するプロファイルを利用する必要がある場合は、
  プロファイル名(--profile の引数)を入力します。

通信設定:
  ・接続タイムアウト時間
   →AWS CLIのソケットの通信接続のタイムアウト時間(--cli-connect-timeoutの引数)
    を入力します。

  ・受信タイムアウト時間
   →AWS CLIの、サーバからのパケットを最後に受信してから、
    次のパケットを受信するまでに待機する時間(--cli-read-timeoutの引数)
    を入力します。

オプション設定:
  →AWS CLIの追加オプションを入力します。同じオプションが重複して指定された場合は、
   後から指定された内容が有効になるので重複していないかは[コマンドラインプレビュー]にて
   ご確認ください。


Amazon S3連携ジョブ(ダウンロード)

ダウンロードの場合は、下記の通り設定
※ダウンロード先に、エージェントホスト側でのファイルの保存先フォルダを指定します。

AWSサービス連携ツールの入手12


ファイルの操作:
  S3ファイルに対する操作を[ダウンロード][アップロード][コピー][削除]の中から選択します。

ダウンロード元(S3 URL):
  単一ファイル指定/ワイルドカード指定
  →[ダウンロード][アップロード][コピー][削除]対象のファイルが1つのファイルか、
   複数のファイルかを選択します。

  [フルパス名]
  →[ファイルの操作]で選択した種別に応じて指定可能な項目が変化します。
   ダウンロード元(S3 URI)
   アップロード元(ファイルパス)
   コピー元(S3 URI)
   削除対象(S3 URI)

ダウンロード先(ファイルパス):
  [ファイルの操作]で選択した種別に応じて指定可能な項目が変化します。
   ダウンロード先(ファイルパス)
   アップロード先(S3 URI)
   コピー先(S3 URI)


動作確認

1. 下記の通りジョブを定義し、実行登録

AWSサービス連携ツールの入手13

AWSサービス連携ツールの入手14


2. 監視対象のS3のバケット内にあるファイルは下記状況

AWSサービス連携ツールの入手15


3. 監視対象のS3のバケット内にあるファイルを更新し、タイムスタンプが変わることを確認

AWSサービス連携ツールの入手16


4. 更新を検知し、S3のバケットから、ファイルをエージェントホストにダウンロード

AWSサービス連携ツールの入手17


5. ダウンロード処理と後続のジョブが完了し、正常終了

AWSサービス連携ツールの入手18

まとめ

今回はJP1 V12-00から利用可能なS3連携ジョブについてご紹介しました。事前の設定や前提条件がありますが、エージェントホストから Amazon S3へアクセスできれば、簡単に実装可能です。 また、S3連携ジョブであれば、AWS CLI の処理をコードレスかつGUIで定義できます。
JP1で AmazonS3 との連携を検討されている方は、ぜひご活用ください。

今回の記事と併せてご覧いただくと、より理解を深めていただける動画を公開しました。こちらもぜひご覧ください。



製品正式名称(略称表記) および機能対象バージョン

JP1/Automatic Job Management System 3 (JP1/AJS3) 12-00以降


JP1ブログをご覧いただいているみなさまへご案内

いつもJP1サポート技術者ブログをご覧いただきありがとうございます。

アシストとJP1保守契約を締結されている方は、Webサポートセンター「AWSC」をご利用いただけます。本ブログサイトではご紹介しきれない3,000件以上のFAQを公開していますので、是非ご利用ください。

また、アシストではJP1ユーザ企業様向けの無償セミナーや支援サービスを多数ご提供しています。JP1の潜在リスクを洗い出す診断サービスや、バージョンアップ時のノウハウをご紹介するセミナーなどご用意していますので、貴社の課題解決へとお役立てください。

アシストと保守契約を締結されていないお客様にもご参加いただけます。

詳細は、下記リンクよりご確認ください。


執筆者情報

2013年、株式会社アシスト入社。Oracle製品を担当後、2015年よりJP1の顧客サポートを担当。「超サポとは感情に働きかけるサポート」を信念にお客様にご満足いただけるサポートを提供できるよう、奮闘中。

趣味は、バイクツーリングと筋トレ。

引間 康将

関連している記事

  • ジョブ管理
2021.09.30

【JP1/AJS3】簡単になったJP1/AJS3のオンラインバックアップ機能を使ってみよう!

JP1/AJS3 V12.1で簡単に取得できるようになった、JP1/AJS3の組み込みDBのオンラインバックアップについて、実装時の検討ポイントや手順をご紹介します。

  • ジョブ管理
2021.08.30

【JP1/AJS3】何が嬉しい?JP1 V12.5で実装されたエージェントのログ強化について解説!

JP1 V12.5で実装された、JP1/AJS3-Agentのログ強化機能の2つのポイントを解説します

  • ジョブ管理
2021.07.30

【JP1/AJS3】実行登録を解除せず、ジョブの定義を変更する2つの方法

ジョブネットの実行登録をしたまま、ジョブの定義を変更する2つの方法をご紹介します。

ページの先頭へ戻る