Google Compute Engine×VS Codeでリモート開発環境を構築する手順を徹底解説!
この記事では、Google Compute Engine(GCE)で立ち上げたVMインスタンスにVS CodeからSSH接続して、クラウドリソースを活用して開発できる環境を構築する手順を具体的に説明します。この環境構築により、ローカルのマシンパワー以上のリソース簡単に用意することができます。
Google Compute EngineでのVMインスタンスの立ち上げ方
まず、Google Compute Engine(GCE)からVMインスタンスのページを開きます。このページから、VMの立ち上げを行なっていきます。ページ上部の「インスタンスを作成」をクリックします。
そうすると、下記図のようなページに遷移します。インスタンスの作成方法は複数方法ありますが、今回は0から設定を行なっていきます。まず、①の箇所に今回のインスタンス名を入力します。今回サンプルで立ち上げるインスタンスの名前をsample-instanceとします。
次に、②の箇所でリージョンとゾーンを選びます。これは、立ち上げるVMがどこのデータセンター上で立ち上げるかを意味します。アメリカのデータセンターの方が一時間あたりの利用料が安価になる傾向がありますが、物理的な距離が遠くなるので、若干のタイムラグが発生してしまいます。なので、パフォーマンスを重視する場合は日本の東京や大阪のリージョンを選択すると良いと思います。今回は、サンプルで立ち上げるので、us-central1を選択します。
次に、③の箇所でマシンの構成を選びます。ここでは、立ち上げるVMのリソースに関する設定を行います。今回は一番ベーシックなN2シリーズを選択します。
その後、下記図の④で具体的なマシンタイプを選択します。ここではCPUの性能はどれが良いかや、メモリは何GBが良いかなどを選びます。
今回はCPUが1コアでメモリが8GBのタイプを選択しました。同じコア数、GB数でもハイメモリやハイCPUなどタイプによって性能が異なるので、下記リンクから詳細を確認してください。
マシン ファミリーについて | Compute Engine ドキュメント | Google Cloud
次に、⑤の箇所からOSとストレージの設定を行なっていきます。
「変更」の箇所をクリックすると下記図のような画面に遷移します。⑥ではOS、⑦ではストレージサイズを設定します。今回はOSはUbuntu20.04でストレージは100GBで設定しました。
これらの設定を終えると下記図の⑧の「作成」ボタンをクリックし、VMインスタンスの作成を行います。これで、VMインスタンスの作成は終了です。
次に、立ち上げたVMインスタンスのIPアドレスの設定を行なっていきます。この設定は必ずしも必要というわけではないのですが、この設定をしないと毎回IPアドレスが変わってしまい、今後の設定をVM起動時に行わないといけなくなるため、設定を推奨しております。まずは、Google CloudのIPアドレスのページに遷移します。次に、下記図の⑨の「外部静的IPアドレスを予約します」をクリックします。
すると、下記図のようなページに遷移します。まず、⑩の箇所に今回設定するIPアドレスの名前を定義します。自分はわかりやすいように「{VMインスタンス名}-ip」で設定しています。
次に、どのVMインスタンスのIPアドレスを予約するかを設定していきます。⑪の箇所からリージョンを設定し、その中から対象のインスタンスを選択します。これらの設定を完了したら、「予約」をクリックします。
IPアドレスの設定が終わると、先ほどのVMインスタンスのページに戻り外部IPが付与されていることを確認します。
VScodeからVMインスタンスにSSH接続するための設定
ここからは、VS CodeからGCEのVMインスタンスにSSH接続して開発できるようにする設定を行なっていきます。
まず、ローカル環境で認証鍵の発行を行なっていきます。下記コードを実行して認証鍵の発行を行なってください。
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ユーザー名/.ssh/id_rsa): <--鍵の保存先
Enter passphrase (empty for no passphrase): <-- パスフレーズを入力(任意)
Enter same passphrase again: <-- もう一度、パスフレーズを入力(任意)
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
次に、VS Codeでの設定を行なっていきます。まずは、必要なプラグインをインストールしていきます。下記の「Remote – SSH」をインストールしてください。
次に、VS Codeのターミナルから「~/.ssh/config」を開いてください。ここで、接続先のVMインスタンスの設定を入力します。~/.ssh/configに下記を入力して保存してください。
Host <VMインスタンスの名前(今回だとsample-instance)>
HostName <対象のVMインスタンスの外部IPアドレス>
User <ユーザー名>
IdentityFile <先ほど発行した認証鍵のファイルのパス>
PasswordAuthentication no
IdentitiesOnly yes
次に、認証鍵の設定を行なっていきます。先ほどのGoogle CloudのVMインスタンスのページから⑫の編集をクリックします。
その後、下記図の⑬の箇所に、先ほど発行した認証鍵を設定します。その後、保存すれば認証鍵の設定は終了です。
これで、立ち上げたVMインスタンスにVS CodeからSSH接続する設定は終了です。VS Codeを開いて左部の「リモートエクスプローラー」を選択すると、先ほどconfigファイルに入力したインスタンスが表示されます。ここをクリックすると、新しいウィンドウが立ち上がります。
下記が遷移後の画面になります。左下部に「SSH:sample-instance」となっており、先ほど立ち上げたVMインスタンスに接続できていることがわかります。ここで見ている画面は、既にVMインスタンスの中身になります。
終わりに
このようにして、VMインスタンスにVS CodeからSSH接続して、クラウドリソースを活用して開発できる環境が構築できます。皆様も是非試してみてください