Service(nova)をインストールする。novaはopenstack-novaパッケージで提供されている。Protocol)ベースのメッセージングキューサービスを使用する。AMQP対応のメッセージングキューサーバーはいくつかあるが、今回はRabbitMQを使用している。RabbitMQ自体は先にインストールしているので、ここではメッセージのやり取りに使用するアカウントの作成のみを行っておく。RabbitMQの設定はrabbitmqctlコマンドで行う。以下のように「/nova」という仮想ホストと「nova」ユーザーを作成し、novaユーザーに/nova仮想ホストへのアクセス権限を与える。......done.データベースの設定データベース関連の設定はkeystoneやglanceの場合と同じく、oepnstack-dbコマンドで行える。database.Complete!以上でMySQLに「nova」データベースと「nova」ユーザーが作成される。設定ファイルの編集novaの設定ファイルは/etc/novaディレクトリ以下に格納されている。変更が必要なのはnova.confおよびapi-paste.iniだ。nova.confについては必要最小限の設定しか用意されていないので、次のような内容に変更しておく。←ホストのIPアドレスを指定するまた、api-paste.iniについては下記の個所を変更しておく。←keystoneで設定したパスワードを指定する設定ファイルの編集が完了したら、nova-manageコマンドでデータベースに設定を反映させる。syncまた、サービスが使用するロックファイルのディレクトリを作成しておく。/var/lock/nova/sudoersの設定novaでは、「nova」ユーザーを使ってネットワーク関連の設定を変更する。変更の際はsudoコマンドを内部的に実行するようになっており、novaユーザーがsudoコマンドを使用できるよう設定しておく必要がある。NOPASSWD:ALL」という設定を追加しておけば良い。←この行を追加サービスを起動する以上の設定が完了したら、サービスを起動させる。done各種サービスが正常に稼働しているかどうかは、nova-manageコマンドで確認できる。以下のように「State」が「:-)」になっていれば正常だ。以上の作業が完了したら、実際に仮想マシンインスタンスを作成して正しく動作するかどうかを検証しておこう。接続に使用するアカウント情報を環境変数に設定しておく。listコマンドで確認できる。現時点では仮想マシンは稼働していないので、なにも表示されないはずだ。groups)」をあらかじめ用意しておく必要がある。これは、仮想マシンインスタンスに対し外部からのアクセスを許可するネットワークプロトコルやポート、IPアドレスを設定するものだ。secgroup-listコマンドで確認できる。標準では「defalt」というセキュリティグループが用意されている。|+---------+-------------+このdefaultセキュリティグループに、SSHおよびpingを許可するようルールを追加する。secgroup-add-ruleコマンドで行える。SSH(TCPの22番ポート)を許可するルールを追加する。|+-------------+-----------+---------+-----------+--------------+続いてping(ICMP)を許可するルールを追加する。|+-------------+-----------+---------+-----------+--------------+これで、仮想マシンインスタンスに対しSSHでのアクセスが可能となる。仮想マシンインスタンスのアクセスに使用するSSH公開鍵も追加しておく。keypair-addコマンドで行える。ここでは、~/.ssh/id_rsa.pubという公開鍵を「mykey」という名称で登録している。keypair-listコマンドで確認できる。仮想マシンを作成するには、仮想マシンの「フレーバー(flavor)を指定する必要がある。フレーバーとは、仮想マシンに割り当てるメモリ容量やストレージ容量、仮想マシン、使用できるネットワーク帯域などのリソースを定義したものだ。flavor-listコマンドで確認できる。|+----+-----------+-----------+------+-----------+------+-------+-------------+デフォルトでは「m1.tiny」から「m1.xlarg」まで5つのフレーバーが用意されている。今回は、「m1.small」フレーバーを使い、glanceの動作確認の項で登録したCirrOSを起動させてみよう。image-listコマンドで利用できるイメージとそのIDを確認する。bootコマンドで仮想マシンインスタンスを作成する。–flavorオプションでは使用するフレーバーを、–imageオプションでは使用するイメージのIDを、–key_nameオプションでは接続に使用するSSH公開鍵を、–security_groupオプションでは使用するセキュリティグループを指定する。最後のオプションでは仮想マシンインスタンスの名前を指定できる。ここでは「cirros」という名前を指定している。listコマンドで確認できる。console-logコマンドで確認できる。login:仮想マシンの起動が確認できたら、SSHでログインしてみよう。listコマンドで確認できる。|+--------------------------------------+---------+--------+-----------------------+このIPアドレスに対し、sshコマンドで接続を行う。CirrOSでは、ユーザー名が「cirros」、パスワードが「cubswin:)」と設定されたアカウントがデフォルトで用意されているので、このユーザーログインしてみよう。deleteコマンドを使用する。listコマンドを実行するとインスタンスが削除されていることが分かる。仮想マシンインスタンスに外部からアクセスしたい場合、通常はSSHなどを使用するのが一般的だ。インスタンスの設定やその動作状況によっては、SSH接続が利用できない場合がある。このような場合に向け、OpenStackにはVNC経由で仮想マシンのコンソールにアクセスできる機能がある。このVNC接続を利用するには専用のVNCクライアントが必要で、「xvpvnc」と「novnc」という2つのクライアントが用意されている。前者はJavaで実装されたクライアントで、後者はWebブラウザ上で動作するクライアントだ。今回は後者について有効にしておこう。novncを利用するために必要なnovncproxyサービスを含むopenstack-nova-novncproxyパッケージをインストールする。openstack-nova-novncproxynovncproxyの設定はnova.conf内で行う。具体的には以下の個所を変更する。←ホストのIPアドレスを指定するここで、novncproxy_base_urlにはクライアント(Webブラウザ)がアクセスできるURLを指定しておく必要がある。今回は、制御用ノードのインターネット側IPアドレスを指定している。nova.confを変更したら、nova-manageコマンドでデータベースに設定を反映させておこう。sync最後にサービスを起動させる。startまた、ファイアウォール(iptables)の設定を行ってTCPの6080番ポートに外部からアクセスできるようにしておこう。get-vnc-consoleコマンドを実行すると、Webブラウザで接続するためのURLが表示される。|+-------+------------------------------------------------------------------------------------+このURLにWebブラウザでアクセスすると、仮想マシンのコンソールにアクセスできる(図11)。