Amazon EC2対応

FreeBSD 10からはAmazon EC2のインスタンスが正式提供されている。Xen対応やVirtIO開発が進んだことやもあり、デフォルトカーネルの状態でAmazon EC2で動作するようになった。これはAmazon EC2上でFreeBSD UpdateベースでFreeBSDサーバを運用したり、Amazon EC2上でカーネルをカスタマイズして実行したりが簡単にできるようになったことを意味している。

Amazon EC2におけるFreeBSDインスタンス

リリースのタイミングでいえばFreeBSDの正式アナウンスが開始されるよりも前の段階でインスタンスは登録されており、いち早く最新版を使うことができる。Amazon EC2を利用するとハードウェアの調達などのコストをかけることなくFreeBSDインスタンスを利用することができる。これまでAmazon EC2におけるFreeBSDの利用はさほど普及していなかったが、デフォルトで利用できるようになったことで採用が進むものとみられる。

Amazon EC2ではリソースの少ないマイクロインスタンスからリソースを豊富に備えたインスタンスまで多種多様なコンピュータリソースが提供されており、一定期間だけECサイトを展開したいとか広告を出したい、動画配信をしたい、HPCを実施したいなどの用途に柔軟に対応できる。

Hyper-V仮想化プラットフォーム

仮想化プラットフォームへの対応という点でみると、MicrosoftのHyper-V対応がデフォルトで追加された点もFreeBSD 10の特徴になっている。MicrosoftとCitrix、NetAppが共同で作業を進めた結果、FreeBSD向けのHyper-Vインテグレーションサービスの実装がオープンソースで公開されることになり、この成果物がマージされた。

FreeBSD 10.0は次のようにHyper-Vとのサービス統合が実現されている。

  • Hyper-Vコンソールからのシャットダウンの実施
  • Hyper-VホストとFreeBSDゲストの間での時刻同期の実施
  • Hyper-V特有のIDEストレージデバイスおよびSCSIストレージデバイスに対応
  • Hyper-V特有のネットワークアダプタに対応
  • 特定のIPアドレスを使わなくともライブマイグレーションを実現

Hyper-VでFreeBSDを運用する場合はFreeBSD and Microsoft Windows Server Hyper-V supportのページに情報がまとまっているので参考にしておきたい。

ファイアウォールipfw(8)機能強化とpf(4)マルチコア対応

FreeBSD 10のファイアウォールであるipfw(8)にはIPヘッダのDSCP(DiffServコードポイント)に対する設定または一致の機能が追加された。IPv4およびIPv6の双方に対応。DSCPの値は名前ベースでも数値ベースでも指定でき、一度に複数のクラスを指定できる。

FreeBSDにおいてもっとも開発が進んでいるファイアウォールがipfw(8)だ。FreeBSDでファイアウォールを使う場合はipfw(8)を選択するものだと考えておいて問題ない。ipfw(8)はマルチコア/メニーコアにおいて性能が発揮できるようによく開発が進められており、動作も軽快。

一方、OpenBSDで開発されたpf(4)もFreeBSDでは人気がある。pf(4)はフィルタルールの記述がわかりやすく強力な指定を記述できる。FreeBSD 10のpf(4)はさらにマルチコアへの対応も進められ、従来のバージョンよりも性能が発揮できるようになっている。

ただし、FreeBSDのpf(4)を使う場合にはいくつか検討した方がよい点がある。まず、性能の面ではipfw(8)の方が優れていること、ロバスト性の面でもipfw(8)がよいと見られていることだ。仮想環境で動作させた場合もipfw(8)の方が堅牢に動作する傾向がある。pf(4)を採用する場合には高負荷時にpf(4)がちゃんと動作するか検証した上で採用した方がよいといえる。