検索
連載

OpenStack Neutronを使ってWebシステムを構築する実践的な方法Server&Storageイベントリポート OpenStack Summitハンズオン(3/3 ページ)

OpenStackのネットワークコンポーネントであるNeutron。定期的に開催されるOpenStack Summitでは、技術者育成を目的にハンズオンを実施しています。本稿ではNeutron開発者らが設計したNeutron操作を学習するハンズオンプログラムを紹介していきます。ロードバランサーやファイアウォール構築も含めた実践的な内容です。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

仮想ロードバランサーの作成

 ここから仮想ロードバランサーを作っていきます。いったん踏み台に戻り、そこからさらにlab-desktopに戻ります。

 lab-desktopからprivate_subnet上にmypoolというロードバランサープールを作ります。

$ neutron lb-pool-create --lb-method ROUND_ROBIN --name mypool --protocol HTTP --subnet-id private_subnet

 2台の仮想Webサーバーをロードバランサープールのメンバーに入れます。

$neutron  lb-member-create --address  10.0.0.4 --protocol-port 80 mypool
$neutron  lb-member-create --address  10.0.0.5 --protocol-port 80 mypool

 ロードバランサーのヘルスモニターを作成します。 リトライ回数3秒、タイムアウト3秒です。

$neutron  lb-healthmonitor-create --delay 3 --type HTTP --max-retries 3 --timeout 3

 ヘルスモニターをロードバランサープールのmypoolと関連付けます。

$ neutron lb-healthmonitor-associate <heath-monitor-id> mypool

 private_subnet上にロードバランサーの仮想IPを作ります。

$ neutron lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-id  private_subnet mypool

 ロードバランサーの仮想IPのポートに対して、フローティングIPと関連付けてpublicネットワークから通信できるようにします。

$ neutron  floatingip-create  --port-id=<vip-port-id> public

 curlコマンドでこのロードバランサーのフローティングIP(この例では、172.16.1.130)に対してアクセスしてみます。

curl 172.16.1.130

 ここからは、ファイアウォールを作成していきます。

ファイアウォールの作成

 ファイアウォールのデフォルトポリシーを作ります。

$ neutron  firewall-policy-create default_policy

 ファイアウォールを作成し、デフォルトポリシーを使います。

$ neutron  firewall-create default_policy

 ルールはデフォルトでは全てのトラフィックがブロックされるので、httpの80番ポートを開けるルールを作ります。

$ neutron firewall-rule-create --protocol tcp --destination-port 80 --action allow --name allow_http

 デフォルトポリシーにルールを追加します。

$ neutron firewall-policy-insert-rule default_policy allow_http

 踏み台から通信テストを行います。http 80だけ通るようになりました。

$ ssh 172.16.1.129  (踏み台マシンへ不通)
ssh: connect to host 172.16.1.129 port 22: Connection timed out
$ curl 172.16.1.130
web_server2
$ curl 172.16.1.130
web_server1

 この結果を見ると分かるように、Webサーバーが交互に通信されることが確認できました。こうしたNeutronのコマンドを介した操作によって、仮想Webシステムの構築ができます。

 本稿では仮想Webシステムに必要な仮想マシン、仮想サーバー、ロードバランサー、ファイアウォールなどを、nova、neutronコマンドを通して作成する手順を紹介しました。

 特にロードバランサー、ファイアウォール、フローティングIPを組み合わせた構成については、参考になるドキュメントが少ないのですが、本稿で紹介したのは、Neutronのコア開発者が自ら設計したハンズオンですから、参考になるのではないでしょうか。

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る