ブログ

IBMiデータをAutoMateでIBM Cloudへバックアップする

AutoMateはプログラムコーディングを不要とし、昨今のDX推進に欠かせないRPA製品です。RPAと言うと画面の座標指定、キーボード打鍵をRPAに記憶させ、Excel集計などの単純な転記作業、基幹システムへの入力業務の自動化・・・などの活用イメージが多いかと思いますが、AutoMateが用意している数々の機能を用いると、その活用範囲は汎用プログラム言語に匹敵します。

今回AutoMate設定例としてAutoMateのS3とFTPアクション(アクションとはAutoMateが用意している専用命令)を用い、簡単に遠隔バックアップを実現する設定を解説致します。

動画で解説

音声付き7分38秒の動画です

AWS S3アクションでIBM Cloud接続?

AutoMateにはAWSのObject StargeサービスであるS3(Simple Storage Service)へ直接接続するアクションが用意されています。嬉しい事にIBM Cloud、Google Cloud、Oracle Cloudなど有名Cloudを筆頭にS3互換を謳うObject Stargeは多数存在します。これはAutoMateで多くの有名CloudのObject Strageを同じ手順で簡単に使える事を意味しています。今回は手始めにIBM CloudのCloud Object Strage(通称ICOS:アイコス)に接続してみました。

保管先を換えるだけで堅牢な保管を実現

今回は、SAVFファイルを一旦AutoMateマシンにローカル保存していますが、保管先をリモートにすれば、それだけで「①社内遠隔バックアップ」となります。また、保存先をICOSだけではなくAmazon S3も同時に使えばクラウド側が障害時の対策が必要な場合「②冗長クラウドバックアップ」が可能です。

動作概要

①IBMi側でバックアップ対象を事前にSAVF保管を行います。AutoMateは自身でスケジューラーを持っていますので、例えば「一日に一回夜間にバックアップ」のような設定をする事で、②事前にSAVF保管したファイルをAutoMateがIBMiへFTP接続をし、③SAVFファイルの取得を行います。その後④IBM CloudのCloud Object Strageへ接続し⑤SAVFファイルをICOSへ書き込みます。

今回は動作確認が目的ですが、リストアが日常的に少なく、リストは年に数回の異常時の操作と仮定し、バックアップさえ出来ていればリストア作業は手動でも良いと想定した場合、今回のような数行のスクリプトで運用が足りるケースは多いと考えられます。

AutoMate実際の設定は下図のように5つです。

1.IBMiへFTP接続、2.SAVFファイルが存在するライブラリーへ変更、3.AutoMate稼働PCへSAVFファイルを一旦ダウンロード、4.ICOSへ接続、5.SAVFファイルをICOSへアップロード
以降は上記1~5の解説です。

1.IBMiへFTP接続

IBMiへのFTP接続はFTPアクションを用い、他ホストへのFTP同様のお作法で設定し、接続情報をセッションFtpSession1として今後のFTP操作に用います。

2.SAVFファイルが存在するライブラリーへ変更

今回は例としてライブラリーYASLIBに作成したSAVFファイルであるSAVF01(AutoMateから見るとSAVF01.SAVFと言う名前に見える)をバックアップします。

次工程でダウンロードファイルをフルパス付で「/QSYS.LIB/YASLIB.LIB/SAVF01.SAVF」と指定すると良さそうなのですが、これではエラーとなってしまったので、わざわざこの「フォルダーの変更」を行っています。

3.AutoMate稼働PCへSAVFファイルを一旦ダウンロード

FTPでIBMiからAutoMateへ一旦SAVFファイルをダウンロードしています。IBMiではSAVF01と名付けたSAVFファイルはFTP経由で接続すると拡張子SAVFが付いた「SAVF01.SAVF」のように見えるようです。
ですのでリモートファイル(IBMiライブラリーYASLIBに格納されているSAVF01)を「SAVF01.SAVF」と指定しています。一旦ダウンロードするフォルダとファイル名は何でも良いのですが今回は「c:\tmp\SAVF01.SAVF」としました。また、今回は何度もこの「c:\tmp\SAVF01.SAVF」を使いまわしたいのでファイルオプションの大きな下矢印をクリックして・・・

下図の転送オプションを「既存のファイルを上書きする」にしました。

4.ICOSへ接続

冒頭にご説明した通りICOSはS3互換です。AutoMateのS3アクションが要求してるアクセスキーとシークレットアクセスキー、そしてサービスURL(詳細の下矢印をクリックすると表示されます)がICOSでは何が相当すのかが関心事です。

認証情報はデフォルト設定で作成せず、①「サービス資格情報」で②役割を管理者に指定し、③HMAC資格情報を含めるをオンにし④追加する必要がありました。名前をなんでも良いのですが、今回はHMAC-ONとしました。

作成したHMAC-ONを開くとアクセスキーがaccess_key_id、シークレットアクアスキーがsecret_access_keyに対応しています。

上図に「endpoints」記述があるので、これをAutoMate側設定の「サービスURL」に指定するとエラーとなりましたので、今回作ったICOSのエンドポイントを探します。

下図のように今回保存先となる①バケットを選択(無ければ作成してください)し、②構成から③から「回復力」と「ロケーション」を確認してください。下図例では回復力がRegionalでロケーションがjp-tokです。

①エンドポイントから、確認した②「回復力」と「ロケーション」を選択します。今回はインターネット経由で、いわゆる外からICOS接続するので③パブリックの値をAutoMate側設定の「サービスURL」に指定しました。

5.SAVFファイルをICOSへアップロード

S3アクションから①オブジェクトの配置を指定し、一旦ローカルに保存したSAVFファイルを②ファイルを配置するに指定しました。転送先ICOSの③バケット名を指定し、保存するオブジェクト名を④キー名として指定しました。

ICOSへバックアップ結果

AutoMateを起動すると下図のように指定したオブジェクト名SAVF01.SAVFで保存されています。

関連リンク

お問合せ
https://alpcom.co.jp/contact/

アルファー・コミュニケーションズ公式YouTube
https://www.youtube.com/channel/UCTqwZsRRpAs9NPTUz2yH3ow/videos

データ活用支援サービス
https://alpcom.co.jp/products/data_utilization/

pagetop