概要
タイトルの通りです。
ngrok とかが有名どころの、ローカルに立てたサーバをインターネット側からアクセスできるようにするやつです(Bot開発のプロトタイプを作る時とか、ローカルでテスト的に作ったサーバにインターネット側から HTTP リクエストを送りたい、とかそういう時に使う感じの)。
類似サービスもいろいろありますが、今回のものは自分は初めて見かけたように思います。
導入や使い方
cloudflared の導入方法
Mac で Homebrew を使ってるなら、以下のコマンドで簡単に導入できます。
$ brew install cloudflare/cloudflare/cloudflared
その他の各OS での導入は、以下を見ると良さそうです。
●Install cloudflared · Cloudflare for Teams documentation
https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation
【追記】 補足: Quick Tunnels
今回利用するものは、Cloudflare のアカウントなしで利用可能です。以下の公式ドキュメントを確認すると、これは「Quick Tunnels」と呼ばれるもののようです(なお、アカウントを利用した仕組みもあります)。
●Quick Tunnels · Cloudflare Zero Trust docs
https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/do-more-with-tunnels/trycloudflare/
この「Quick Tunnels」の場合は、アクセス用の URL は以下となるようです。
- サブドメイン: ランダムに生成される
- ドメイン: trycloudflare.com
cloudflared を実際に使う
そして cloudflared がインストールできたら、例えば localhost:8080 となるような何かローカルサーバ的なものを動かしてから、以下のコマンドを実行します(※ もちろん、ポート番号は 8080 でなくても利用可能です)。
$ cloudflared tunnel --url localhost:8080
そうすると、以下のように URL が表示されるので、こちらにアクセスすることで外部からの localhost へのアクセスが行えました。
手っ取り早くローカル環境にサーバーを用意する(Python を使うパターン)
なお、Python が入っている環境で手っ取り早くローカルにサーバーを立てるのをやるなら、ワンライナーのサーバーを稼働させるのが良いかと思います。
# 2.x系
$ python -m SimpleHTTPServer 8080
# 3.x系
$ python -m http.server 8080
情報にたどり着いた経緯
なお、この情報にたどりついた経緯は、Google Colab絡みの内容をあれこれ調べる ⇒ 以下の記事を見つける ⇒ 「Cloudflare 提供の ngrok的なものがあるっぽい記載を見つける」 といった流れでした。
●【Argo Tunnel】StreamlitアプリをGoogleColabから秒で外部公開する – スペース・アイ株式会社
https://www.space-i.com/post-blog/googlecola%E4%B8%8A%E3%81%8B%E3%82%89streamlit%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92-cloudflare%E7%B5%8C%E7%94%B1%E3%81%A7%E7%A7%92%E3%81%A7%E5%A4%96%E9%83%A8%E5%85%AC%E9%96%8B%E3%81%99%E3%82%8B/
そして、その後に情報をググってみたりして、公式情報や以下の分かりやすく日本語で書かれたサイトにたどり着いたり、といった感じでした。
●Cloudflare提供のngrokみたいにローカルのアプリケーションを外部に公開するサービス - Argo Tunnel - nwtgck / Ryo Ota
https://scrapbox.io/nwtgck/Cloudflare%E6%8F%90%E4%BE%9B%E3%81%AEngrok%E3%81%BF%E3%81%9F%E3%81%84%E3%81%AB%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%A4%96%E9%83%A8%E3%81%AB%E5%85%AC%E9%96%8B%E3%81%99%E3%82%8B%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9_-_Argo_Tunnel
これは便利そう!!