2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

enebular Advent Calendar 2022

Day 3

Oracle CloudのAlways Freeインスタンスへenebularエージェント実行環境をインストールしてみた

Last updated at Posted at 2022-12-02

はじめに

2022年7月にエージェント実行環境がリリースされましたが、まだ使ったことがなかったので、試してみました。

enebular agentとの違い

使い勝手については、従来のenebular agentと大きな違いはありませんが、大きな違いは自分でAWS IoTリソースを用意する必要がないことです。
つまり、AWS IoTリソースも含めてenebularから提供されるため、完全に無料でデバイス管理機能を使用することが可能です。

スクリーンショット 2022-11-26 21.41.20.png

後述のエージェント実行環境をインストールしたシェル環境にログインし、systemctlコマンドで動作状況を確認すると、確かにAWS IoT agentが動作しています。

$ sudo systemctl status enebular-agent-ubuntu.service
● enebular-agent-ubuntu.service - Enebular agent
     Loaded: loaded (/etc/systemd/system/enebular-agent-ubuntu.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-11-26 20:06:16 JST; 1h 40min ago
       Docs: https://docs.enebular.com/
   Main PID: 233260 (node)
      Tasks: 29 (limit: 1085)
     Memory: 202.1M
     CGroup: /system.slice/enebular-agent-ubuntu.service
             ├─233260 node /home/ubuntu/enebular-runtime-agent/ports/awsiot/bin/enebular-awsiot-agent --enable-syslog --daemon-mode --user ubuntu
             ├─233271 /home/ubuntu/nodejs-v14.19.1/bin/node /home/ubuntu/enebular-runtime-agent/ports/awsiot/bin/enebular-awsiot-agent --start-core --enable-syslog --daemon-mode --user ubuntu
             └─234254 node-red

スクリーンショット 2022-11-26 21.46.40.png

エージェント実行環境のインストール手順

公式ドキュメントに記載されています。

Oracle CloudのAlways Freeインスタンスへエージェント実行環境をインストール

エージェント実行環境はRaspberry Piなどのデバイスへインストールすることを想定していますが、クラウド上のVMへインストールすることも可能です。

スクリーンショット 2022-11-26 21.53.57.png

Oracle Cloudのコンソール画面で、OSに「Canonical Ubuntu Linux」を指定してインスタンス(VM)を作成します。

enebular_oracle_1_1.jpg

Oracle Cloudのインスタンス(VM)はubuntuユーザーで作成されるため、enebularのコンソール画面で「インストールユーザー」を「ubuntu」に変更します。

enebular_install_1_2.jpg

「インストールコマンド」をコピーして、Oracle Cloudのインスタンス(VM)で実行します。

enebularのコンソール画面のログでNode-REDの起動と動作を確認できます。

enebular_log_1.jpg

エージェント実行環境のリモートメンテナンス

公式ドキュメントに記載されています。

enebularのコンソール画面の設定でキーペアを作成し、エージェント実行環境のリモートメンテナンスを「ON」にすると、リモートからSSHでエージェント実行環境へログインできます。

enebular_keypair_1_1.jpg

enebular_remote_1_1.jpg

Oracle Cloudのインスタンス(VM)へログインし、systemctlコマンドで動作状況を確認するとsshdが起動しています。

enebular_sshd_2.jpg

また、netstatコマンドで確認するとポート:10022でsshdが起動しています。

(リモートメンテナンス:OFF)
enebular_sshd_0.jpg

(リモートメンテナンス:ON)
enebular_sshd_1.jpg

エージェント実行環境でフローエディタ画面を有効にする

enebularのコンソール画面、または、enebular editorからフローをデプロイする使い方が想定されているため、デフォルトではフローエディタ画面が無効化されています。
enebular agentは開発者モードが用意されており、起動モードをノーマルモードから開発者モードへ変更すると、enebular editorのリモートモードでフローを直接編集できます。

しかし、エージェント実行環境は、開発者モードがサポートされていないため、フローを直接編集することができません。
エージェント実行環境でフローを直接編集(フローエディタを有効化)したい場合は、
/home/ubuntu/enebular-runtime-agent/node-red/.node-red-config/settings.js
を変更し、systemctlコマンドでエージェント実行環境をリスタートします。

(変更前)

settings.js
const fs = require('fs')
const path = require('path')

module.exports = {
  userDir: __dirname,
  flowFile: 'flows.json',
  httpAdminRoot: false
};

(変更後)

settings.js
const fs = require('fs')
const path = require('path')

module.exports = {
  userDir: __dirname,
  flowFile: 'flows.json',
  httpAdminRoot: '/'
};
$ sudo systemctl restart enebular-agent-ubuntu.service

enebular_devmode_1.jpg

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?