Amazon Web Servicesは、AWS Lambda上で一時的にステートフルな実行環境をMicroVMによって安全に隔離された状態で用意できる新サービス「AWS Lambda Micro VMs」を発表しました。
AWS Lambda MicroVMsはサーバレスの利点+ステートフル
AWS Lambdaはサーバレスアプリケーションの実行環境として登場しました。
サーバレスな実行環境には、インスタンスのプロビジョニングや負荷がかかったときのスケーリングなどを気にすることなく、管理をサーバに任せられるという利点があります。
そのサーバレスな実行環境の上で、基本的には瞬時に起動して短期間で終了するステートレスな関数を連携させることでサーバレスアプリケーションが構成されます。
今回発表されたAWS Lambda MicroVMsは、こうしたサーバレスの利点である管理不要で瞬時に起動して利用できるという利点を保ちつつ、ステートフルな状態(後述のように最大で8時間)を保てる実行環境を用意できるというサービスです。
ステートレスという制約がないため、AIが生成したコードのような信頼できないコードを一時的に隔離して実行することや、コマンドライン環境のようなインタラクティブなスクリプトなどの安全に隔離された実行環境を、プロビジョニングなどを気にすることなく用意して実行できます。
また、安全に分離されたマルチテナント環境を手軽に構築することなども想定されています。
ステートフルなコードの実行環境を瞬時に起動
そのためにAWS Lambda MicroVMsでは以下のような特徴を備えています。
- MicroVMとしてFirecrackerを採用し、カーネルレベルで分離される仮想マシンによる安全な分離
- 最大で8時間ステートを維持するステートフルな環境
- アイドル状態でもメモリとディスクの内容が保持されたステートフルな状態を維持。アイドル状態はAPIやポリシーにより設定可能
- トラフィックが到着すればアイドル状態からでもMicroVMにより瞬時にセッションを再開できる
- DockerfileとAmazon S3のパッケージによるMicroVMイメージの管理
つまり瞬時に立ち上がって便利に使えて、しかも仮想マシンと同等の安全な分離環境を、AWS Lambdaのサーバレス基盤で管理に気を遣うことなく利用できる、というところがAWS Lambda MicroVMsの利点といえるでしょう。
ただし永続的にステートを維持可能なものではないため、基本的には一時的もしくは短時間で完了するようなワークロードの利用が想定されます。
対応するプロセッサはARM64アーキテクチャで、1つあたり最大16個のvCPU、32GBのメモリ、32GBのディスクを備えています。
AWS Lambda MicroVMsは東京リージョンで利用可能なほか、米国東部(ノースバージニア、オハイオ)、米国西部(オレゴン)、ヨーロッパ(アイルランド)で利用可能です。
