OpenVMMとLinuxゲストを基盤に、ハードウェアで隔離された超軽量マイクロVMサンドボックスで、信頼できないワークロードを実行します。
firecracker-microvm/firecracker
セキュアなマルチテナントのサーバーレスやコンテナワークロード向けに、軽量なmicroVMを実行するミニマルなKVMベースの仮想マシンモニター。
- スター
- 37,592
- フォーク
- 2,703
- 未解決の Issue
- 133
- 最終コミット
- 22 時間前
これは何?
Firecrackerは、microVMと呼ばれる軽量な仮想マシンでコンテナや関数のワークロードを実行するための仮想化技術です。中核となるのは、Linux KVMを使ってmicroVMを作成・実行する仮想マシンモニターです。不要なデバイスやゲスト向け機能を意図的に省いた設計により、各microVMのメモリ使用量と攻撃対象領域を削減し、起動時間を短縮します。
Firecrackerはプロセスごとに1つのAPIエンドポイントを公開し、OpenAPI形式で定義されています。このAPIを通じて、vCPU、メモリ、CPUテンプレート、ネットワークインターフェース、レートリミッター付きブロックデバイス、vsock、エントロピー、pmem、メモリホットプラグを設定できます。また、Kata ContainersやFlintlockなどのコンテナランタイムのバックエンドとしても使われています。AWSでLambdaやFargateなどのサービス向けに開発され、Apache 2.0ライセンスで公開されています。
安全に実行するには、Linuxホストが適切に設定されている必要があります。プロジェクトでは、本番環境向けホスト設定ガイドに加え、権限を放棄する前にcgroupとnamespaceによる分離を適用するjailerプロセスを提供しています。
主な機能
- 01Linux KVMを使い、最小限のデバイス構成でmicroVM上にワークロードを実行します。
- 02API経由でvCPU、メモリ、CPUテンプレート、ブロックデバイスやネットワークデバイスを設定できます。
- 03プロセスごとのseccompフィルターと、cgroupおよびnamespaceによる分離を行うjailerを備えています。
- 04virtioデバイスのレートリミッター、vsock、エントロピー、pmem、メモリホットプラグをサポートします。
- 05Kata ContainersやFlintlockなどのコンテナランタイムと連携します。
ユースケース
- マルチテナントホスト上で、信頼できない関数やコンテナのワークロードを分離されたmicroVMで実行する。
- microVMを素早く起動する必要があるサーバーレスプラットフォームのバックエンドを構築する。
- Kata Containersなどのコンテナランタイムの下層にあるVMレイヤーとしてFirecrackerを利用する。
- KVMに対応したLinuxホスト上で、VMベースの分離をテストまたは試作する。
クイックスタート
- 1
リポジトリをクローンする
git clone https://github.com/firecracker-microvm/firecracker - 2
プロジェクトディレクトリに移動する
cd firecracker - 3
開発コンテナでFirecrackerをビルドする(Dockerとbashが必要)
tools/devtool build
使う前に知っておきたいこと
- セキュアなマルチテナント利用には、KVMをサポートするLinuxホストと、適切に設定されたホストOSが必要です。
- aarch64のpl031 RTCデバイスは割り込みをサポートしていないため、hwclockなどのRTCアラームは動作しません。
トピック
よくある質問
- firecracker とは?
- セキュアなマルチテナントのサーバーレスやコンテナワークロード向けに、軽量なmicroVMを実行するミニマルなKVMベースの仮想マシンモニター。 Firecrackerは、microVMと呼ばれる軽量な仮想マシンでコンテナや関数のワークロードを実行するための仮想化技術です。中核となるのは、Linux KVMを使ってmicroVMを作成・実行する仮想マシンモニターです。不要なデバイスやゲスト向け機能を意図的に省いた設計により、各microVMのメモリ使用量と攻撃対象領域を削減し、起動時間を短縮します。
- firecracker は無料で使えますか?ライセンスは?
- firecracker は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- firecracker は今もメンテナンスされていますか?
- 活発にメンテナンス中。firecracker の最終コミットは 2026年10月24日 です。
- firecracker は何に使えますか?
- マルチテナントホスト上で、信頼できない関数やコンテナのワークロードを分離されたmicroVMで実行する。 microVMを素早く起動する必要があるサーバーレスプラットフォームのバックエンドを構築する。 Kata Containersなどのコンテナランタイムの下層にあるVMレイヤーとしてFirecrackerを利用する。 KVMに対応したLinuxホスト上で、VMベースの分離をテストまたは試作する。
- firecracker のインストール方法は?
- リポジトリをクローンする: git clone https://github.com/firecracker-microvm/firecracker プロジェクトディレクトリに移動する: cd firecracker 開発コンテナでFirecrackerをビルドする(Dockerとbashが必要): tools/devtool build
- firecracker はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/firecracker-microvm/firecracker
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
ハードウェア分離でAIエージェントや信頼できないコードをローカル実行できる、Rust製の組み込み可能なポータブルmicroVM。
Firecracker microVMとコンテナを単一のLinux CLI実行ファイルにまとめるツール。
AIエージェント向けのフォーク型microVMサンドボックス。起動済みのFirecracker親VMから子VMをcopy-on-writeで作成し、KVMで分離。実行中VMのライブBRANCHにも対応。
OpenClawなどのAIエージェントを、ファイルアクセスを制御しながら隔離されたLinux仮想マシンで実行するクロスプラットフォームVMM。
AIエージェントのワークロードをハードウェア分離されたMicroVMで実行するオープンソースのサンドボックスサービス。E2B SDK互換で、起動は60ms未満。