VSCodeでCloud9のようにEC2を自動起動・自動停止したい
こんにちはWebエンジニア1年目の駆け出しです。
今回は、タイトルを実現するために以下の構成を考えてみました。
この構成で実現可能か、もっと良い構成がないかなど知見をいただけると嬉しいです。
【概要】
Cloud9 から VSCode / Cursor に移行した場合でも、
“エディタを開いたらEC2が起動し、操作しなかったら自動停止”
という仕組みを再現したい。
【目標】
- VSCode / Cursor を起動すると対象のEC2を自動起動
 - 一定時間操作がなければ自動停止
 - SSH経由の接続が使える
 
【構成概要】
▶ 自動起動
- AWS Lambda + API Gateway
 - VSCode / Cursor の開始スクリプトで Lambda を呼び出し
 - EC2 instanceId を指定して 
start_instances - IP取得ループ(Elastic IPは使わない)
 - IP取得できたら
code --remoteでRemote SSH 
▶ 自動停止
- CloudWatch で CPU 利用率を監視
 - CPU < 5% が 15 分続いたら Lambda で 
stop_instances - または cron (例: 毎日20時) で EventBridge と連携
 
VSCodeの拡張機能を自作して以下の機能を実装することも考えています
- EC2インスタンスの一覧を取得
 - 取得したEC2を起動&Remote SSHをするスクリプトを走らせる
 
以上です。どなたでもご意見をいただけたら嬉しいです!
1 likes