F5 BIG-IPのiRule LXでnode.jsが使えるらしいので、まずはHello Worldから(ぱーと2)

# さっそくAWS上のBIG-IPにログイン
作成したBIG-IPの管理アドレス`https://xxx.xxx.xxx.xxx:8443` にブラウザからアクセスやっ！
アカウントとパスワードがわからない、、、、デフォルト(ユーザ名：admin パスワード：admin)でログインできないよー。。。

CLI((ユーザ名：root パスワード：default)からアクセスしてもログインできない。。。

[Google先生](https://support.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/bigip-ve-setup-amazon-ec2-12-1-0/2.html)に聞いたら、認証用の秘密鍵ファイルを利用してadminユーザでログインできるとのこと。
> `In the Private key file for authentication field, choose your .ppk file.`
#
> `Type admin and press Enter.
> You are now at the tmsh command prompt.`


ログインできたので、`modify auth password admin`　コマンドでパスワード変更して、
`save sys config`で保存しました。

再度、管理IPアドレス`https://xxx.xxx.xxx.xxx:8443` にブラウザからアクセスしらたログインできました。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/849541df-7616-e959-16a8-c4718494f916.png)

[F5 BIG-IP で iRule LX を有効化する](http://sig9.hatenablog.com/entry/2016/10/16/120000)を参考に、iRule LXとやらを有効(Nominal)にして、「Submit」で保存します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/2d2bf4cc-d201-a324-d1d3-df1548f6c7de.png)

さっきまでなかった、**Local Traffic >> iRule** の中にLX 〇〇が現れました！ 
これで環境はできたので、Node.jsが試せる！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/ff31049d-ee30-5303-e828-aad9d78c2957.png)


#いざ！(੭ु´･ω･`)੭ु⁾⁾　iRule LX 
はじめに**LX Workspace**ってものを作らしい。。
だれかiRule LXのWorkSpaceって何かわたしに教えてくだせい。

[Google先生](https://devcentral.f5.com/articles/getting-started-with-irules-lx-configuration-workflow-20410)によると、iRuleとnode.jsの開発/ステージング環境を提供してくるみたい。本番で動いている実行コードに影響を与えずに、コードを作成してワークスペースをいろいろ変更できるのかなー
BIG-IP自体でコード管理できるって話かしら。

> Our first new configuration item, LX Workspaces, provides a development and staging environment for your Node.js code and the TCL iRules that are used for iRules LX. The code can be authored and saved in the workspace without affecting the running code on the data plane. Workspaces can also be exported as TGZ files and then imported to another BIG-IP. This is especially useful to allow for development and testing on a BIG-IP in a lab/dev environment and then later installed onto a production BIG-IP. 

とりあえずやってみれば雰囲気で感じ取る( ˘•ω•˘ )
**Local Traffic >> iRule >> LX Workspaces**から**Create**して、
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/c1daa539-76b7-830a-64c8-4d4dff383c2f.png)

名前を「**Lxws_Helloworld**」にして、「**Finished**」
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/5a1083d0-22ad-79ce-bfce-ac42608f2cc3.png)

ワークスペースとやらができたみたいなので、「**Add Extension**」??拡張?？で、
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/bcf1fe37-9ad5-e8ad-23bc-98853ba885b8.png)

なんかnode.js用のフォルダができたーΣ(･ω･ﾉ)ﾉ！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/fe1e58b6-7cbc-2366-9c19-7a8e3ce435db.png)

「**Add iRule**」でiRuleを追加。　親切にサンプルコードも付けてくれてるんですね。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/fda78273-9f14-a8c1-4a45-5363063ae669.png)

iRuleフォルダが追加された！|дﾟ)　 
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/a4151087-9e0b-ac14-1bf3-7e2e111b7f5f.png)

HTTPリクエストが来たらiRuleでログを出力する
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/8f963de7-29c3-7830-b3d8-d2e9c0916acc.png)
「**When**」 Wが大文字だとエラーになっちゃいました。。。
「**when**」小文字にすればOKでした。

```iRule:irulelx_Helloworld.irule
when HTTP_REQUEST {
   log local0.info "(^^)v OK----!"
}
```
「Save File」もして保存っと！

**Lxex_Helloworld** フォルダの「**index.js**」ファイルにとりあえずログ出力設定を入れて、「**Save File**」 
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/6151e698-2142-d781-b909-57d93a91cdd8.png)

次は「**LX Plugin**」とやらを「**Create**」から作成。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/26c4fa88-7ffa-3d9c-dcd6-3b13292e7f29.png)

「**From Workspace**」から先ほど作成したワークスペースを選択して「**Finished**」！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/f1ac3803-be75-6662-1fb7-0436acdbef59.png)

>An LX Plugin is the production code from the LX Workspace that is actively running on the data plane of the BIG-IP. You can see in this screenshot the settings of an LX Plugin -

LX Pluginは、BIG-IPのデータプレーン上でアクティブに動作しているLX Workspaceのプロダクションコード？？？どういこと？
できたのを確認すると、今どのワークスペースが動作しているのか分かるってことかなー
謎が増えてくけど、先に進もう。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/65c9fc63-bec3-3cb4-8c58-8f5a8eeefe97.png)

ログが出てましたー！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/814e32b5-bfb6-efa3-a8ff-8825e57374d6.png)

Node.jsのプロセスは2つ動作しているみたい。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/9409f021-4667-044b-00a2-d0f5e7f150c4.png)

「**LX Plugin**」の
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/1c7538d9-c4e3-1bca-17c6-7b514eac255b.png)
「**Concurrency Mode**」を「**Single**」に変更すれば、Node.jsのプロセスは1つだけになるみたい。
トラブルシュートに役立つのかな。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/131001/41bb5bad-c7cd-44db-60af-bf7160fbf411.png)

では、では、休憩してまた次に

[F5 BIG-IPのiRule LXでnode.jsが使えるらしいので、まずはHello Worldから(ぱーと3)](https://qiita.com/Mi-wa/private/0cb424586fe3d9ef1ee7)