IBM LiteアカウントでNode-REDインスタンスを作成する

## はじめに
2017年11月より、IBM CloudにはLiteアカウントができ、一定の制限に従えば、クレジットカード登録なしにずっとクラウドサービスを使えるようになりました。
LiteアカウントではNode-REDのインスタンスも一つ使えるようになっています。本資料ではその手順の説明を行います。

インスタンス利用時には一点ご注意いただきたいことがあります。
Liteアカウントで作成したインスタンスには、
「10日間開発なしでアプリの自動停止」※
「30日間活動なしでサービスの自動削除」
というルールがあります。
しばらく使っていないうちにサービスごと消されていたということもありえますので、バックアップはこまめに取得されることをお勧めします。
具体的には、Node-REDの場合はフロー全体をクリップボードにコピーするという機能があり、これをテキストエディタに張り付けてローカルファイルとして保存すればOKです。

※　非常にわかりにくいのですが、ここでいう「開発」とは「Cloud Foundryアプリケーションとしての開発」を意味します。
Node-RED上でフローエディタを使って「開発」「デプロイ」を繰り返しても、その変更はCloud Foundryには伝わらないので、結果的に「10日間開発なし」と認識されてしまい、警告メールが発行されるようです。
基本的には、サービスを止められても、30日以内に自分でサービスの再起動をすれば、サービスを消されることはないのですが、このメールが気持ちが悪い方は、この記事の最後に対応方法を記載しましたので、10日毎にこの対応を取っていただければいいかと思います。

## 前提条件
IBM CloudのLiteアカウントについてはすでに取得済みであることを前提とします。
こちらの手順については、[最新版IBM Cloud ライトアカウント登録手順](https://qiita.com/makaishi2/items/ae83828a711d0d946011)を参考として下さい。

## Node-REDサービスの作成
[IBM Cloud ダッシュボード](https://console.bluemix.net/dashboard/)のURLにアクセスし、ダッシュボード表示を行います。
画面右上の**「リソースの作成」**ボタンをクリックします。

![ibm-cloud-1.png](https://qiita-image-store.s3.amazonaws.com/0/206130/ecb74d4c-2b8c-a1fd-0ebf-5c0d19159035.png)

1. 左側のカテゴリーの中から**「ボイラーテンプレート」**を選択します。
2. ボイラーテンプレートの一覧から、画面右上の**「Node-RED Starter」**を選択します。

![node-red-step-2.png](https://qiita-image-store.s3.amazonaws.com/0/206130/d3caa83a-c076-9d93-4972-acdd933c6832.png)

**「Cloud Foundryアプリの作成」**の画面が表示されるので
1. 画面最上部の**「アプリ名」**の名称を入力します。名前は自分の好きなものでかまいませんが、ここで付けた「アプリ名」を元に生成される``<アプリ名>.mybluemix.net``という名称が、DNSに登録されるインターネット上のホスト名となる関係で、**インターネット上でユニークな名称**にする必要があります。
2. それ以外はデフォルト値でいいので、画面右下の**「作成」**ボタンをクリックします。

![node-red-step-3.png](https://qiita-image-store.s3.amazonaws.com/0/206130/6e7db4f3-9e1b-915e-8bbb-818225697cde.png)

下のような画面になり**「開始中」**のステータス表示がされます。
「コマンドラインインターフェイス云々」の表示がされますが、最低限の使い方をする分には関係ないので気にせずサービス作成が終わるのを待って下さい。
約4,5分程度サービス作成にはかかると思います。

![node-red-step-4.png](https://qiita-image-store.s3.amazonaws.com/0/206130/2b715305-38f9-8ef0-1908-f30386dadd0f.png)

下の図のように**「実行中」**にステータス表示が変われば、サービスが完成しています。
Node-REDの初期セットアップを行うため、**アプリURLにアクセス**リンクをクリックします。

![node-red-step-5.png](https://qiita-image-store.s3.amazonaws.com/0/206130/0eb2a7d9-2d9f-04a7-7b08-07a856e4dbfc.png)


## Node-REDの初期セットアップ

すると、下のような画面が表示されます。この画面では何も行わず、右下の**「Next」**をクリックして下さい。

![node-red-step-7.png](https://qiita-image-store.s3.amazonaws.com/0/206130/6bbcc889-5a77-180e-1016-fb912e88657c.png)

次の画面はNode-REDにアクセスするための**Username/Password**の設定画面です。
IBM Cloudのアカウントとは関係なく好きなものが設定できます。
以降、Node-REDにログインするときに必要になりますので、設定した値は必ず覚えるようにして下さい。

![node-red-step-8.png](https://qiita-image-store.s3.amazonaws.com/0/206130/3822b439-b4aa-36cd-8d2b-75b7cf070a43.png)

下の画面では特に操作を行わず**「Next」**として下さい。

![node-red-step-9.png](https://qiita-image-store.s3.amazonaws.com/0/206130/03f35bbf-98be-86a7-eb0a-163325fc75f4.png)

次の画面で**「Finish」**をクリックすると初期セットアップは完了となります。

![node-red-step-10.png](https://qiita-image-store.s3.amazonaws.com/0/206130/c47c04b4-ab8d-7802-11e5-62346e7c45a2.png)

## Node-RED開発画面へのアクセス
前の画面で「Finish」ボタンを押すと、次のようなNode-REDの初期画面が表示されます。
この画面で「Go to your Node-RED flow editor」のボタンをクリックします。

![node-red-step-11.png](https://qiita-image-store.s3.amazonaws.com/0/206130/5a533dae-e5a1-2dd5-28d9-7c48469c739d.png)

ログインの画面が表示されるので、先ほど設定したUsername/Passwordを入力して、「ログイン」を、クリックして下さい。

![node-red-step-12.png](https://qiita-image-store.s3.amazonaws.com/0/206130/f940ff91-7071-deae-76d8-cb0cb7dbbf93.png)

これで無事、Node-REDのフローエディタ初期画面が表示されます。
お疲れ様でした。
後の使い方に関しては別記事[Node-RED超入門](https://qiita.com/makaishi2/items/5c7b1b6a72b6938cf3d2)を書いていますので、こちらを参考にしてみて下さい。

![node-red-step-13.png](https://qiita-image-store.s3.amazonaws.com/0/206130/2d826974-56ca-c10d-0b07-1bd3cb5dd107.png)

## 初期セットアップ後のアクセス方法
以降、Node-REDのフローエディタにアクセスするためには、[IBM Cloud ダッシュボード](https://console.bluemix.net/dashboard/)のURLにアクセスし、ダッシュボード表示を行った後、赤枠で囲んだNode-REDサービスのリンクをクリックします。

![node-red-step-14.png](https://qiita-image-store.s3.amazonaws.com/0/206130/a624dc77-1ec0-19f0-931e-5e70ad93de0f.png)

## ※「10日間開発なし」の警告メールを止める方法
次の手順で、node-redのアプリケーションに対して「restage」という操作を行い、cloudFoundryに対して開発を行ったように見せかけます。
10日がチェックの基準なので、最低10日以内に1回、この操作を行う必要があります。

### CFコマンドのインストール
以下のリンク先から、CFコマンドのインストーラをダウンロード、インストールを実行します。
[CF ダウンロード先](https://github.com/cloudfoundry/cli#downloads)
リンク先の画面はちょっとわかりにくいのですが、少し下の方にスクロールすると、以下のような領域が現れるので、ここからお使いのパソコンの環境に応じて適切なモジュールをダウンロードし、インストールします。

![node-red-step-x.png](https://qiita-image-store.s3.amazonaws.com/0/206130/f428d4a3-d47a-7a52-f798-c6e93cf1936c.png)


### CFコマンドによるログイン
コマンドプロンプト(Windows)またはターミナル(MacとLinux)から次のコマンドを実行し、e-mailアドレスとパスワードを順次聞かれるので、自分のアカウントのものを答えて先に進めます。

```sh:
$ cf api https://api.ng.bluemix.net
$ cf login
```

ログインに成功すると以下のような画面になるはずです。
![cf-login.png](https://qiita-image-store.s3.amazonaws.com/0/206130/c2031495-bc6d-6dc0-2e2f-e1096a4d2230.png)

## Node-REDアプリケーション名の確認と、該当アプリケーションへのrestage実施

まず、次のコマンドで、IBM Cloud上のアプリケーションの一覧を表示します。(「a」は「application」の略です)

```sh:
$ cf a
```

以下のような結果が返ってくるはずですので、Node-REDサービスに該当する行の「名前」の欄を確認します。以下の手順では、仮に名前が 「node-red-myname-1」であったとします。(「rg」は「restage」の略です)

![node-red-step-00.png](https://qiita-image-store.s3.amazonaws.com/0/206130/75af5b4c-931c-cf90-6371-3558cea6867a.png)


```sh:
$ cf rg node-red-myname-1
```

以下のような画面となり、最後に一番下のような画面がでてくれば「restage」に成功しています。

![node-red-step-01.png](https://qiita-image-store.s3.amazonaws.com/0/206130/9f0d252c-c19a-baf8-8ee9-33f476186f91.png)


![node-red-step-02.png](https://qiita-image-store.s3.amazonaws.com/0/206130/2f6205a9-940b-e6d0-6a7f-f7c3dacdcb2d.png)