【要約】Lambda MicroVMsを魔改造してたらVSCodeのワークショップ環境ができたw [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
技術ワークショップ等の環境構築において、ユーザーごとの環境分離とコスト最適化の両立が課題となる。従来の常設サーバー型では、以下の問題に直面する。
- ・ユーザー間の環境干渉によるトラブルの発生。
- ・利用していない時間帯におけるサーバー維持コストの発生。
- ・環境の配布や、利用終了後のクリーンアップ作業の負荷。
// Approach
筆者は、Lambda MicroVMsを活用して、ブラウザからアクセス可能なcode-serverをコンテナ化する手法を採用した。具体的な実装ステップは以下の通りである。
- ・
public.ecr.aws/lambda/microvms:al2023-minimalをベースにcode-serverをインストール。 - ・
sudoが制限される環境への対策として、rootユーザーの名称とホームディレクトリを変更。 - ・CDKのビルドタイムアウト回避のため、ECRに事前登録したイメージを
FROMで指定する構成を採用。 - ・VSCodeのデフォルト設定および拡張機能をコンテナ内にプリセット。
// Result
ユーザーごとに独立した、使い捨て可能なVSCode環境の提供を実現した。これにより、以下の成果を得ている。
- ・ブラウザ起動時にMicroVMが立ち上がり、終了後に一時停止・破棄されるライフサイクルを実現。
- ・利用した分だけ課金されるため、ワークショップ等の短期間利用において高いコスト効率を達成。
- ・IAMロール制御により、環境ごとのAWSリソースアクセス権限を柔軟に管理可能。
Senior Engineer Insight
> 本構成は、技術ワークショップや一時的な開発環境の提供において極めて高い合理性を持つ。ユーザーごとに独立したMicroVMを割り当てることで、セキュリティと隔離性を担保しつつ、従量課金モデルにより運用コストを最小化できる。ただし、初回起動時のレイテンシや、MicroVMの自動破棄に関する制御の制約には留意が必要だ。実戦投入時は、起動時間の短縮と、セッション維持の要件を精査すべきである。