tky_cowのブログ

python + chemistry, webの技術メモ等

在宅勤務でのリモート開発環境構築

 新型コロナウイルスの影響で在宅勤務になっている方も多いのではないでしょうか。かくいう私も在宅勤務が基本となって9ヶ月が経過しました。普段の仕事では職場のマシンやサーバーでプログラミングしたり、GPUに計算投げたり、シミュレーションしたりしてますが、さすがに家に持ち帰るモバイル機でそれらをこなすのは限界があります。よって、家からでも快適にプログラミングができる環境の構築が急務となりました。今回はリモート環境構築で便利だと思ったツールと設定方法を、使用感と合わせて紹介します。

JupyterlabでリモートIDE環境構築

 JupyterlabはJupyter notebookの後継アプリケーションで、コードの動作を試したりするときに非常にお世話になっています。Notebookはまさにノートブックという感じでしたが、Labは見た目もIDEぽくなり、様々な拡張機能やアプリも開発されています。流れとしては、会社にあるサーバー(以下サーバーと記載)上でJupyterlabを立ち上げ、自宅モバイル機でChromeなどのブラウザからネットワーク経由でアクセスします。今回紹介する方法は以下記事を参考にしました。機能やおすすめのエクステンション、導入方法も参考になります。
qiita.com

やり方

自宅のモバイル機からSSHでサーバーに接続し、サーバー上でJupyterlabを導入した環境(jupyenvとします)を起動します。

conda activate jupyenv

続いて、サーバー上で以下のオプションを与えながらJupyterlabを起動します。IPの部分にはサーバーのIPアドレスを入れます。

jupyter lab --ip=11.22.33.44 --no-browser

無事立ち上がるとhttp://11.22.33.44:8888/?token=a1b2c3... のようなアクセス用のパスワードトークン付きのURLが表示されるので、これをコピーしてモバイル機のブラウザ(Chrome, Firefoxなど)に貼り付ければ終了です。

使用感

 この方法で起動すると、コードはモバイル機のブラウザ上でいつも通り行えますが、処理はサーバー上で行われるため、重い計算も難なく行えます。また、サーバー上にある容量の大きいデータも移動することなく解析でき便利です。さらに、書いたコードの分だけのデータ通信で済むためか、VPNが込み合って非常に重いときでも作業が可能でした。
 細かい点ですが、私はモバイル機とサーバーで同時にJupyterlabを使うので、サーバーの方はDark Themeの設定にして間違わないようにしています。設定方法は上で紹介した記事に書かれていますので、参考にしてください。

VSCode remote developmentでリモートのVSCodeで編集

 続いて、コードを書くときのもうひとつの頼りになる相棒VSCodeについてです。VSCodeマイクロソフト社が開発しているコードエディタで、使っている人も多いのではないでしょうか。サーバー上のVSCodeを自宅のモバイル機から使いたい場合は、VSCode remote developmentという拡張機能を使います。

やり方

 丸投げになってしまいますが、具体的な設定方法については以下の記事を参照して行いました。
qiita.com
自宅のWindows PCから会社にあるLinuxサーバーに接続したい場合やることとしては以下になります。

  1. モバイル機のVSCodeにRemote Development Extensionsを導入する
  2. WindowsPCの場合SSHを有効にする
  3. configにサーバー機に接続するための情報を記載する
  4. モバイル機VSCodeの左側CONNECTIONSにサーバーが表示されるので選択して開く

全て自宅モバイル機側での設定になりますね。

使用感

 こちらの方法を使うと、サーバー上にあるコードをモバイル機のVSCodeから直接編集できるようになり便利です。既に動かしているコードを編集したり、社内データベースにアクセスするようなコードを書く場合などに活用しています。ただ、Jupyterlabの方法に比べると特に起動時の通信量が多いようで、VPNが激込みのときは使えませんでした。

終わりに

 早いもので、在宅勤務主体になってから半年以上が経過しました。JupyterlabとVSCode remote developmentによるリモート開発環境を整えたことによって、在宅でも普段とほとんど変わらず業務がこなせるようになりました。しかし、コミュニケーション(と運動)不足は否めず、最近は週2くらいは出社するようにしています。第三波でどうなるか不透明ではありますが、どなたかの参考になれば幸いです。