開発日誌Vol.020 – WSL2上Streamlitリモートアクセス設定

WSL2上のDockerコンテナで動作するStreamlitレポートへのリモートアクセス設定を行った。初期設定ではリモートアクセスが許可されておらず、Windowsファイアウォール、Tailscale ACL、Subnet Routesの設定に問題がある可能性を検証した。最終的に、WSL2にTailscaleクライアントをインストールし、Subnet Routesを設定することで、リモートのPCから安全かつ便利にアクセスできるようになった。

コード修正・エラー対応

  • エラー:sudo tailscale up --advertise-routes コマンド実行時に [プライベートIPアドレス]/20 has non-address bits set; expected [プライベートIPアドレス]/20 が発生。
    • 原因:指定したネットワークアドレスがサブネットマスクに基づいて計算された正しいアドレスでなかった。
    • 対応:正しいネットワークアドレス [プライベートIPアドレス]/20 を使用してコマンドを再実行。
  • エラー:sudo: tailscale: command not found が発生。
    • 原因:WSL2環境に tailscale コマンドがインストールされていなかった。
    • 対応:WSL2にTailscaleクライアントをインストール。

コードの改善点や最適化したポイント

  • TailscaleのSubnet Routes機能を活用し、WSL2のネットワークをTailscaleネットワークに広告することで、リモートアクセスを可能にした。
  • Tailscaleのアクセス制御機能(ACL)を使用することで、アクセスできるユーザーを制限できる。

データ処理・分析・可視化の進捗

  • 該当なし。

今後の進め方

  • Tailscaleのアクセス制御機能(ACL)を使用して、アクセスできるユーザーを制限する。
  • Tailscaleの無料プランの制限(デバイス数、ユーザー数)を考慮し、必要に応じて有料プランを検討する。
  • WSL2のTailscaleクライアント起動を自動化するため、エイリアスやスクリプトを作成する。
  • ルート設定を忘れないように、安全な場所にコピー&ペーストしておく。

追加情報

  • Ubuntu 24.04 (Noble Numbat) は、Tailscaleの公式リポジトリでまだサポートされていないため、snapパッケージを使用する必要がある。
  • ネットワークアドレスとサブネットマスクの計算について、理解を深める必要がある。
タイトルとURLをコピーしました