VSCodeからGCP(GoogleCloudPlatform)にSSH接続

GCP(GoogleCloudPlatform)にAnacondaを入れて環境をCloud化して、自分のPCに入っているVSCodeから繋げたら、すごく楽になるなぁと思い、実施しました。

以下が前提です。
・PCにVSCodeがインストール済み
・GCP(GoogleCloudPlatform)に登録済み
 こちら(https://cloud.google.com/docs/overview/?hl=ja)より登録して下さい。
・GCPにてプロジェクト作成
 こちら(https://console.cloud.google.com/)よりプロジェクト作成して下さい。

手順は以下の通りです。

手順

  1. GCPにてVMインスタンスを作成
  2. SSH接続用鍵の取得
  3. VSCodeに拡張機能 RemoteDevelopmentをインストール
  4. VSCodeにSSH接続用Configファイルの設定して接続

①GCPにてVMインスタンスを作成

GoogleCloudPlatformのコンソールにて、作成したプロジェクト内で「Computer Engine」を選択します。すると以下のような画面が出てきますので、VMインスタンスの「インスタンス作成」を選択します。

インスタンス作成は用途予算に応じて設定下さい。私は以下のようにしました。
名前 : instance-2
ゾーン : us-central1-a
マシン:n1-standard-4(vCPU x 4、メモリ 15 GB)
OS : Ubuntu (16.04 LTS)
ディスク : 50GB

HTTP トラフィックを許可する ON
HTTPS トラフィックを許可する ON

プリエンプティブ オン
「管理、セキュリティ、ディスク、ネットワーク、単一テナンシー」をクリックすると表示されます。たまに使う、テストで使う等で節約したい方はこちらをオンにしてください。半額以下になります。詳細はこちらをご確認下さい。

②SSH接続用鍵の取得

以下よりSSHを選択します。

別ウインドウでコマンドシェル(SSH シェル)が起動します。その画面上で、以下のコマンドを実行します。

ssh-keygen -o -t rsa -C "(username)" -b 4096

/home/(username)/.ssh/ というフォルダに証明書の鍵ファイルが生成されます。このファイルを以下「ファイルをダウンロード」メニューでローカルPCにダウンロードします。

以下ダイアログが表示されるので、
「/home/(username)/.ssh/id_rsa」と入力してダウンロードします。

同じように
「/home/(username)/.ssh/id_rsa.pub」もダウンロードします。

id_rsa.pubの中身をコピーして、以下SSH認証鍵にコピーします。

③VSCodeに拡張機能 RemoteDevelopmentをインストール

VSCodeの拡張機能を表示します。(Ctrl+Shift+X)

RemoteDevelopmentで検索してインストールします。

④VSCodeにSSH接続用Configファイルの設定して接続

Configファイルを以下で表示させます。

Configファイルに以下のように入れます。
Host 好きな名前
HostName XXX.XXX.XXX.XXX
User XXXXXX
Port 22
IdentityFile XXXXX\XXXXX\id_rsa
IdentitiesOnly yes

HostNameには以下の外部IPを指定します。

IdentityFileにはダウンロードしたid_rsaファイルの場所を指定します。

接続すると以下ウィンドウを起動します。パスワードを求められたら、SSH接続用鍵生成時に設定したパスワードを入力します。

これでVSCodeからGCP(GoogleCloudPlatform)にSSH接続が完了しました。