はじめましてこんにちは、ひょうどうです。
今回は、ngrokというサービスを用いることでLINE Bot開発の生産性が上がったことついて紹介します。
まずはじめにngrokについて紹介します。
ngrokについて
ngrokとは、手元のPC内に立ち上げたローカルサーバを簡単に外部に公開することができるサービスです。
公式サイト
導入方法
Windows、Mac、Linux、FreeBSDで使用可能です。
ngrokの使い方
カスタムサブドメイン
ngrok http -subdomain=line-bot 3000
-subdomainオプションで、「https://〇〇.ngrok.io」の〇〇の部分を好きに指定することができます。
ただし、それぞれのリージョンでユニークな名前でなければいけません。
リージョン
ngrok http -region=ap 3000
-regionオプションでリージョンを指定することができます。
デフォルトでは「us」となっており、全部で以下のリージョンがあります。
- United States(デフォルト):
us
- Europe:
eu
- Asia Pacific:
ap
- Australia:
au
リージョンを指定することで、URLも変化します。
us(デフォルト)の場合:https://line-bot.ngrok.io
apの場合:https://line-bot.ap.ngrok.io
バックグラウンド実行
ngrok http -log=stdout 3000
-logオプションで標準出力指定することで、バックグラウンド実行ができます。
Raspberry Piで、起動時に立ち上げたい場合は以下の「ngrok.service」を作成すると良いでしょう。
[Unit]
Description=ngrok
[Service]
ExecStart=/usr/local/bin/ngrok http -subdomain line-bot -log=stdout 3000
[Install]
WantedBy=multi-user.target
systemctlでenable設定にしていれば3000番ポートで立ち上がっているサーバが外部に公開されます。
LINE Botとの連携
LINE Bot開発をしたことがある人ならわかると思いますが、ちょっとした動作確認行うために、毎回HerokuまたはGAEにデプロイしてログを確認するという作業が非情に時間を無駄にしていたと思います。
しかし、ngrokを使うことで、npm startで立ち上げたサーバを1つのコマンドを叩くだけで簡易的にデバッグを行えるようになります。
実際の開発画面
下にターミナルを2つ起動し、左でNodeサーバ、右でngrokサーバを起動させてます。