Dev Classmethod Jp Articles Aws Lambda Microvms Flask Suspend Resume
新機能 AWS Lambda MicroVMsで、Flaskアプリを動かしてサスペンド・レジュームまで試してみた
- URL: https://dev.classmethod.jp/articles/aws-lambda-microvms-flask-suspend-resume
- 日付: 2026-06-23
- Tier: Tier 2
- 要旨: AWS Lambda MicroVMs で Flask アプリのステートフルなサスペンド・レジューム実装。従来 Lambda 関数(イベント駆動・ステートレス・15分上限)と異なり、MicroVMs はステートフル隔離(8時間上限・16vCPU/32GB/32GBディスク可能)。Firecracker スナップショット技術で高速起動・状態保持。開発者がライフサイクルを明示的制御。S3 からコード取得・CloudWatch Logs にビルドログ出力する IAM ロール設定。
詳細
Lambda MicroVMs vs Lambda 関数の位置づけ比較。設計思想:関数はイベント駆動・ステートレス、MicroVMs はステートフル隔離環境。アイソレーション:関数は Firecracker 再利用、MicroVMs はインスタンスごと隔離。状態保持:関数は保証なし、MicroVMs はサスペンド中もメモリ・ディスク状態保持。実行時間:関数最大15分、MicroVMs 最大8時間。リソース:関数最大 6vCPU/10GB、MicroVMs 最大 16vCPU/32GB/32GB ディスク。ライフサイクル:関数は AWS 管理、MicroVMs は開発者明示的制御。接続:関数はイベント/URL、MicroVMs は専用 HTTPS エンドポイント。
MicroVMs は既存 Lambda 置き換えでなく、ユーザーごと隔離・長時間インタラクティブ環境が必要な場面向け。IAM ロール作成時の信頼ポリシーで lambda.amazonaws.com に sts:AssumeRole・sts:TagSession 許可。権限ポリシーで s3:GetObject(コード取得)・logs:CreateLogGroup/PutLogEvents(ビルドログ)付与。Firecracker スナップショットで高速復帰と状態一貫性を実現。