
OSSのクラウド基盤「Eucalyptus」を使う(4)--インストール〜ノード構築
この連載では、Amazon EC2互換のクラウド基盤であるOSS「Eucalyptus」を使い、「自分たち専用」のクラウド環境を構築することを目標に解説を行っています。今回は、これまでの内容をベースに、インストールと各ノードの構築について説明します。
記事中に登場する用語や略語、概念などで分からないものが出てきた場合には、この連載の過去記事を参照しながら読み進めてください。
6. フロントエンドノードのインストールと設定
今回までの情報で、クラウドの構成が計画できたかと思います。さっそく当連載第6回で紹介した構成 (下に【4-図1】として再掲) でクラウドを構築してみることにしましょう。
ここでは例として、社内ネットワークが「172.16.0.0/16」を使っており、フロントエンドノード用に「172.16.4.1」というIPアドレスと、「euca.example.com」というホスト名を割り振ることとします。
また専用ネットワーク側のIPアドレスは、社内で使われていない「10.98.0.0/16」の空間を使い、フロントエンドノードに「10.98.0.1」、計算ノードに「10.98.1.1、10.98.1.2、……」というIPアドレスを振ることにしましょう。さらに、インスタンスのローカルIPアドレス空間には、「10.100.0.0/16」を使うことにし、パブリックIPアドレスとして、「172.16.5.1、172.16.5.2、……、172.16.5.254」を利用することとします。
まずはフロントエンドノードです。CentOSのインストールと設定に関してはここでは述べません。Walrus用には「/opt/eucalyptus/var/lib/eucalyptus/bukkits」、EBS用には「/opt/eucalyptus/var/lib/eucalyptus/volumes」というディレクトリをそれぞれ利用しますので (*1)、ここに十分な空きを持たせてください。
また、CLCが管理者や各ユーザーにメールを送信しますので、少なくとも想定される各ユーザーに対してメールが送信できるよう、MTAの設定をしておく必要があります。フロントエンドノードでは、EC2関連ツール用にTCPのポート8773、ウェブの管理UI用にTCPの8443の2つのポートを利用しますので、この2つのポートを空けるようiptablesの設定をしておきましょう。また、EBSのためにloopデバイスをたくさん利用することがありますので、loopデバイスの数を増やしておきます。

Eucalyptusのソフトウェアは、こちらのリンク先からダウンロードできます。インストールしたCentOSに合わせて、i386版かx86_64版を選択してダウンロードします。EucalyptusのRPMパッケージに加えて、依存するいくつかのRPMパッケージを固めた「.tar.gzファイル」になっていますので、インストールも簡単です。
EucalyptusのRPMパッケージは、
eucalyptus | 各コントローラ共通 |
eucalyptus-cc | クラスタコントローラ |
eucalyptus-cloud | クラウドコントローラ |
eucalyptus-gl | ログに関する内部用のプログラム |
eucalyptus-nc | ノードコントローラ |
の5つに分けられています。フロントエンドノードにはCLCとCCをインストールするわけですが、いずれも「eucalyptus」と「eucalyptus-gl」に依存しています。さらに、バンドルされている「euca-axis2c」「aoetools」「vblade (*2) 」などにも依存しています。これ以外の依存パッケージに関しては、CentOSのbaseリポジトリで見付かりますので、yumなどを使ってインストールすれば問題ありません (*3)。
(*1)ともに既定値で、ウェブの設定画面で変えられます。しかし、Walrusのディレクトリを変更するのは手元ではうまくいきませんでした。追求していませんが、Eucalyptusの不具合なのではないかと思います。
(*2)vbladeは、ファイル名から察するにMandriva Linux用にコンパイルされたものが同梱されています。EPELにel5用のパッケージが用意されていますので、私はそちらを使いました。
(*3)何台もある計算ノードのインストール時に備えて、RPMファイル群をyumのリポジトリにしておくと、「yum install eucalyptus-cc eucalyptus-cloud」等と入力するだけで依存関係の解決をyumがすべてやってくれるので便利です。