#これはなに
「OpenStackクラウドインテグレーション オープンソースクラウドによるサービス構築入門」の実習をSoftLayerの無料ベアメタルで行う記録である。
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しているのは、個人的な好み。起動中でも停止中でも、新たに起動できるので使っている。
時間があるときにFirewallでふさごう。nginxも必要な時だけ起動することとする。
次回の5章より、いよいよストーリー仕立てのOpenStack活用が始まる。