Node.js
AWS
AS400
IBMi
node-jt400

node-jt400を試してみた(on AWS_EC2)

More than 1 year has passed since last update.

環境

AWS EC2でnode-jt400が稼働するかテストしました。
マシンイメージ:Amazon Linux AMI
タイプ:t2.micro
node.js:6.9.1
npm:3.10.8
jdk:java:1.8.0_131

インストール

mkdir myfolder
cd myfolder
npm init -y
npm install node-jt400

問題無く、インストールできました。

参考までに、node-jt400でインストールされるモジュールです。

└─┬ node-jt400@1.4.1
  └─┬ java@0.8.0
    ├── async@2.0.1
    ├─┬ find-java-home@0.1.3
    │ └── which@1.0.9
    ├─┬ glob@7.1.1
    │ ├── fs.realpath@1.0.0
    │ ├─┬ inflight@1.0.6
    │ │ └── wrappy@1.0.2
    │ ├── inherits@2.0.3
    │ ├─┬ minimatch@3.0.4
    │ │ └─┬ brace-expansion@1.1.8
    │ │   ├── balanced-match@1.0.0
    │ │   └── concat-map@0.0.1
    │ ├── once@1.4.0
    │ └── path-is-absolute@1.0.1
    ├── lodash@4.16.4
    └── nan@2.4.0

EC2からIBMi(AS400)へのネットワーク接続

いろいろ方法はあるかと思いますが、今回はテストなのでSSHを使用しポート転送を行いました。転送したのは以下のポートです。
449・8470・8471・8473・8475・8476

私は以下のコマンドを実行しました。

ssh -C -N -f -L 449:ibmi:449 sshuser@sshhost
ssh -C -N -f -L 8470:ibmi:8470 sshuser@sshhost
:

EC2のポートを開ける

nodeの待ち受けは8888ポートを使用しているので、解放します。
VPN→セキュリティグループ→インバウンドのルール

接続先ホストの改修

以前のテストで使用したSQLquery.jsのhostパラメータを修正します。

var pool = jt400.pool({ host: '127.0.0.1', user: 'MYUSER', password: 'MYPASS' });

nodeの実行

node SQLquery.js

実行結果

nodejt29.png