1. kanosawa

    No comment

    kanosawa
Changes in body
Source | HTML | Preview
@@ -1,43 +1,46 @@
#はじめに
AWSやAzureで(お金さえあれば)潤沢なGPU環境を簡単に利用できるようになりましたが、リモートマシンゆえにGUIの利用に制限がかかります。
XForwardingなどがうまく動けばよいですが、重くて使い物にならないことも多いかと思います。
そこで本記事では、リモートマシン上にあるコードをローカルのGUI系エディタ(VSCodeなど)でいじる方法を紹介します。
本番実行はリモートマシン上で行う想定ですが、ローカルでも簡単なデバッグは行いたいので、dockerを使ってリモートとローカルの環境を揃えます(オプションです)。
#代替手法
・XForwading
重い
・Remote VSCode
余計なポートを開ける必要があり、会社で使えない(´・ω・`)
#主な流れ
1. ローカルとリモートの両方でdockerコンテナに入る
2. ローカルでsshfsし、リモートマシンのディレクトリをマウント
3. ローカルでコーディング
#docker
ローカルとリモートの両方でdockerコンテナに入ります。
docker runする際に、--privilegedオプションをつけてください。
これが無いと後述のsshfsでエラーが出ます。
https://github.com/s3fs-fuse/s3fs-fuse/issues/647
+なお、dockerコンテナ内でVSCodeを利用する方法については以下の記事を参考にしてください。
+https://qiita.com/kanosawa/items/0c83f8d8eaaa4a72e1cd
+
#sshfs
ローカルでsshfsし、リモートマシンのディレクトリ(src)をローカルマシンのディレクトリ(dst)にマウントします。
```
sshfs [-o IdentityFile=keypath] username@remote_ip:src dst
```
例)
```
sshfs -o IdentityFile=~/key.pem ubuntu@12.345.678.901:/home/ubuntu/work ~/work
```
鍵認証不要なら[]部は不要です。
#おわりに
以上の手順で、リモートマシン上にあるコードをローカルのGUI系エディタでいじることができるようになります。
これでTesla V100 8台を気軽にぶん回すこともできますね(24.5ドル/hなり)