JP1サポート技術者ブログ

  • ジョブ管理
2022.04.28

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

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

機能の概要

昨年、Amazon Simple Storage Service(以下、Amazon S3)と連携する機能をテーマに「【JP1/AJS3】Amazon S3のファイルをJP1で監視してみよう! 」のブログを執筆しました。この度、Microsoft Azure のサービスの1つである、Azure Blob Storage と連携が可能な機能が提供されたため、ご紹介します。

日立製作所から提供されている「Azureサービス連携ツール」を用いると、JP1/AJS3とAzure Blob Storage を連携させるカスタムジョブ(以下、BlobStorage連携ジョブ)が利用できます。BlobStorage連携ジョブを利用すると、Azure コマンド ライン インターフェイス(以下、Azure CLI)によるコマンド処理で、Azure Blob
Storage 上の任意のコンテナー内のBLOB(ファイル)のダウンロード/アップロード、削除やコピーの他、作成/削除/更新を契機とするファイル監視を行えます。

そのため、例えば、JP1/AJS3 で Azure Blob Storage 上 の任意のコンテナー内に存在する特定のファイルが更新されるまで監視を行い、更新されたらエージェントホストにダウンロードを行うといった処理が可能です。

JP1/AJS3 Azure Blob Storage上のファイル操作概要

前提条件

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

  • エージェントホストにて、Azure CLI 2.0 以降 を導入
  • JP1/AJS3 - Manager および JP1/AJS3 - Agent 12-00以降
  • JP1/AJS3 - View(ジョブを定義する側)環境:Microsoft .NET Framework 4.5 以降
  • エージェントホストから、Azure Blob Storage へアクセスできるよう、認証情報の設定を行う(※)

(※)…az storage blob list コマンドを用いて、エージェントホストから対象の
    コンテナーに保存されているファイルが参照できることをご確認ください。

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

BlobStorage連携ジョブの事前準備

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


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

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

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

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


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

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

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

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


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

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


 JP1/AJS3 - AgentもしくはJP1/AJS3 - Managerのサービスを再起動

5. Azure CLIコマンドが正常に動作するように、認証情報ファイルを用意

 認証情報ファイルとは、Azure のサービスに接続するために使用する Azureの認証情報を記述した
 ファイルです。このファイルを利用し、カスタムジョブ実行時にAzureのサービスに接続します。

 認証ファイルは、利用する認証方式によって記載する必須項目が異なります。
 認証方式の種類は下記の通りです。

認証方式
ユーザーアカウント(USER)
サービスプリンシパル
パスワードベース(SVPP)
証明書ベース(SVPA)
マネージドID
システム割り当て(MIDS)
ユーザー割り当て(MIDU)

(凡例)◯:必須指定項目です
    ✕:指定できない項目です(指定しても無視します)

①~⑧の項目は、ファイル内に定義する必要のある項目を表しています。
①~⑧の具体的な項目は下記の通りです。

# 記載形式
AuthenticationMethods=<認証方式><改行>
UserName=<ユーザー名><改行>
UserPass=<パスワード><改行>
ServicePrincipalName=<サービスプリンシパル名><改行>
ServicePrincipaPass=<サービスプリンシパル名に対するパスワード><改行>
Tenantname=<テナント名><改行>
CAFile=<証明書のファイル名><改行>
Identity=<ID><改行>

① AuthenticationMethods=<認証方式><改行>
 次のいずれかの認証方式を指定します。
  USER:ユーザーアカウント方式
  SVPP:サービスプリンシパル(パスワードベース)方式
  SVPA:サービスプリンシパル(証明書ベース)方式
  MIDS:マネージドID(システム割り当て)方式
  MIDU:マネージドID(ユーザー割り当て)方式

② UserName=<ユーザー名><改行>
 ユーザーアカウント方式で使用するユーザー名を指定してください。

③ UserPass=<パスワード><改行>
 ユーザーアカウント方式で使用するパスワードを指定してください。

④ ServicePrincipalName=<サービスプリンシパル名><改行>
 サービスプリンシパル(パスワードベース)方式またはサービスプリンシパル(証明書ベース)
 方式で使用するサービスプリンシパル名を指定してください。

⑤ ServicePrincipalPass=<サービスプリンシパル名に対するパスワード><改行>
 サービスプリンシパル(パスワードベース)方式で使用するパスワードを指定してください。

⑥ TenantName=<テナント名><改行>
 サービスプリンシパル(パスワードベース)方式またはサービスプリンシパル(証明書ベース)
 方式で使用するテナント名を指定してください。

⑦ CAFile=<証明書のファイル名><改行>
 サービスプリンシパル(証明書ベース)方式で使用する証明書ファイル名を指定してください。

⑧ Identity=<ID><改行>
 マネージドID(ユーザー割り当て)方式で使用するクライアント ID、オブジェクト ID またはリソース IDを
 指定してください。


本ブログでご紹介する方法では、認証方式「ユーザーアカウント」を採用します。
この場合、①~③の項目を認証情報ファイルに指定します。

認証情報ファイルのモデルファイルを用いて、作成します。
モデルファイルの格納先は、下記の通りです。

Azureサービス連携ツールのパス\AZConf\ajsazjob_authinfo.conf.model
例)"C:\Program Files (x86)\Hitachi\JP1AJS2\ajsaz\AZConf\ajsazjob_authinfo.conf.model"

認証情報ファイルの記載例は下記の通りです。

AuthenticationMethods=USER
UserName=KKATEST@ashisuto.co.jp
UserPass=パスワードを記載します

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

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


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

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

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


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

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


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

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

   例:"C:\Program Files (x86)\Hitachi\JP1AJS2Vtool\ajsazdef\bin\ajsazbsdef.bat"

 ・実行プログラム:「Azureサービス連携ツール(ajsazフォルダ)を任意のパスに配置」の
  項番1で配置したパス\bin\ajsazbs.exe

   例:"C:\Program Files (x86)\Hitachi\JP1AJS2\ajsaz\bin\ajsazbs.exe"

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

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


BlobStorage連携ジョブの定義方法

本ブログでは、BlobStorage連携ジョブを用いて

・コンテナー内の任意のファイルを監視
・更新を契機に監視対象ファイルをエージェントホストにダウンロード後
・そのファイルをもとにPCジョブで処理を行う

というケースを例に、BlobStorage連携ジョブの定義方法をご紹介します。

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


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

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

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


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

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


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

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


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

操作対象:
ストレージアカウント名
 [操作対象]で指定するストレージアカウント名に、アップロード先・ダウンロード元・
 コピー元・削除先・監視先のストレージアカウント名を入力します。

コンテナー名
 [操作対象]で指定するコンテナー名に、アップロード先・ダウンロード元・コピー元・
 削除先・監視先のコンテナー名を入力します。

監視対象(BLOB):
監視対象のBLOB名を入力します。

監視操作:
監視対象のBLOBへの監視操作をOR条件で選択します。

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

認証情報ファイル:
Azure CLIで使用する認証情報を記載したファイル名を入力します。

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

[コマンドラインプレビュー] エリア:
[更新]ボタンをクリックすると、プレビュー表示エリアに、Windows側で実行する場合のエスケープ処理を行ったあとのAzure CLIコマンドラインを表示します。


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

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

2. BlobStorage連携ジョブの詳細定義画面を開き[詳細]ボタンを押下し、ダウンロードの場合は、
  下記の通り設定
 ※ダウンロード先に、エージェントホスト側でのファイルの保存先フォルダを指定します。

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


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

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

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

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


動作確認

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

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

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


2.監視対象のコンテナー内にあるファイルは下記状況

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


3. 監視対象のコンテナー内にあるファイルを更新し、タイムスタンプが変わることを確認

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


4.更新を検知し、コンテナーから、ファイルをエージェントホストにダウンロードされることを確認

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


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

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

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


まとめ

今回はJP1 V12-00から利用可能なBlobStorage連携ジョブについてご紹介しました。
Azure Blob Storage との連携のため、ストレージアカウントやコンテナーの指定、Azure特有の認証情報の設定ファイルの準備が必要ですが、おおまかな作業の流れは、以前ご紹介した Amazon S3連携ジョブ と同様です。

エージェントホストから Azure Blob Storage へアクセスできれば、簡単に実装可能なため、JP1で Azure Blob
Storage との連携を検討されている方は、ぜひご活用ください。


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

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


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

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

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

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

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

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


執筆者情報

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

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

引間 康将

関連している記事

  • ジョブ管理
2022.01.31

【JP1/AJS3】入門編!JP1の基本用語を理解しよう!

いまさら聞けない、意外と知らない、JP1ジョブ管理で登場する基本用語を解説します

  • ジョブ管理
2021.12.24

【JP1/AJS3】JP1エージェントとは?設定方法や意外と知らない落とし穴について解説!

内製化志向の高まりで、JP1インストールを自社で行いたいというお客様が増えています。今回は、エージェント製品をインストールする際の注意事項をご紹介します。

  • ジョブ管理
2021.11.29

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

活用する企業が近年増加しているAmazon Simple Storage Service(以下、Amazon S3)。今回は、Amazon S3のファイルをJP1で監視する方法ご紹介します。

ページの先頭へ戻る