VSCodeでインスタンスに接続 | GPUSOROBAN
この記事ではVSCodeを使用してGPUSOROBANインスタンスに接続する手順を紹介します。
目次[非表示]
GPUSOROBANは高性能なGPUインスタンスが低コストで使えるクラウドサービスです。
サービスについて詳しく知りたい方は、GPUSOROBANの公式サイトをご覧ください。
VSCodeのインストール
下記のリンクをブラウザで開きVSCodeをダウンロードします。
ご自身の環境にあったタイプのOSを選択します。
※この記事ではOSのタイプWindowsを選択しています
赤枠のプルダウンから[開く]を押下します。
マイクロソフト ソフトウェア ライセンス条項を確認した後に[同意する]を選択し、[次へ]を押下します。
実行する追加タスクを選択した後に[次へ]を押下します。
※この記事では[デスクトップ上にアイコンを作成する]を選択しています
インストール準備完了画面にて、[インストール]を押下します。
セットアップが完了するまで待機します。
Visual Studio Code セットアップウィザードの完了画面にて、[完了]を押下します。
VSCodeからインスタンスへ接続する方法
Remote sshのインストール
検索窓にてVSCodeを検索して開きます。
サイドバーの[拡張機能のアイコン]をクリックし、拡張機能の検索窓を開きます。検索窓に”remote ssh”と入力し、[Remote - SSH]が表示されたら、[インストール]ボタンを押下します。
.ssh/configファイルの設定
Remote-SSHのインストールが完了するとサイドバーに[リモートエクスプローラーのアイコン]が追加されます。
リモートエクスプローラーをクリックした後に、SSHの横にある[歯車アイコン]をクリックします。
歯車アイコンをクリックするとコマンドパレットが表示されるので[C:\User\ユーザー名.ssh\config]をクリックします。
コマンドパレットの[C:\User\ユーザー名.ssh\config]をクリックした後に、configファイルが開かれますので、接続元PCに応じて次の対応をします。
接続元PCがWindowsの場合
- configファイルに以下の内容をコピー&ペーストします。
- <instance-name>には任意のインスタンス名を入力します。
- <IP-adress>にはインスタンスのIPアドレスを入力します。
貼り付けが完了したら[Ctrl] +[S]キーで保存をします。
※[mykey.txt]はインスタンス用秘密鍵のファイル名です。
※[ackey.txt]はアクセスサーバー秘密鍵のファイル名です。
※[LocalForward 8888 localhost:8888]は、Jupyter Labを使用する場合に記述します
※[LocalForward 7860 localhost:7860]は、table Diffusion Web UIやText generation web UIを使用する場合に記述します。
※HostName<IP-address>の<>は入力しないようお願いします。
[Ctrl] + [Shift] + [P]でコマンドパレットを表示し、検索窓に"reload window"を入力すると、[Developer:Reload Window]が表示されるので、これをクリックしてリロードします。
接続元PCがMacまたはLinuxの場合
- configファイルに以下の内容をコピー&ペーストします。
- <instance-name>には任意のインスタンス名を入力します。
- <IP-adress>にはインスタンスのIPアドレスを入力します。
貼り付けが完了したら[Ctrl] +[S]キーで保存をします。
※[mykey.txt]はインスタンス用秘密鍵のファイル名です。
※[ackey.txt]はアクセスサーバー秘密鍵のファイル名です。
※[LocalForward 8888 localhost:8888]は、Jupyter Labを使用する場合に記述します。
※[LocalForward 7860 localhost:7860]は、table Diffusion Web UIやText generation web UIを使用する場合に記述します。
※HostName<IP-address>の<>は入力しないようお願いします。
[Ctrl] + [Shift] + [P]でコマンドパレットを表示し、検索窓に"reload window"を入力すると、[Developer:Reload Window]が表示されるので、これをクリックしてリロードします。
VSCodeからSSH接続
サイドバーから「リモートエクスプローラーのアイコン」をクリックし、[SSH]タブをクリックすると、configファイルに設定したインスタンスのHost名が表示されます。(この記事ではnvd5-1l22ulというHost名が表示されています。)
Host名の右の矢印ボタンをクリックするとインスタンスへの接続が開始されます。
コマンドパレットに表示される[Linux]をクリックします。
ウインドウの下部にインスタンス名が表示されたら、インスタンスへの接続が完了です。
接続エラーになる場合は、 インスタンス接続のトラブルシューティングの記事をご参照ください。
インスタンスのファイル操作・ファイル転送
インスタンス内のディレクトリにアクセスするには、サイドバーの[Explorerアイコン]をクリックし、[Open Folder]のボタンをクリックします。
[コマンドパレット]からアクセスしたいインスタンス内のディレクトリを選択し、[OKボタン]をクリックします。
警告がポップアップ表示されますので、[Yes, I trust the authors]をクリックします。
選択したインスタンスのディレクトリを確認できました。
ファイルにカーソルをあわせて右クリックすると、ファイル操作の選択をすることができます。
Open:ファイルを開く
Copy:ファイルをコピーする
Download:ファイルを接続元PCにダウンロードする
Rename:ファイルの名前を変更する
Delete Permanently:ファイルを削除する
接続元PCのファイルを選択し、VScodeに表示されているインスタンスのディレクトリへ「ドラッグ&ドロップ」することで、ファイルをインスタンスへアップロードすることができます。
複数インスタンスの設定
インスタンスを複数作成し、利用する場合の設定について説明します。
まずconfigファイルを開きます。
[Ctrl] + [Shift] + [P]でコマンドパレットを表示し、検索窓に"open ssh"を入力し、「Remote-SSH:Open SSH Configuration File」をクリックします。
コマンドパレットが表示された「C:\User\ユーザー名.ssh\config」をクリックし、configファイルを開きます。
configファイルに下記のインスタンスの情報を追加します。(この記事では3つのインスタンス情報を作成しています。)
- configファイルに以下の内容をコピー&ペーストします。
- <instance-name>には任意のインスタンス名を入力します。
- <IP-adress>にはインスタンスのIPアドレスを入力します。
- 貼り付けが完了したら[Ctrl] +[S]キーで保存をします。
※[mykey.txt]はインスタンス用秘密鍵のファイル名です。
※[ackey.txt]はアクセスサーバー秘密鍵のファイル名です。
※[LocalForward 8888 localhost:8888]は、Jupyter Labを使用する場合に記述します
※[LocalForward 7860 localhost:7860]は、table Diffusion Web UIやText generation web UIを使用する場合に記述します。
※HostName <インスタンスのIPアドレスが入ります>の欄は<>を削除し、IPアドレスのみを入力してください
[Ctrl] + [Shift] + [P]でコマンドパレットを表示し、検索窓に"reload window"を入力すると、[Developer:Reload Window]が表示されるので、これをクリックしてリロードします。
サイドバーから[リモートエクスプローラーのアイコン]をクリックすると、configファイルに設定した複数インスタンスのHost名が表示されます。
Host名の右の矢印ボタンをクリックするとインスタンスへの接続が開始されます。
複数ターミナルを開く方法
1つのターミナルでプログラムを実行中に、ログの確認など他のコマンドを実行したいときに、複数のターミナルを開いて実行することができます。
サイドバーから[Remote Explorer]をクリックし、接続するインスタンスの[ウインドウアイコン]をクリックすると新しいウインドウでターミナル開くことができます。
以下の例では、右側のターミナルでJupyterを起動し、左側のターミナルでnvidia-smiコマンドを実行して、GPUの状態を確認しています。
SSH接続の切断
SSH接続の切断をする場合は、画面左下の接続先を選択した後に[Close Remote Cnnection]を押下します。
VSCodeからインスタンスに接続する手順の説明は以上になります。
この記事では、GPUSOROBANのインスタンスを使用しました。
GPUSOROBANは高性能なGPUインスタンスが低コストで使えるクラウドサービスです。
サービスについて詳しく知りたい方は、GPUSOROBANの公式サイトをご覧ください。