こんにちは!サーバーワークスでインフラを担当している柳瀬です。 ちょっと前の事ですが、お客様と協力してAmazon Virtual Private Cloud(以下:VPC)を評価&テストしました。 今回のエントリでは、簡単なVPC評価結果のレポートをさせて頂きたいと思います。 ちなみにVPCの設定方法はAmazon Web Servicesブログを参考にさせて頂きました。 また、検証に使用したルータはCisco1812-Jです。 2011年現在、VPCが使用可能なリージョンは以下の2つですが、レイテンシを考えるとUS-Eastがお勧めです。
- US-East
- EU-West
今回の評価では以下の点を評価の対象としています。
- VPCを使用したインスタンスの機能制限
- 通常のUS-EastリージョンとVPC内のインスタンスに対しての通信比較
- VPC内の異なるサブネット間通信の速度
- 弊社が提供しているCloudwroksでもVPC内インスタンスが管理可能か
- その他感想、今後の希望
1.VPCを使用したインスタンスの機能制限
起動するインスタンスにセキュリティグループの設定が出来ない以外は機能制限は感じませんでした。
Public-AMIや自分で作成したAMI、EBSタイプのインスタンスも起動確認が取れています。
VPC内で起動した場合のみ接続方法が変わるといった事もありませんでした。
2.通常のUS-EastリージョンとVPC内のインスタンスに対しての通信比較
通常のUS-Eastに起動したインスタンスへPingテストを実行
$ ping 184.72.203.209
PING 184.72.203.209 (184.72.203.209) 56(84) bytes of data.
64 bytes from 184.72.203.209: icmp_seq=1 ttl=47 time=212 ms
64 bytes from 184.72.203.209: icmp_seq=2 ttl=47 time=211 ms
64 bytes from 184.72.203.209: icmp_seq=3 ttl=47 time=211 ms
VPC内のインスタンスへPingテストを実行
$ ping 10.0.128.5
PING 10.0.128.5 (10.0.128.5) 56(84) bytes of data.
64 bytes from 10.0.128.5: icmp_seq=1 ttl=61 time=187 ms
64 bytes from 10.0.128.5: icmp_seq=2 ttl=61 time=183 ms
64 bytes from 10.0.128.5: icmp_seq=3 ttl=61 time=183 ms
VPCインスタンスの方がレスポンスが良いですが、誤差の範囲であまり差はありませんでした。 通常のUS-Eastインスタンスから画像ファイルをダウンロードした場合
$ wget http://75.101.251.91/image01.jpg
--2010-11-25 16:43:38-- http://75.101.251.91/image01.jpg
75.101.251.91:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 12458976 (12M) [image/jpeg]
`image01.jpg.2' に保存中
100%[====================================================>] 12,458,976 401K/s 時間 37s
2010-11-25 16:44:32 (329 KB/s) - `image01.jpg.2' へ保存完了 [12458976/12458976]
VPC内のインスタンスから画像ファイルをダウンロードした場合
$ wget http://10.0.128.5/image01.jpg
--2010-11-27 20:27:25-- http://10.0.128.5/image01.jpg
10.0.128.5:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 12458976 (12M) [image/jpeg]
`image01.jpg.1' に保存中
100%[====================================================>] 12,458,976 383K/s 時間 41s
2010-11-27 20:28:07 (295 KB/s) - `image01.jpg.1' へ保存完了 [12458976/12458976]
ダウンロードファイル | ダウンロード時間 | スループット | |
US-Eastインスタンス | 12M | 37秒 | 2.69Mbps |
VPC内インスタンス | 12M | 41秒 | 2.43Mbps |
スループットはどちらも約2.5Mbps程度となり、こちらもあまり差が見られませんでした。
3.VPC内の異なるサブネット間通信の速度
VPC内の異なるサブネット間でPingテストを実行
# ping 10.0.0.4
PING 10.0.0.4 (10.0.0.4) 56(84) bytes of data.
64 bytes from 10.0.0.4: icmp_seq=1 ttl=64 time=2.65 ms
64 bytes from 10.0.0.4: icmp_seq=2 ttl=64 time=0.263 ms
64 bytes from 10.0.0.4: icmp_seq=3 ttl=64 time=0.206 ms
VPC内の異なるサブネットから画像ファイルをダウンロードした場合
# wget http://10.0.0.4/image01.jpg
--2010-11-26 10:44:15-- http://10.0.0.4/image01.jpg
10.0.0.4:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 12458976 (12M) [image/jpeg]
`image01.jpg.1' に保存中
100%[====================================================>] 12,458,976 58.8M/s 時間 0.2s
2010-11-26 10:44:15 (58.8 MB/s) - `image01.jpg.1' へ保存完了 [12458976/12458976]
ダウンロードファイル | ダウンロード時間 | スループット | |
US-Eastインスタンス | 12M | 0.2秒 | 498Mbps |
やはり同じVPC内なら異なるサブネット同士でも非常にレスポンスが早いですね。 速度からもルータは経由せずにAmazon内で通信が完結している事が分かります。 tracerouteを実行してみてもAmazon内で通信が完結している事が分かりました。
4.弊社が提供しているCloudwroksでもVPC内インスタンスが管理可能か
出来るだろうと思いつつ、念のため確認しましたが管理可能なようですね。
5.その他感想、今後の希望
- VPC内で起動したサーバにはセキュリティグループは設定できない
- VPC内のインスタンスでアクセス制限をする場合は各インスタンスで設定する事
- VPC内で起動したインスタンスはセキュリティグループ以外は通常のインスタンスと特に変わらない
- 今回のテストではVPCを使用しても通常の通信が遅くなる事はなかった
- VPC内の異なるサブネット間ではAmazonで内で通信が完結するので高速
- VPCに起動したインスタンスもCloudworksで管理が可能
- 気付いた点
- VPC間の以外の通信は全てローカルに設置しているルータを経由するようです
- インスタンスをVPC内に起動したい場合、ManagementConsoleから簡単に起動が可能
- 起動時に簡単にローカルIPアドレスの指定が可能(DHCP、固定)
- VPC内の異なるサブネット間の通信が直接出来てしまうのでセキュリティグループの機能が欲しい
- レイテンシを考えるとUS-West、Asia-PacificリージョンにもVPCを展開して欲しい