はじめに
業務でEC2に接続して開発を行っていたが、接続が頻繁に切れる問題に悩まされていた。
WSLへ移行することで解決を試みたため、その結果をまとめる。
環境
- エディタ:VSCode
- 開発環境:踏み台よりSSH通信したEC2環境
- 開発言語:TypeScript、Java
- 単体テストツール:Jest、JUnit
背景
業務での開発作業は以下の流れで行っている。
- ベースブランチからfeatureブランチ作成
- 調査
- 実装
- 単体テスト(JUnit/Jest使用)
- POSTMANで打鍵(場合による)
- git push
問題点
以前からEC2の接続が頻繁に切れ、作業中断やEC2の再起動を余儀なくされていた。
この問題を解決するため、WSLでの開発に移行することにした。
当初の懸念点
WSLからgitへのpush/pullはできないのではないか、またEC2環境にどうやってソースを移行するのか、という懸念を抱いていた。
結果
結論として、WSLはWindowsのネットワークを共有しているため、git操作を含むほとんどの作業はWSLで完結できることが判明した。
| No | 作業 | 可否 |
|---|---|---|
| 1 | ベースブランチを最新化(git pull) | ✅ 可能 |
| 2 | featureブランチ作成(git checkout) | ✅ 可能 |
| 3 | ソース修正(調査/実装) | ✅ 可能 |
| 4 | 単体テスト(JUnit/Jest) | ✅ 可能 |
| 5 | POSTMAN打鍵 | ⚠️ 接続先環境による |
| 6 | git push | ✅ 可能 |
※ POSTMANの打鍵先APIや接続先DBが踏み台経由のプライベートネットワーク上にある場合、WSLからは直接接続できない。該当する作業はEC2で行う必要がある。なお、ローカルで完結する環境(DockerのDBなど)であればWSLからでも接続可能。
まとめ
意外とほとんどの作業がWSLで完結できた。EC2と異なり接続が切れることがないため、開発体験が大きく改善された。EC2接続の不安定さに悩んでいる方はWSL移行を検討してみてほしい。