OpenStack Neutronを使ってWebシステムを構築する実践的な方法:Server&Storageイベントリポート OpenStack Summitハンズオン(3/3 ページ)
OpenStackのネットワークコンポーネントであるNeutron。定期的に開催されるOpenStack Summitでは、技術者育成を目的にハンズオンを実施しています。本稿ではNeutron開発者らが設計したNeutron操作を学習するハンズオンプログラムを紹介していきます。ロードバランサーやファイアウォール構築も含めた実践的な内容です。
仮想ロードバランサーの作成
ここから仮想ロードバランサーを作っていきます。いったん踏み台に戻り、そこからさらに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.
関連記事
- 開発環境構築の基礎からレゴ城造り、パートナー交渉術まで〜OpenStack Upstream Trainingの内容とは?
OpenStack Summit Parisでは、数々の先進的な企業事例が登場した一方で、開発コミュニティ参加希望者に向けたオープンなトレーニングプログラムも企画されていた。OSSコミュニティのエコシステムの考え方まで考慮した2日間にわたるプログラムを、参加エンジニアがリポートします。 - OpenStackとレゴタウンとの意外な関係
10月10、11日に東京で実施されたOpenStack Upstream Trainingでは、レゴを使った街づくりのシミュレーションが。レゴはOpenStackプロジェクトとどう関係するのか。