クラウドを愛する関西のシステムエンジニアの日常

クラウドを愛する関西のシステムエンジニアの日常

無料で使えるGoogleCloudのGCEインスタンスとVSCodeで簡単!リモート開発!

この記事では、GoogleCloudの無料インスタンスの作成して、Visual Studio Codeでリモート開発する方法を解説します。

 

 

目的:

GoogleCloudで開発環境をリモート(SSH)で開発環境が出来る環境を用意する。

リモート環境ではその他の開発者をフォロ可能な(ペアプロ)環境とする。

開発課題:

開発案件ではまずローカル環境で開発する為の環境を作る必要がある。しかし、開発者のスキルで環境構築に時間を費やすことが多々ある。また、環境が限られた場所(社内)から出ないとアクセスできない状況の場合、開発するロケーションが限られてしまう。特に在宅からだと社内環境へのアクセスの為の出社が必要なる場合ある。その場合、移動時間もロスしてしまう。

課題解決方向性:

クラウド(Google Cloud)に誰かが開発環境を用意して、その環境に接続できれば、開発の業務がすぐに始められれる。きっと開発効率が良いはずである。また、開発環境を共有することで開発時に発生した課題にも複数人でフォローがしやすいはずである。

Visual Studio Code Remote

Visual Studio Codeサイトよりドキュメントを引用:

Visual Studio Code リモート - SSH拡張機能を使用すると、SSH サーバーが実行されているリモート マシン、仮想マシン、またはコンテナー上のリモート フォルダーを開いて、VS Code の機能セットを最大限に活用できます。サーバーに接続すると、リモート ファイル システム上のどこにでもファイルやフォルダーを操作できるようになります。張機能はコマンドや他の拡張機能をリモート マシンで直接実行するため、これらの利点を得るためにソース コードがローカル マシンに存在する必要はありません。

 

code.visualstudio.com

Google CloudのGCE (無料インスタンス

生成APIで説明を生成引用:

Google Cloud は、Google が提供するクラウドコンピューティングサービスです。GCE は Google Compute Engine の略で、仮想マシンを作成して実行できるサービスです。Google Cloud では、無料のトライアル期間や無料枠を利用して、GCE を試すことができます。

無料のトライアル期間は、登録時に $300 のクレジットが付与される期間で、90日間有効です。この期間中に、GCE を含む Google Cloud のさまざまなサービスを利用できます。ただし、一部の制限があります。たとえば、8 個以上の仮想マシンを同時に作成することはできません。また、クレジットがなくなったり、期限が切れたりした場合は、サービスが停止されます。

無料枠は、トライアル期間が終了した後も、一定の条件下で GCE を無料で利用できる枠です。無料枠の対象となるのは、e1-micro インスタンスタイプの仮想マシンで、米国のリージョンにあるものです。また、月間の使用時間は 720 時間までとなっています。無料枠を超えた場合は、通常の料金が発生します。

複数人でのリモート開発イメージ

・開発者は各環境にSSHでリモート接続するだけでその環境に用意されているミドルウェア(DB、WEBサーバ)などの開発リソースを利用して開発を出来るようになるイメージです。下記図の緑色が新しい開発者が新しいリモート開発環境に接続しています。

GoogleCloud 無料インスタンス作成手順

(2023年版) GCP無料枠 ホントに課金されない?の検証 (se-abeaver.com)

上記のサイトの通りに無料のインスタンスをus-west1(オレゴン)リージョンに作成。

 

ローカルでSSHキー生成をします。

ssh-keygen -t rsa -b 4096 -C "training_user@********.co.jp"

id_rsa.pub (公開鍵)が生成される。

生成された、公開鍵をエディターで開いて、GoogleCloudのインスタンスSSH認証鍵に「項目を追加」を押して内容を追加します。

ローカルの秘密鍵(~/.ssh/id_rsa) はこの後のVSCodeで接続時に利用します。

Visual Studio Code Remote設定手順

  • Remote接続用のエクステンションパックを検索します。

  • エクステンションをインストールします

  • インストールすると左メニューにリモート開発用のアイコンが表示されます

  • 接続するホスト選択。

  • 選択したホストとユーザを入力。

  • sshコンフィグを開く

  • 設定したらSSHに対象のホスト名を選択し、右クリックで接続

設定した結果

それぞれの環境をSSHで接続して個々のディレクトリを配置して開発環境を用意。ソースはSSH上経由で開発している為。他の開発担当フォロー的なことがリモート開発環境でできた。

運用したインスタンスの課金結果

今回、e2-micro インスタンスタイプの仮想マシンで、米国のリージョンの無料インスタンスは1か月の 720 時間まで開発環境を常時起動して開発が出来きる。この環境を作成して動かした結果が以下のグラフです。68円のストレージ課金が発生していますが。この課金はコンピューティングインスタンスへの課金ではなくストレージ使用した料金です。コンピューティングリソースは下記の通り割引(赤色と緑色)がされほぼ無料でした。

まとめ

今回、GooleCloudでAWS Cloud9のようなサービスをお手軽に作れないかなのとアイデアよりこの環境を作るに至りました。環境は利用が不要は停止し必要なときに起動するなどしてコストを抑えて(無料)開発ができます。また、開発環境が事前によういされていれば、開発効率はよくなりスピーディにスムーズになりよいかと思います。

 

ご購読ありがとうございました。