azureにnode-redを導入する際に少しハマったので共有します。
azureでnode-redを使いたいと思ったので、少し調べてみました。
azureでnode-redを使用するには主に2つの方法がありそうです。
vmでサーバーを立てる方法と、webappというものを使用する方法です。
webappというのはMicrosoftが提供するpaasで、
同じpaasであるnode-redとは相性が良いとのことです。
ちなみにvmを利用する方法はiaasなのでもう少し下のレイヤーで実装することができます。
vmを利用する方法ではサーバーさえ立ててしまえば通常通りなのでインストール時は特に注意することはありませんが、firewallではなくて、おそらくazureのセキュリティでポートが閉じているので、
そこは開放する必要があります(簡単に開放できますが)。
さて、webappでデプロイする方法ですが、
このページを参考に
まずはazure側から設定していったのですがうまくいきませんでした。
おそらくこのリポジトリにはにバグがありそうです。
このページ内のwizardを使ってデプロイしたらうまくいきました。
https://github.com/jmservera/node-red-azure-webapp
このときにAzureのアプリケーション設定で
web socketをオンにすることを忘れないようにしてください。
さらにそこからこのページを参考に
Node-redを認証付きでAzure Web Appsにデプロイ
認証の設定をしました。
成功!
自分がこの方法でデプロイすることで感じた利点は
azureのセキュリティを利用して通信できるので、
特に設定していなくてもhttps通信ができることです。
サーバー証明を利用することなく利用できるのでお手軽です。
特にlineは自己証明やlet’s encrypなどでは使用できませんが、
web appではnodeを追加したらそのままline通信が利用できるようになりました。
料金やazureからのデバッグ法はもう少し調べる必要がありそうですが、
https接続できるnode-redをつかってみたいときには、
面倒くさい設定をあまり気にせずにサクッと実装できて便利だと思います。