CodeZine(コードジン)

特集ページ一覧

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

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

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2016/02/22 14:00

目次

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

インスタンスの起動

 先程作成した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を利用して、環境一式を構築することもできるようなので、こちらを利用してみても良いでしょう。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

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

もっと読む

著者プロフィール

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

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

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5