Firecrackerをなるべく手頃に試せる場所を探す

手頃にFirecrackerを試せるクラウドサービスをいくつかご紹介します。
2018.12.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ども、ゲストの大瀧です。
みなさーん、Firecrackerはもう試しましたか?Developers.IOでも既に以下のブログで動作させた記事が上がっています。

1本目ではベアメタルインスタンスのi3.metal、2本目ではMacBook Airの例ですね。FirecrackerはマイクロVMを実行する仕組みとしてLinuxのハイパーバイザであるKVMに依存するため、一般的な仮想マシン環境では動かせないのがちょっと敷居高めなのですよね。そこで本ブログでは手頃にFirecrackerを試せるクラウドサービスをいくつかご紹介したいと思います。

安価なベアメタルインスタンスや専用サーバーを探す

Firecrackerは現時点でIntel VT-xを必要とするので、x86_64なベアメタルインスタンスが使えるクラウドが良いですね。以下2つがあります。

  • Packet
  • Scaleway

Packet

Packetは2016年にArm CPUのベアメタルクラウド&東京リージョンの立ち上げ以来、ソフトバンクが出資しているクラウドサービスですね。最近音沙汰がないからどうなのかなぁと思っていたら、つい最近シリーズBの追加投資を受けてビジネス拡大中のようですね。で、お手頃なベアメタルインスタンスとしてt1-smallがあり$0.07/h(月額換算$52.5)でAtom C2550/8GBメモリのインスタンスが動かせます。さらにEC2と同様なスポットインスタンスがあるのでぜひ活用しましょう。私が試したときは東京リージョン(NRT1)だと定価よりも高い$0.08、サニーベル(SJC1)だと$0.02だったので、スポットであれば適当な米国リージョンを選択するのがよさそうです。

Scaleway

Scalewayはヨーロッパの格安クラウドで、こちらもArm搭載のベアメタルインスタンスが話題になりました。こちらのお手頃ベアメタルはC2Sインスタンスがあり、€0.024/h(月額だと割引が効いて€11.99/mo)という破格で使えます。スペックはたまたまPacket t1-smallと同様のAtom C2550/8GBメモリです。

動かし続けるならScaleway、レイテンシを優先するならPacket、というところでしょうか。どちらもUbuntu 18.04(Bionic Beaver)でFirecrackerが正常に動作しました。

Nested Virtualizationに手を染める

ベアメタル以外にFirecrackerを動かす方法として、Nested Virtualization(入れ子の仮想化、以下ネスト仮想化)も使えます。ネスト仮想化は仮想マシン上で仮想マシンを実行する仕組みで、仮想マシンにVT-xを許可するクラウドサービスで利用できます。で、なんと手順が公式ドキュメントにまとまっている男前なクラウドとしてGCEがあります。

CLI操作が必要で通常の仮想マシン実行よりも手間はかかりますが、ドキュメントの通り操作することで任意のインスタンスタイプでFirecrackerが動きます。f1-microを米国リージョンで動かせば常時無料で使えるので最安はこれです。

Firecrackerのバージョンはv0.12以降にしよう

1つだけハマりポイントがあります。今回の環境は以下のIssueに引っかかるので、これの修正p-rがマージされる以前のバージョン(v0.11まで)ではFirecrackerが実行時にクラッシュします。

Firecrackerは目下、活発に開発が進んでいるのでなるべく最新バージョンを利用するのが良いですね。

まとめ

手頃にFirecrackerを試せるクラウドサービスとしてPacket、Scaleway、GCEをご紹介しました。以下のドキュメントではAWSも[TODO]として示されていますので、今後何かアップデートがあるのを期待しましょう!

動かしたら、次は以下のブログを参考にしてみてください。