さくらの専用サーバとOpenStackで作るプライベートクラウド 7ページ

Dashboardのインストール

 OpenStackの操作は先に説明してきたようにコマンドラインで行えるものの、操作の際は長いID文字列などを入力する必要があることもあり、GUIでの操作を行いたいというユーザーも多いだろう。OpenStackではGUIで操作を行うためのコンポーネントとして、OpenStack Dashboard(horizon)が用意されている。horizonはWebブラウザでアクセスして使用するWebアプリケーションとなっている。以下ではこのhorizonのインストールと設定について説明していこう。

必要なコンポーネントのインストール

 horizonはPythonのWebフレームワークであるDjangoを使用して作成されている。今回はHTTPサーバーとしてApache HTTP Serverを使用し、またセッションのキャッシュにmemcachedを使用することとする。まず、これらのコンポーネントをインストールしておく。

# yum install httpd
# yum install memcached
# service httped start
# service memcached start
# chkconfig httpd on
# chkconfig memcached on

 Apache HTTP ServerとDjangoを連携させるmod-wsgiパッケージも必要だ。

# yum install mod-wsgi

 horizon自体はopenstack-dashboardパッケージに収録されている。

# yum install openstack-dashboard

horizonの設定

 まず、horizonが使用するMySQLのユーザーとパスワードを作成する。horizonの場合、データベース管理ツールが用意されていないため手動での作業が必要だ。今回は「dash」という名前のデータベースと「dash」というユーザーを作成し、dashユーザーにdashデータベースにアクセスする権限を与えている。

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
 :
 :
mysql> CREATE DATABASE dash;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL ON dash.* TO 'dash'@'%' IDENTIFIED BY '<パスワード>';
Query OK, 0 rows affected (0.00 sec)

mysql> Bye

 horizonの設定は、/etc/openstack-dashboard/local_settingsファイルに記述されている。このファイルを下記のように変更し、使用するキャッシュストレージとデータベースアカウントを指定しておく。

# We recommend you use memcached for development; otherwise after every reload
# of the django development server, you will have to login again. To use
# memcached set CACHE_BACKED to something like 'memcached://127.0.0.1:11211/'
CACHE_BACKEND = 'memcached://127.0.0.1:11211/' ←キャッシュにローカルホストのmemcachedを使用するよう設定
 :
 :
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'dash', ←先ほど作成したデータベース名を指定
        'USER': 'dash', ←先ほど作成したユーザー名を指定
        'PASSWORD': 'DashPassword', ←先ほど指定作成したパスワードを指定
        'HOST': 'localhost',
        'default-character-set': 'utf8'
    },
}

 続いて設定をデータベースに反映させる。

# /usr/share/openstack-dashboard/manage.py syncdb
Creating tables ...
Creating table django_session
Installing custom SQL ...
Installing indexes ...
No fixtures found.

 最後にHTTPサーバーを再起動する。

# service httpd restart

 以上でhorizonの設定は完了だ。Webブラウザで「http://<ホスト>/dashboard」というURLにアクセスすれば、ダッシュボードのログイン画面が表示される(図12)。

図12 horizon(OpenStack Dashboard)のログイン画面
図12 horizon(OpenStack Dashboard)のログイン画面

 ここでのログインには、keystoneで作成した管理用ユーザー(adminUser)を使用する。パスワードはkeystoneの設定時に指定したものだ。ログインに成功すると、メイン画面が表示される(図13)。

図13 horizon(OpenStack Dashboard)のメイン画面
図13 horizon(OpenStack Dashboard)のメイン画面

 なお、horizonのApache HTTP Server向け設定ファイルは、/etc/httpd/conf.d/openstack-dashboard.confとして用意されている。ダッシュボードのURLを変更したい場合はこのファイルを書き換えてHTTPサーバーを再起動すれば良い。

novncコンソールを使用する

 horizonにはWebブラウザから仮想マシンのコンソールにアクセスする機能が備えられている。この機能は先に説明したnovncproxyを使って実現されている。コンソールを利用するには、まずダッシュボードで「インスタンス」画面にアクセスし、稼働中の仮想マシンインスタンス一覧を表示させる(図14)。

図14 稼働中のインスタンス一覧画面
図14 稼働中のインスタンス一覧画面

 一覧内のインスタンス名をクリックすると、インスタンスの詳細が表示される(図15)。

図15 インスタンスの詳細画面
図15 インスタンスの詳細画面

 ここでVNCタブをクリックすると、そのマシンのコンソールにアクセスできる(図16)。

図16 インスタンスの詳細画面
図16 インスタンスの詳細画面