SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

近未来の技術トレンドを先取り! 「Tech-Sketch」出張所

ネットワーク仮想化ソフトウェア「MidoNet」(実践/後編)
~OpenStackとMidoNetの連携と疎通確認

近未来の技術トレンドを先取り! 「Tech-Sketch」出張所 第25回

インスタンスの起動と疎通確認

インスタンスの起動

 先程作成したtest-netに繋がるVMを2つ起動してみます。なお、VMのイメージとしてubuntu(Trasty TahrのCloud Image)が登録され、testという名前のKeyPair、およびdefaultセキュリティグループにicmp、tcp/22(ssh)の通過ルールの追加が完了している前提とします。

VMの起動
$ nova boot --flavor m1.small --security-groups default --image ubuntu --nic net-id=d4189c26-ad14-42c5-b667-786ae3243318 --key-name test instance1
(省略)
| id                                   | f7fdfa97-0b94-4d06-8cd4-1b46db3376cf          |
(省略)
| name                                 | instance1                                     |
(省略)
$ nova boot --flavor m1.small --security-groups default --image ubuntu --nic net-id=d4189c26-ad14-42c5-b667-786ae3243318 --key-name test instance2
(省略)
| id                                   | a6b3ea37-3744-41df-b56c-001a693dc480          |
(省略)
| name                                 | instance2                                     |
(省略)
インスタンス起動
インスタンス起動

 外部からアクセスできるようにするために、まずはinstance1にFloating IPを付与します。

instance1にFloatingIPを付与
$ neutron floatingip-create ext-net
(省略)
| floating_ip_address | 203.0.113.102                        |
| floating_network_id | 500ecc53-db89-4cfb-a063-f4cdd5396bf9 |
| id                  | bfd6b9a1-9387-40bb-9a04-c473de06c955 |
(省略)
$ neutron port-list
(省略)
| 4d7b91cf-ef13-4bdb-9caf-2d0c497c9711 |      | fa:16:3e:12:68:38 | {"subnet_id": "e340bb3f-a122-4f2f-8628-6229a4ea116a", "ip_address": "10.0.0.101"} |
(省略)
$ neutron floatingip-associate bfd6b9a1-9387-40bb-9a04-c473de06c955 4d7b91cf-ef13-4bdb-9caf-2d0c497c9711
Associated floating IP bfd6b9a1-9387-40bb-9a04-c473de06c955
$ nova list
(省略)
| f7fdfa97-0b94-4d06-8cd4-1b46db3376cf | instance1 | ACTIVE | -          | Running     | test-net=10.0.0.101, 203.0.113.102 |
| a6b3ea37-3744-41df-b56c-001a693dc480 | instance2 | ACTIVE | -          | Running     | test-net=10.0.0.102                |
(省略)

疎通確認

 最後に、起動したVMの疎通確認を行ってみます。まずは、instance1にgatewayホストのexternal namespace(今回の外部ネットワーク相当)からsshでログインできるか確かめてみます。

instance1にgatewayホストのexternalからsshでログイン
$ ip netns exec external ssh -i ./test.pem ubuntu@203.0.113.102
(省略)
ubuntu@instance1:~$

 正常にログインできることが確認できました。次に、同一の内部ネットワークに所属するinstance2にpingができるかを確かめます。

instance1からinstance2へping
ubuntu@instance1:~$ ping -c 3 10.0.0.102
(省略)
--- 10.0.0.102 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 5.487/7.646/11.344/2.627 ms

 最後に、内部ネットワークから外部ネットワークにpingができるかを確かめてみましょう。

内部ネットワークから外部ネットワークにping
ubuntu@instance1:~$ ping -c 3 203.0.113.1
(省略)
--- 203.0.113.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 9.731/15.535/23.346/5.736 ms

 これで、すべての疎通が確認できました。

おわりに

 今回の記事では、SDNの歴史に始まり、MidoNetとはどういうものか、どこを守備範囲とするか、OpenStackとはどのような関係なのかを説明しました。そして、実際に1からOpenStackのMidoNetのインストールを行い、基本的な仮想ネットワークの操作を試してみました。今回はmidonet-cliで仮想ネットワーク操作をしましたが、もちろん、SDNの本質通り、プログラムからも直接APIを実行することができます。

 インストールは比較的容易で、ノードに対し複雑な操作をすることなく、簡単にネットワークを操作できたのではないかと思います。MidoNetとOpenStackを合わせて試す場合、MidoStackを利用して、環境一式を構築することもできるようなので、こちらを利用してみても良いでしょう。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
近未来の技術トレンドを先取り! 「Tech-Sketch」出張所連載記事一覧

もっと読む

この記事の著者

村木 暢哉(TIS株式会社)(ムラキ マサヤ)

TIS株式会社 戦略技術センター所属。以前はアプリケーション・ミドルウェア開発のエンジニアでしたが、紆余曲折を経て、現在はSoftware Defined Networking/Software Defined Infrastructureの研究開発を主に担当しています。知らないことばかりで未熟さを...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/9227 2016/02/22 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー