はじめに
2023年5月25日からさくらインターネットでブラウザから無料で利用できるクラウドシェル環境がリリースされました。
会員IDが無くても利用できますが、登録するとアウトバウンド(外向け)通信が使用できるので、ngrokを使用して外部からNode-REDを使用することができます。
手順
クラウドシェル環境のnode.jsのバージョンはv12で、npmコマンドも使用できないため、最初にv14にバージョンアップします。
nvm install v14
ngrokをインストールします。
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list && sudo apt update && sudo apt install ngrok
Node-REDをインストールします。Node-RED起動後に「メニュー」→「パレットの管理」からノードを追加することも可能ですが、よく利用するノードをコマンドラインから追加しておきます。
npm init -y
npm i node-red
npm i node-red-dashboard
npm i node-red-contrib-aedes
ターミナル画面が1つだけで使い勝手が悪いので、tmuxを起動して複数のターミナルを使用できるようにします。
tmux
tmuxのターミナル操作は以下のとおりです。
- Ctrl+B c → 新しいターミナルを作成する
- Ctrl+B p → ターミナルを移動する(前)
- Ctrl+B n → ターミナルを移動する(後)
1つのターミナルでNode-REDを起動し、もう1つのターミナルでngrokを起動します。
# terminal 1
node node_modules/node-red/red.js -u ./
# terminal 2
ngrok config add-authtoken [アクセストークン]
ngrok http 1880