{ 2010.6.11 }

Ubuntu 9.10改め10.04でUEC構築

  • eucalyptus
はてなブックマーク - Ubuntu 9.10改め10.04でUEC構築
このエントリーをはてなブックマークに追加

Fusic 平田です。
前回の続きを書く前にUbuntu 10.04 LTS(Lucid Lynx)が登場しました。
また前回「靭帯が切れた」と書きましたが、その後入院など挟みつつ。
やっとこ復帰して記事を書ける状態になりましたので、10.04での設定などをつらつらと。
構成は前回と同じですが、せっかくなのでFrontendは32bit機にしてみました。
ついでついでと言うことで(?)、インストール作業は後輩君に任せてみました。

インストール時の大きな違いとしては、コントローラ単位での選択式になりました。
# 9.10の場合はCluster/Nodeの2択でした。
# ClusterにNode Controller以外の全てがインストールされていたのですが、今回は選択可能です。

このためStorage Controllerだけ別にするなども可能なので、構成の幅が大きく広がります。
今回は同様の構成にしています。
[Frontend] Cluster Controller他1 : 192.168.11.100/24
[Backend] Node Controller: 192.168.11.101/24

インストール後、まずは管理画面にアクセスします。
[Frontend IP]:8443/
ログイン画面
まずadmin/passwordでログインし、パスワード設定と管理者メールアドレスを入力。
管理画面はこんな感じです。
管理画面

UECがめっぽう楽な理由の一つ2 が「Store」の項目。
Store
Store2
あらかじめ用意されている起動イメージを1クリックでインストールできます。
以下が現時点で用意されているイメージの一覧。

  • Ubuntu 9.10 – Karmic Koala (i386)
  • MediaWiki Demo Appliance (i386)
  • Ubuntu 9.10 – Karmic Koala (amd64)
  • M/DB Appliance
  • Ubuntu 10.04 LTS – Lucid Lynx (i386)
  • Ubuntu 10.04 LTS – Lucid Lynx (amd64)

とりあえず動かしてみたい!という方は是非使ってみてください。

さて、Eucalyptusの操作は主にコマンド(Euca2ools)を使用して行います。
というわけでまずは下準備。
# 以下の流れは、9.10でも10.04でも変わりはありません。

1. Frontendにsshでログイン
2. euca_conf –get-credentialsで認証情報を取得

gintama@gintama-front:~$ sudo euca_conf --get-credentials euca.zip
[sudo] password for gintama:
--2010-06-11 10:44:57--  https://localhost:8443/getX509?user=admin&code=dc4sfR3CSYk1V0G3qNvtyP2BL8vx4387zYPWk8K2NVDAz7SL5jkS8k7kDC2sBBMp7hcMES6wMLyJQU8ng1dg
localhost をDNSに問いあわせています... ::1, 127.0.0.1
localhost|::1|:8443 に接続しています... 失敗しました: Connection refused.
localhost|127.0.0.1|:8443 に接続しています... 接続しました。
警告: localhost の証明書(発行者: `/C=US/ST=CA/L=Santa Barbara/O=db/OU=Eucalyptus/CN=localhost')の検証に失敗しました:
  自己署名証明書です。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 5052 (4.9K) [application/zip]
`euca.zip' に保存中
 
100%[==================================================================================================================================>] 5,052       --.-K/s   時間 0s
 
2010-06-11 10:44:58 (584 MB/s) - `euca.zip' へ保存完了 [5052/5052]

3. 解凍してsourceで読み込む3

gintama@gintama-front:~$ unzip euca.zip
Archive:  euca.zip
To setup the environment run: source /path/to/eucarc
  inflating: eucarc
  inflating: cloud-cert.pem
  inflating: jssecacerts
  inflating: euca2-admin-8de7c506-pk.pem
  inflating: euca2-admin-8de7c506-cert.pem

これでeuca-****なコマンドを使っていろいろ操作できるようになりました。
主に使うコマンドの説明をしつつ、一気にインスタンス起動まで話を進めます。

・euca-describe-availability-zones verbose
クラスタの状態(起動できるイメージの数など)を表示します。

gintama@gintama-front:~$ euca-describe-availability-zones verbose
AVAILABILITYZONE        gintama-front   192.168.11.100
AVAILABILITYZONE        |- vm types     free / max   cpu   ram  disk
AVAILABILITYZONE        |- m1.small     0004 / 0004   1    192     2
AVAILABILITYZONE        |- c1.medium    0004 / 0004   1    256     5
AVAILABILITYZONE        |- m1.large     0002 / 0002   2    512    10
AVAILABILITYZONE        |- m1.xlarge    0002 / 0002   2   1024    20
AVAILABILITYZONE        |- c1.xlarge    0001 / 0001   4   2048    20

・euca-describe-images
登録されている起動イメージの一覧を表示します。

gintama@gintama-front:~$ euca-describe-images
IMAGE   emi-E0851072    image-store-1276057589/image.manifest.xml       admin   available       public          x86_64  machine eki-F6F41100    eri-0B6B1169
IMAGE   eki-F6F41100    image-store-1276057589/kernel.manifest.xml      admin   available       public          x86_64  kernel
IMAGE   eri-0B6B1169    image-store-1276057589/ramdisk.manifest.xml     admin   available       public          x86_64  ramdisk

emi-******が起動イメージ、eki-******がkernel、eri-******がramdiskです。
Amazon EC2のami/aki/ariと同様だと考えていただければ結構です。

・euca-bundle-image, euca-upload-image, euca-register
イメージ登録に使用するコマンド群。
bundle→upload→registerの流れになります。
これについてはEucalyptus 日本語 Wikiあたりを参考に。
今回はStoreからインストールしたイメージを使用するので、この項目は省略します。

・euca-add-keypair [keypair_name] > keyfilename
起動したインスタンスへのログインは、公開鍵認証を用います。
起動時にkeypair名を指定し、対応した秘密鍵を用いて認証する流れになります。
この元となるkeypairを作成するコマンドです。
今回はsilverkeyというkeypairを作成、silverkey.privとして秘密鍵を保存しました。
ついでにパーミッションも変更しておきます。

gintama@gintama-front:~$ euca-add-keypair silverkey > silverkey.priv
gintama@gintama-front:~$ chmod 600 ~/silverkey.priv

・euca-add-group, euca-describe-group
細かい権限の設定はgroupという単位で管理されます。
groupごとに通信を許可するポートの指定などが行えます。
初期状態ではdefault groupのみが存在します。

gintama@gintama-front:~$ euca-describe-groups
GROUP   admin   default default group

・euca-run-instances
インスタンスの起動を行います。
必ず指定するのはgroup(-g)、keypair(-k)、image_id(emi-*******)の3つ。
インスタンスのCPU数・メモリ容量・ディスク容量はtype(-t)で指定します。

gintama@gintama-front:~$ euca-run-instances -g default -k silverkey -t m1.small emi-E0851072
RESERVATION     r-3339074D      admin   admin-default
INSTANCE        i-47D5088C      emi-E0851072    0.0.0.0 0.0.0.0 pending silverkey       0               m1.small        2010-06-11T02:35:00.451Z        gintama-front   eki-F6F41100        eri-0B6B1169

しばらくしてeuca-descibe-instancesを実行すると、

gintama@gintama-front:~$ euca-describe-instances
RESERVATION     r-3339074D      admin   default
INSTANCE        i-47D5088C      emi-E0851072    192.168.11.201  172.19.1.2      running silverkey       0               m1.small        2010-06-11T02:35:00.451Z        gintama-front       eki-F6F41100    eri-0B6B1169

となり起動していることが確認できます。

・euca-authorize
group単位でのアクセス許可設定です。
Firewallの設定だと考えていただければ、分かりやすいかと思われます。
例えば192.168.11.0/24に対してsshを許可するならこんな感じになります。

gintama@gintama-front:~$ euca-authorize -P tcp -p 22 -s 192.168.11.0/24 default
GROUP   default
PERMISSION      default ALLOWS  tcp     22      22      FROM    CIDR    192.168.11.0/24

前述の通り、sshでのログイン時は公開鍵認証を行います。
# Storeに登録されているイメージの場合、ユーザIDはubuntuを使用します。

gintama@gintama-front:~$ ssh -i silverkey.priv ubuntu@192.168.11.201
Linux ip-172-19-1-2 2.6.32-21-server #32-Ubuntu SMP Fri Apr 16 09:17:34 UTC 2010 x86_64 GNU/Linux
Ubuntu 10.04 LTS
 
Welcome to the Ubuntu Server!
 * Documentation:  http://www.ubuntu.com/server/doc
 
  System information as of Fri Jun 11 02:50:13 UTC 2010
 
  System load: 0.17              Memory usage: 23%   Processes:       64
  Usage of /:  42.7% of 1.36GB   Swap usage:   0%    Users logged in: 0
 
  Graph this data and manage this system at https://landscape.canonical.com/
---------------------------------------------------------------------
At the moment, only the core of the system is installed. To tune the
system to your needs, you can choose to install one or more
predefined collections of software by running the following
command:
 
   sudo tasksel --section server
---------------------------------------------------------------------
 
0 packages can be updated.
0 updates are security updates.
 
 
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
 
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
 
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
 
ubuntu@ip-172-19-1-2:~$

起動したインスタンスに無事ログインすることができました。

だいぶ駆け足でしたが、起動まではこんな感じです。
インストール作業は基本お任せでやってもらったのですが、何の苦労もなく起動しました。
もう少し苦戦するだろうと思っていたのですが。。。

次回は各コマンドの追加説明や、GUIのツールなどについて説明しようと思います。

  1. Cloud Controler, Storage Controller, Warlus []
  2. もう一つはインストーラの手軽さ []
  3. .bashrcであらかじめ読み込むようにしておいたほうが便利です []

Comments are closed.