ブログニフクラやクラウドの技術について、エンジニアが語るブログです。ブログニフクラやクラウドの技術について、エンジニアが語るブログです。FreeBSDはじめまして、ニフティ入社一年目の蓮沼です。Serverはもちろん、CentOSやUbuntu、DebianなどLinux系のパブリックイメージを提供しています。ToolsをインストールするPackerでイメージ作成を自動化インストール済みパッケージリストはじめにニフティクラウドの基盤はVMwareの製品を採用しています。Toolsのインストールが必須になっております。今回ニフティクラウドでご利用いただけるFreeBSDのイメージをリリースしましたが、VMware製品はFreeBSD10.0を正式にサポートをしておりません。Toolsのインストールではパッチを当ててインストールを行っています。Inc.ならびにニフティ株式会社ではサポート対象外であり、ご利用はお客様の自己責任でお願いいたします。皆さんはFreeBSD、使っていますか?私は学生のころからFreeBSDを使い続けています。言っても8.*系からの新参者ですが...。OSをサーバで使用することがポピュラーと言うか、当たり前な世の中ですが、今FreeBSDが熱いんです!!FreeBSD10.0では後述するデフォルトコンパイラがclangになったり、ネットワーク周りに様々な機能が追加されたりと抜群の安定感を保ちつつ、新しい機能がふんだんに追加されています!今回はFreeBSDの大きな特徴として以下の5点についてご紹介したいと思います。大規模な環境、企業が利用しやすいライセンス実はFreeBSDは至る所で利用されていることはご存知でしょうか?例えば日本最大級のオークションで有名なヤフーオークション。ヤフー最大級のサービスインフラは数千台のFreeBSDのサーバで構成されています。Inc.もFreeBSDを利用しています。OSはFreeBSD9.0をベースにしており、商用利用が許可されているBSDライセンスから多くの組み込み機器にも採用されています。4他にも昔大学で使っていた方やPC-98で動かしてた!という方、jailがあることからレンタルサーバで使ったことがあるという方もいらっしゃると思います。Collectionに集約されています。installでインストールすることが可能です。apacheなどは多くのオプション指定が可能であり、バイナリインストールではなくソースコードをビルドしてインストールする機会があると思います。その時にいちいち最新のソースコードを探してwgetし...という手間がかかりません。以下のコマンドですぐに最新のソースコードを取得し、makeすることが出来ます。updateまたFreeBSD10.0では新しくパッケージ管理ステムのpkgコマンドが利用可能です。yumやapt-getのようにバイナリインストールはもちろん、アップデートも簡単に行うことが可能です。簡単なipfwLinuxのファイアウォールはiptablesを使う機会が多いと思いますが、FreeBSDはipfirewallというパケットフィルタリング型のファイアウォールがあります。パブリックイメージのデフォルト設定ではVM側から外への通信と、外側からのsshのみの通信を許可しています。設定コマンドは以下の通りです。meなど設定がシンプルで分かりやすいです。この設定では拒否したパケットのlogを取るように設定しています。logは/var/log/securityに保存されます。上記はコマンドで設定する場合であり、公開イメージでは/etc/ipfw.confの設定ファイルを参照するようにしています。この/etc/ipfw.confは/etc/rc.conf内で"firewall_type="で指定されており、ipfwコマンドなしのaddから設定を記述します。Webサーバを構築した際に必要な設定を/etc/ipfw.confに記述した例は以下の通りです。anyこのように簡単にファイアウォールの設定が行えます。コンパイラがgccからclangへFreeBSD10.0からデフォルトコンパイラがgccからclangへ変更されました。以前までFreeBSDのデフォルトコンパイラはgccでしたが、gccのライセンスがver4.21以降GPLv3へ変更されたと同時にコンパイラのバージョンアップが停止しました。FreeBSDはBSDライセンスの元配布されているため、ベースシステムにGPLv3であるgccのマージは見送られていました。その中で開発されたのがclangです。clangはバックエンドにLLVMを使用したBSDライセンスで配布されているコンパイラです。今熱いLLVMですよ!GPLv3なコンパイラなんて使わずにclang使いましょうclang!5.ネットワーク周りの強化FreeBSDは昔からネットワークに強いと言われていましたが、最近ではLinux系も速いです。Releaseではnetmap、MPTCPなどネットワーク周りの機能がより強化されています。詳しくは、@ITの「いま知っておくべきWebサービスのための高速ネットワーク技術」という記事をご参照ください。3.7よりも性能が良いことが分かります。今回公開したイメージにはnetmap、MPTCPの組み込みは行っていませんが、検証やチューニングしてみる価値は十分あると思います。何より大規模なインフラで利用され続けてきた実績もありますし、sysctlやカーネルのチューニングをしてみると面白いOSだと思います!ニフティクラウド×FreeBSDで最強サーバニフティクラウドの強みとして、10GbpsのNICをグローバルとローカルで用意し、太いネットワーク回線を提供しています。昨今のWeb業界ではnode.jsとWebSocketのリアルタイム通信に注目が集まっており、小さなパケットを大量に処理できるインフラが求められています。Toolsをインストールするには以下の手順でパッチを当て、インストールする必要があります。Toolsを利用するようお願いいたします。今回のFreeBSDのパブリックイメージを公開するに当たり、Packerというツールを使用しました。Inc.のゴールデンイメージ作成ツールです。ニフティクラウドでは、Packerを用いてスタンダードイメージ、パブリックイメージのビルドを自動化しており、今回のFreeBSDのパブリックイメージ作成時もPackerを用いて自動ビルドしています。JSONに書いた定義の通りのイメージを作成できるため、複数人で同じ構成のイメージを利用したい場合のイメージ作成に最適です。他にもJenkinsなどCIツールからキックして常に最新のVMイメージを用意するという使い方も出来ます。FreeBSDのインストール自動化ではbsdinstallが使えるため、比較的簡単にPackerで自動化できました。FreeBSDのVMが自動生成される過程は見ていて面白いので、興味のある方は是非ご自身でビルドしてみてください。Packerのテンプレート、ビルド手順はGithubに公開しております。»プロフィールニフクラとは、VMwareを基盤とした国産のパブリック型クラウドサービスです。LIMITEDスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。