自宅のインターネット速度が遅すぎて開発が捗らない件をGoogle Comupte Engineで解決する

2021-03-03

#TL;DR

#自宅作業の課題

Covid19の影響により、自宅でテレワークされるITエンジニアのかたが増えたと思います。
突然の自宅作業で環境が整っていないことも多いのではないでしょうか。

私が特に困ったのは、自宅ネットワークのインターネット速度です。

#解決策

VPNを使わないソリューションとしてゼロトラストネットワークが注目されています。

Google CloudではCloud IAPが提供されています。

GCEでVMを立てて、IAP TCP転送を使ってSSH接続して開発をすればネットワークの速度問題が解決できるのではないかと考えました。

#メリット

GCEに開発環境を映すと何がいいのか?

#デメリット

#GCE開発環境構築手順

#構成

#GCE Instanceの作成

Cloud Shellから下記を実行します。

gcloud beta compute instances create my-instance --zone=asia-northeast1-b --image=ubuntu-2004-focal-v20210108 --image-project=ubuntu-os-cloud 

#IAPの使用準備

Google Cloud公式ページの下記の手順を実施します

TCP 転送での IAP の使用

上記の手順のあとは、ClientPCからVS CodeからSSH接続したいので
他の TCP 接続のトンネリングを行います。

例えば下記のコマンドでGCE Instanceの22番ポートと、ローカルホストの10022番ポート(任意)をトンネルします。my-instanceの部分はGCEのNameを指定します。zoneはGCEのインスタンスを立てたzoneを指定します。

gcloud compute start-iap-tunnel my-instance 22 \
    --local-host-port=localhost:10022 \
    --zone=asia-northeast1-b

#SSH接続

初回は、gcloudコマンド経由でSSH接続しておくと、自動的にSSH鍵が作られるのでそれをSSH接続で利用します。

gcloud compute ssh my-instance --zone=asia-northeast1-b

上記コマンドのあとに.sshフォルダを確認するとSSH鍵が作られていることが確認できます

ls .ssh/
config  google_compute_engine  google_compute_engine.pub

.ssh/configに10022番ポート向けにSSH接続設定をします。

# .ssh/config
Host iap
  HostName localhost
  Port 10022
  User yourname
  IdentityFile ~/.ssh/google_compute_engine

#VSCode Remote接続

VS Codeを開くとRemote ExploreでiapというSSH Targetが確認できると思います。

これでSSH接続できれば完了です。

ssh target

VSCodeのSSH Remote Extensionは、リモートマシンのVSCodeのインストール作業不要です。VSCode Remoteから接続するだけでリモートマシン上のVSCodeが利用できるので非常に簡単です。

#効果

今回、Cliでインターネット速度を測ることができるSPEEDTEST CLIというツールを利用させていただきました。

さすがに爆速!ですね。

爆速

SSHを通してVS Code上でソースコードの編集、実行など、大抵のことはできますから開発が捗ると思います。重たいDocker Imageでも気にせずPullすることが出来ます。手軽にGCEインスタンスを立ち上げて、作業が終わったらVMを終了するという運用をすればかなり費用を圧縮できると思います。

#まとめ

今回は、自宅のインターネット速度が遅すぎて開発が捗らない件をGoogle Comupte Engineで解決すると題して、開発環境を改善しました。
Covid19の影響は、しばらく続きそうですから、社員のインターネット環境で課題を抱えている企業は、ローカルで開発をせずにクラウド上で開発環境を提供する企業が今後増えそうだと思います。
GithubCodespaceのようなリモート開発環境が整備されるとリモートマシン上で開発することが当たり前になるかも!?


クラウドアンドビルド合同会社ではGoogle Cloudを使ったインフラ構築、システム開発、働き方改革ソリューションを提供しています。ご気軽に、ご相談・お問い合わせください。