WEBシステムを開発する時に、まずはローカル環境で開発を進めておき、デバックが完了した時点で外部公開サーバにシステムを移行して運用までもっていきますが、昨今、外部サービスとの連携をしてWEBシステムを構築する案件が増え、開発時に外部システムとの連携をする必要がある場合があると思います。
開発当初から外部公開サーバでアクセス制限を行って開発方法もありますが、個人開発を行う場合は最初から外部公開サーバを準備するのが面倒な場合があります。
そんな時に便利なのが、今回紹介するローカル環境を外部からアクセスする事ができるサービス「ngrok」の紹介です。
ngrok環境の準備
ngrokは無料で利用できる上、インストールの必要が無く、実行ファイルのみで動作するので大変お手軽なサービスです。今回はwindows版で説明しますが、Linux,mac版も用意されています。
まず最初に、ngrokを利用するためアカウントの作成を行います。
https://dashboard.ngrok.com/signup
アカウントは新規に作るも良し、GoogleやGithubのアカウントでもOKです。
次に以下のURLからZIPファイルをダウンロードする。
https://ngrok.com/download
ダウンロードしたZIPファイルを解凍して、ngrok.exeを起動
実行確認が出来ればOKです。
実際のローカル環境を外部からアクセスさせるためには、実行するngrokと自分のアカウントを紐付ける必要があります。まずは、ngrokサイトの以下のページからauthtokenを確認する。
確認した、authtokenを以下のコマンドで実行環境にトークンを設定してください。
ngrok config add-authtoken 自分のauthtoken
これで環境の構築は終了です。
ローカル環境を外部公開する
ngrokの準備が出来たので、ローカル環境を外部に公開する方法を紹介します。
例として、以下のローカル環境(ポート8000)を公開します。
localhost:8000
ngrok.exe http localhost:8000
例では、Forwardingのアドレスにアクセスすると、ローカル環境に接続するようになります。
もちろん、ngrokを終了すればアクセスする事は出来ませんので安全にテスト可能です。
私はちょっとしたテストで利用しているので無料版を利用していますが、有料版もあるそうです。そちらはドメインとの紐付けも出来るようで本格的な運用も可能なようでした。
興味があれば、有料版も調べてみてください。