LoginSignup
3
2

More than 1 year has passed since last update.

RenderでNode-REDを動かす(クレデンシャル情報の保存、初期フローの読み込み、ヘルスチェックの有効化)

Posted at

はじめに

Herokuのdyno無料枠が廃止になることをきっかけに、代替え先について検討しました。

2022年10月7日時点で3つの候補が見つかっています。

  • Render
  • Railway
  • Fly.io

Node-REDを永続的に動かす場合、セキュリティ上、第三者に利用されないためにクレデンシャル情報の保存が課題になります。
初期フローの読み込み、変更したフロー情報の保持や、稼働状態の監視(ヘルスチェック)も必要になります。

Render

Renderにはシークレット情報を設定する機能がありますので、それを利用してクレデンシャル情報(settings.js)を保存する方法を説明します。
また、監視(ヘルスチェック)の機能もありますので、それを利用して稼働状態を監視し、問題が発生した場合にアラートを通知する方法を説明します。

Environment / Secret Files (settings.js)

手順1.

「New +」を押して、「Web service」を選択します。

0.jpg

手順2.

「Public Git repository」のフォームにGitHubのURLを入力し、「Continue」を押します。

1.jpg

手順3.

「Name」に識別名を入力します。

2.jpg

「Start Command」を「npm start」へ変更します。

3.jpg

「Advanced」を押します。

4.jpg

手順4.

「Add Secret File」を押すと、ポップアップが表示されます。

5.jpg

6.jpg

「Filename」に「settings.js」を入力し、「File contents」にsettings.jsファイルの内容を貼り付けて「Save」を押します。

7.jpg

settings.jsファイルの情報が保存されたことを確認します。

9.jpg

手順5.

最後に「Create Web Service」を押します。

7.jpg

ログが表示され、しばらくするとデプロイが完了するので、払い出されたURLへアクセスします。

8.png

ログイン画面が表示されれば正常です。

9.jpg

フロー (flows.json)

GitHubにflows.jsonを保存し、Node-REDの起動オプションでファイルを指定すれば読み込み可能です。
変更したフローの保存も可能です。
ただし、Environment / Secret Filesでflows.jsonを設定した場合は、読み込み専用となりますので、変更したフローの保存ができません。
(初期フローのままNode-REDを動かすのであればEnvironment / Secret Filesでも問題ありません。)

スクリーンショット 2022-10-07 13.20.41.png

20.jpg

監視 (ヘルスチェック)

「Web service」を作成する時に「Advenced」のメニューで設定することが可能です。

10.jpg

「Web service」を作成した後に追加する場合は、「Dashboard」のメニューから「Settings」→「Health Check Path」の項目で設定可能です。

11_0.jpg

11_1.png

設定後は5秒間隔でヘルスチェックの接続要求を受けるようになります。
リクエストヘッダを見ると、kube-probeが利用されていることがわかります。

21.jpg

3
2
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
3
2