ngrokの導入
ngrokとは
ngrok(エングロクと読む)は、httpのトンネリングサービスです。
ngrokでホストされるURL(例:http://xxxx.ngrok.io/ )へのアクセスをローカル環境のwebサーバー(http://localhost:3000 など)にトンネリングしてくれます。
例えば、stripeやLINE、その他クラウドサービスのwebhook処理を開発する際に、インターネット上に本番やステージングのwebサーバーを構築する前に、ローカル開発環境でwebhookへの対応コードを実装、テストすることができるようになります。
この記事では、ngrokの開発環境を用意する手順を紹介します。
ngrokのインストール
公式サイトでダウンロードして、インストールすることもできますが、インストールはmacOSの場合であれば、homebrewを使うほうが楽です。以下のコマンドでインストールできます。
ngrokアカウントのサインアップ
ngrokを使うためには、サービスの利用登録が必要なので、公式サイトでサインアップを行ってください。
auth tokenの設定
サインアップするとログイン後のページにauthtokenが表示されているので、それをコピーして、以下のように、コンソールから設定します。
そうすると、~/.ngrok2/ngrok.yml
にtokenの値が書き込まれてサインアップしたngrokアカウントが認識されるようになります。
ngrokエージェントの起動
トンネリングを開始するためには、以下のようなコマンドを実行します。
これで、以下のような情報がコンソールに表示され、トンネリングに使えるURLが分かります。
この記事では <your-random-subdomain>
と記載しましたが、ここに、トンネリングで使えるインターネットアクセス可能なURLが表示され、また、そのURLがローカルのhttp 3000番ポートにトンネリングされているのが分かります。
この一般公開されているURLをクラウドサービスのwebhookのエンドポイントとして指定しておけば、ローカル環境のwebサーバーを使って動作確認をしながら開発を行うことができます。
ngrokのサブドメインの固定
無償のアカウントでは、ngrokを起動するたびに、http://<your-random-subdomain>.ngrok.io
の <your-random-subdomain>
の部分がランダムなサブドメインになってしまい、そのたびに、クラウドサービス側の呼び出し先設定を更新しなければなりません。
これは、ngrokの有償登録をすることで固定化できます。有償登録をすると、以下のようにサブドメインを他のユーザーが使っていない任意の文字列に固定できます。
ngrokのアップデート
ngrok起動中のコンソールでCtrl+U
でアップデートが開始されます。
本サイトの更新情報は、Twitterの株式会社プレセナ・ストラテジック・パートナーズエンジニア公式アカウントで発信しています。ご確認ください。
最終更新