SoftLayerの無料ベアメタルでOpenStackの学習をする(4) - Horizonへのアクセス

More than 3 years have passed since last update.

前回はこちら - 次回はこちら



これはなに

「OpenStackクラウドインテグレーション オープンソースクラウドによるサービス構築入門」の実習をSoftLayerの無料ベアメタルで行う記録である。

OpenStackクラウドインテグレーション オープンソースクラウドによるサービス構築入門


Horizonへのアクセス

本書では、基本的にCLIで操作をするが、Horizonからの状況確認も行うことになっている。本ではUbuntu Desktop上に環境を構築しているのでホストのGUIでブラウザーを動かしHorizonにアクセスすればいいが、今回はSoftLayerのベアメタルである。標準ではGUIは使えない。IPMIのローカルコンソールやvncでGUIを使う方法もあるが、今回はnginxでReverse Proxyを構築することとする。

ただし、いくらテスト環境だからといって、Horizonを書籍に載っているユーザー名・パスワードで全世界に公開するわけにはいかない。

SoftLayerのシステムはインターネットに公開されるPublicとしてIPの他、内部からのみアクセス可能なPrivare IPの二つのIPが割り当てられている。そこで、Privare IPだけでHorizonを利用可能にしよう。

なお、複数のデータセンターにサーバーを構築した場合、Privare IPでデータセンター間の通信もできる。Privare Lanを経由したトラフィックは、データセンターをまたがっても、どれだけ使っても無料なのがうれしい。


Private Lanへの接続方法

Private Lanに接続する方法はいくつもあるが、一番お手軽なのはSSL-VPNだ。ブラウザーでアクセスポイント一覧にアクセスし、希望の接続先をクリックするだけでいい。JavaのVPNクライアントが導入され、VPN接続が完了する。なお、アクセス先はサーバーのあるデータセンターとは無関係でよい。どのアクセスポイントにつなげても、すべてのデータセンターの自分のPrivate Lanに接続できる。

Javaを使いたくない人は、クライアント(Windows用Mac用Linux用)をダウンロードして利用する。

注意が必要なのは、VPNアクセス用のパスワードは、ポータルへのログインのものとは別に、独立して存在していることである。デフォルトでは設定されていないので、ユーザーが自分で設定する必要がある。また、マスターユーザーで無い場合、マスターユーザーにVPNアクセスを可能にしてもらう必要がある。


nginxの導入と設定

今回の環境では、HorizonのURLは「http://192.168.100.10/」である。KVM環境の内部LANのため、もちろん外部からはアクセスできない。そこで、nginxをReverse Proxyとして設定する。

まず、導入。

sudo apt-get install nginx

/etc/nginx/conf.dにhorizon.confという名前で、下記を作成する。

upstream horizon {

server 192.168.100.10:80;
}

server {
listen [Public_Ip]:80;
server_name _;
return 444;
}

server {
listen [Private_Ip]:80;
server_name [Private_Ip];
location / {
proxy_pass http://192.168.100.10/;
}
}

そして、nginxを起動。

sudo service nginx restart

[Public_Ip]と[Private_Ip]には、実際のIPアドレスが入る。444は接続を閉じるnginx の特別な標準外コードで、Public Ipへのアクセスはただちに切断される。

Private IPへのアクセスはhttp://192.168.100.10/に転送され、Horizonにつながる。

restartしているのは、個人的な好み。起動中でも停止中でも、新たに起動できるので使っている。

04-01.png

時間があるときにFirewallでふさごう。nginxも必要な時だけ起動することとする。


次回の5章より、いよいよストーリー仕立てのOpenStack活用が始まる。


前回はこちら - 次回はこちら