JP1サポート技術者ブログ

ジョブ管理

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

公開日:
更新日:
ジョブ管理
#AJS3
#開発
#クラウド

機能の概要

近年、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)

前提条件

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

  • エージェントホストにて、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サービス連携ツールを入手

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

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

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

※注意※

  • 後述するカスタムジョブで指定する実行プログラムのパスになります

  • Windowsホストの場合は「%windir%\System32」配下以外に配置してください

  • 共有ディスクやNFS以外のローカルディスクに配置してください

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をインストールしているドライブと同じドライブに配置してください

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

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

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

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

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

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

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

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

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

操作種別:
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連携ジョブ(ダウンロード)

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

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

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

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

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

動作確認

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

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

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

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

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

まとめ

今回は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サポートセンターは、「JP1認定技術者」の資格を持つサポート技術者の対応が支持され、お客様満足度は10年連続90%以上を維持しています。

紹介サイトでは、サポートセンターが誇る3つの特徴とJP1の最新情報満載の提供サービスを、お客様の声とともにご紹介しています。是非ご覧ください。

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

ページトップへ戻る


この記事をシェアする

この記事を書いたスタッフ

著者の顔写真

引間 康将

引間 康将