share facebook facebook2 twitter menu hatena pocket slack

2013.01.04 FRI

同一AZのEC2で”Public IP”と”Private IP”でのアクセスの違い

鈴木 宏康

WRITTEN BY鈴木 宏康

アクセス先のIPアドレスを固定したいため、同一AZのEC2への通信もEIPをつけて、 そのEIPのPublic IPに対して行いたいと思うことはあると思います。

そもそも、同一AZのEC2間はPrivate IPに対しての通信なら無料ですが、EIPなどの Public IPに対して場合、下記のように課金されてしまいます。

Amazon EC2 (仮想サーバー Amazon Elastic Compute Cloud) – 料金体系

Amazon Web Services Simple Monthly Calculator

つまり同一AZのEC2でもEIPにアクセスすると、データ転送料1GB(in/out)当たり $0.01かかることになります。

また、ネットワークパフォーマンスに関しても確認してみました。

まずはpingです。

Private IPに対しては下記の通りです。

# ping 10.146.82.86
PING 10.146.82.86 (10.146.82.86) 56(84) bytes of data.
64 bytes from 10.146.82.86: icmp_seq=1 ttl=64 time=0.303 ms
64 bytes from 10.146.82.86: icmp_seq=2 ttl=64 time=0.492 ms
64 bytes from 10.146.82.86: icmp_seq=3 ttl=64 time=0.350 ms
64 bytes from 10.146.82.86: icmp_seq=4 ttl=64 time=0.493 ms
64 bytes from 10.146.82.86: icmp_seq=5 ttl=64 time=0.561 ms
^C
--- 10.146.82.86 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4459ms
rtt min/avg/max/mdev = 0.303/0.439/0.561/0.100 ms

Public IPに対しては下記の通りです。

# ping 54.248.226.255
PING 54.248.226.255 (54.248.226.255) 56(84) bytes of data.
64 bytes from 54.248.226.255: icmp_seq=1 ttl=59 time=0.993 ms
64 bytes from 54.248.226.255: icmp_seq=2 ttl=59 time=1.02 ms
64 bytes from 54.248.226.255: icmp_seq=3 ttl=59 time=0.973 ms
64 bytes from 54.248.226.255: icmp_seq=4 ttl=59 time=1.77 ms
64 bytes from 54.248.226.255: icmp_seq=5 ttl=59 time=1.21 ms
^C
--- 54.248.226.255 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4884ms
rtt min/avg/max/mdev = 0.973/1.196/1.777/0.305 ms

当然ですが”Private IP”へのアクセスのほうが、”Public IP”へのアクセスより速くなってます。

次はtracerouteです。

Private IPに対しては下記の通りです。

# traceroute 10.146.82.86
traceroute to 10.146.82.86 (10.146.82.86), 30 hops max, 60 byte packets
1 ip-10-146-82-86.ap-northeast-1.compute.internal (10.146.82.86) 2.023 ms 1.971 ms 1.910 ms

Public IPに対しては下記の通りです。

# traceroute 54.248.226.255
traceroute to 54.248.226.255 (54.248.226.255), 30 hops max, 60 byte packets
1 ip-10-146-80-2.ap-northeast-1.compute.internal (10.146.80.2) 0.314 ms 0.383 ms 0.480 ms
2 ip-10-1-24-1.ap-northeast-1.compute.internal (10.1.24.1) 0.447 ms ip-10-1-22-1.ap-northeast-1.compute.internal (10.1.22.1) 0.300 ms ip-10-1-24-1.ap-northeast-1.compute.internal (10.1.24.1) 0.428 ms
3 ec2-175-41-192-21.ap-northeast-1.compute.amazonaws.com (175.41.192.21) 4.789 ms ec2-175-41-192-27.ap-northeast-1.compute.amazonaws.com (175.41.192.27) 0.472 ms 0.517 ms
4 ec2-175-41-192-26.ap-northeast-1.compute.amazonaws.com (175.41.192.26) 1.115 ms ec2-175-41-192-20.ap-northeast-1.compute.amazonaws.com (175.41.192.20) 0.776 ms 0.963 ms
5 * * *
6 ec2-54-248-226-255.ap-northeast-1.compute.amazonaws.com (54.248.226.255) 1.015 ms 0.975 ms 0.978 ms

当然ですが”Private IP”へのアクセスのほうが、Public IPへのアクセスよりホップ数が少なくなってます。

最後にtracepathです。(tracerouteと同じですが)

Private IPに対しては下記の通りです。

# tracepath 10.146.82.86
1: ip-10-146-83-8.ap-northeast-1.compute.internal (10.146.83.8) 0.134ms pmtu 1500
1: ip-10-146-82-86.ap-northeast-1.compute.internal (10.146.82.86) 0.505ms reached
1: ip-10-146-82-86.ap-northeast-1.compute.internal (10.146.82.86) 0.285ms reached
Resume: pmtu 1500 hops 1 back 64

Public IPに対しては下記の通りです。

# tracepath 54.248.226.255
1: ip-10-146-83-8.ap-northeast-1.compute.internal (10.146.83.8) 0.132ms pmtu 1500
1: ip-10-146-80-2.ap-northeast-1.compute.internal (10.146.80.2) 8.652ms asymm 2
1: ip-10-146-80-2.ap-northeast-1.compute.internal (10.146.80.2) 0.326ms asymm 2
2: ip-10-1-24-1.ap-northeast-1.compute.internal (10.1.24.1) 0.402ms
3: ec2-175-41-192-21.ap-northeast-1.compute.amazonaws.com (175.41.192.21) 0.549ms
4: ec2-175-41-192-20.ap-northeast-1.compute.amazonaws.com (175.41.192.20) 1.158ms
5: no reply
6: ec2-54-248-226-255.ap-northeast-1.compute.amazonaws.com (54.248.226.255) 1.121ms reached
Resume: pmtu 1500 hops 6 back 59

当然tracerouteと同様の結果になっています。

ということでPublic IPにアクセスするか、Private IPにアクセスするかは、 IPアドレスの固定化(運用効率)を優先するか、コストとパフォーマンス優先するか、 ということでの判断になるのか、と思います。

同一AZのEC2は、Private IP宛にしかアクセスさせたこと無いけど・・・

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。