Amazon S3をIPv6接続で利用してみた

Amazon S3

はじめに

AWSチームのすずきです。

東西のNTTが提供するフレッツ回線を利用したインターネット接続、 国内のFTTH(光回線サービス)のシェアを占めますが、インターネット接続を提供するISPの混雑がボトルネックとなり接続速度が低下する事がありました。

今回、ISPのIPv6通信(IPoE方式)オプションを申し込み、IPv6に対応したS3のデュアルスタックエンドポイントで利用した所、S3転送速度の改善を確認できましたので、紹介させていただきます。

環境

Amazon S3

  • AWS東京リージョンを利用
  • S3のエンドポイント、IPv4用(デフォルト)と、IPv6対応(デュアルスタック)を切替
    • IPv4用: s3-ap-northeast-1.amazonaws.com
    • IPv4、IPv6兼用: s3.dualstack.ap-northeast-1.amazonaws.com
  • AWS のリージョンとエンドポイント:Amazon S3

S3接続環境

ネットワーク

  • フレッツ 光ネクスト ファミリータイプ (最大100Mbps)
  • ISP: BIGLOBE(神奈川)、フレッツ光 IPv6接続
  • 測定時刻: 22時台(JST)

OS、CLIバージョン

  • MAC OSX EL Capitan (10.11.6)
  • AWS CLI (aws-cli/1.11.80 Python/2.7.10 Darwin/15.6.0 botocore/1.5.43)

検証手順

  • ファイル転送の検証用に約100MBのファイルを用意しました。
$ ls -lah Docker.dmg
-rw-r--r--@ 1 ######  staff   106M  1  8 17:25 Docker.dmg
  • AWS CLIを利用し、GET(ダウンロード)、PUT(アップロード)を、IPv4用とIPv6用(デュアルスタック)のエンドポイントを明示して実施しました。
aws s3 cp s3://#####/Docker.dmg /tmp/ 
aws s3 cp /tmp/ s3://#####/Docker.dmg
  • 「time」コマンドで得られた所要時間から転送速度を求めました。

結果

GET

IPv4

time -p aws s3 cp s3://#####/Docker.dmg /tmp/ \
  --region ap-northeast-1 \
  --endpoint-url https://s3-ap-northeast-1.amazonaws.com 
  • 5回測定結果 (realのみ抜粋)
real    56.05
real    38.11
real    44.43
real    44.74
real    42.35
  • 平均: 45.14s
  • 速度: 2.39MB/s (19.1Mbps)

IPv6

time -p aws s3 cp s3://#####/Docker.dmg /tmp/ \
  --region ap-northeast-1 \
  --endpoint-url https://s3.dualstack.ap-northeast-1.amazonaws.com
  • 測定結果
real    10.88
real    10.80
real    10.81
real    10.74
real    10.83
  • 平均: 10.81s
  • 速度: 9.99MB/s (79.9Mbps)

PUT

IPv4

time -p aws s3 cp /tmp/Docker.dmg s3://#####/ \
  --region ap-northeast-1 \
  --endpoint-url https://s3-ap-northeast-1.amazonaws.com 
  • 測定結果
real    14.23
real    14.55
real    14.45
real    14.48
real    13.81
  • 平均: 14.30s
  • 速度: 7.55MB/s (60.4Mbps)

IPv6

time -p  aws s3 cp /tmp/Docker.dmg s3://#####/ \
  --region ap-northeast-1 \
  --endpoint-url https://s3.dualstack.ap-northeast-1.amazonaws.com
  • 測定結果
real    10.98
real    11.19
real    10.96
real    11.02
real    11.31

  • 平均: 11.09s
  • 速度: 9.74MB/s (77.9Mbps)

まとめ

今回、IPv6で接続したAmazon S3の転送速度は、ダウンロード、アップロードとも実測値で約80Mbps。 100Mbps回線のワイヤレートに匹敵する転送速度を確認する事ができました。

IPv6とIPv4接続時の転送速度を比較すると、ダウンロードは3.7倍、アップロードは1.3倍、 IPv6接続が優れていた事が確認できました。

計測直後に実施したIPv4接続によるスピードテストの結果は以下の通りでした。

s3-ipv6-04

ダウンロードは8.5Mbps、アップロードは47Mbpsと、IPv4接続時のダウンロード速度が大きく低下していた事が、今回の差に繋がったものと予想されます。

IPv6を利用したインターネット接続、標準提供のISPや、ルータが対応済みであれば追加費用のかからないISPも増えています。 フレッツ回線を利用したインターネット接続を利用する環境で、混雑時にS3の転送速度の低下が問題となる場合、IPv6接続が可能であれば、S3のデュアルスタックエンドポイントの利用を是非お試しください。

参考情報

参考リンク

ネットワーク情報

  • 計測に利用した環境からS3へのICMP、Ping、Tracerouteの実行結果は以下の通りでした。

Ping

  • 3秒毎、5分間、100回の応答を測定

v4

$ ping -c 100 -i 3 s3-ap-northeast-1.amazonaws.com
PING s3-ap-northeast-1.amazonaws.com (52.219.0.16): 56 data bytes
64 bytes from 52.219.0.16: icmp_seq=0 ttl=51 time=12.564 ms
64 bytes from 52.219.0.16: icmp_seq=1 ttl=51 time=21.247 ms
<略>
64 bytes from 52.219.0.16: icmp_seq=98 ttl=51 time=24.211 ms
64 bytes from 52.219.0.16: icmp_seq=99 ttl=51 time=10.478 ms

--- s3-ap-northeast-1.amazonaws.com ping statistics ---
100 packets transmitted, 98 packets received, 2.0% packet loss
round-trip min/avg/max/stddev = 10.187/16.800/31.671/5.917 ms

v6

$ ping6 -c 100 -i 3 s3.dualstack.ap-northeast-1.amazonaws.com
PING6(56=40+8+8 bytes) ####:##:####::####::####::####::####::####: --> 2406:daa0:4060:d0:34db:443::
16 bytes from 2406:daa0:4060:d0:34db:443::, icmp_seq=0 hlim=49 time=6.115 ms
16 bytes from 2406:daa0:4060:d0:34db:443::, icmp_seq=1 hlim=49 time=5.925 ms
<略>
16 bytes from 2406:daa0:4060:d0:34db:443::, icmp_seq=98 hlim=49 time=6.202 ms
16 bytes from 2406:daa0:4060:d0:34db:443::, icmp_seq=99 hlim=49 time=5.706 ms

--- s3.dualstack.ap-northeast-1.amazonaws.com ping6 statistics ---
100 packets transmitted, 100 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 5.525/5.893/8.193/0.300 ms

Traceroute

v4

$ traceroute s3-ap-northeast-1.amazonaws.com
traceroute to s3-ap-northeast-1.amazonaws.com (52.219.0.8), 64 hops max, 52 byte packets
 1  ###.###.###.### (###.###.###.###)  0.565 ms  0.192 ms  0.202 ms
 2  * * *
 3  210.147.215.135 (210.147.215.135)  6.979 ms  8.103 ms  5.092 ms
 4  210.147.215.158 (210.147.215.158)  8.526 ms  11.563 ms  7.591 ms
 5  133.205.60.38 (133.205.60.38)  24.897 ms  22.559 ms  14.685 ms
 6  133.208.191.144 (133.208.191.144)  14.497 ms  16.466 ms  14.612 ms
 7  210.173.176.188 (210.173.176.188)  22.822 ms  19.820 ms  17.236 ms
 8  52.95.30.181 (52.95.30.181)  24.952 ms
    52.95.30.169 (52.95.30.169)  82.757 ms
    52.95.30.179 (52.95.30.179)  27.749 ms
 9  52.95.30.78 (52.95.30.78)  19.334 ms
    52.95.30.84 (52.95.30.84)  22.702 ms
    52.95.30.74 (52.95.30.74)  18.339 ms
10  27.0.0.152 (27.0.0.152)  23.388 ms  14.649 ms  11.713 ms
11  * * *
12  * * *
13  * * *
14  * * *
15  52.219.0.8 (52.219.0.8)  24.078 ms  11.009 ms  20.287 ms

v6

$ traceroute6 s3.dualstack.ap-northeast-1.amazonaws.com
traceroute6 to s3.dualstack.ap-northeast-1.amazonaws.com (2406:daa0:4040:141:34db:447f::) from ####:##:####:####:####:####:####:####, 64 hops max, 12 byte packets
 1  ####:##:####:####::####  1.778 ms  1.217 ms  1.104 ms
 2  * * *
 3  * * *
 4  2404:9200:225:c::1  4.467 ms  3.983 ms  4.002 ms
 5  2001:268:fa00:29d::1  6.100 ms
    2001:268:fa00:29c::1  5.211 ms  5.438 ms
 6  2001:268:fa00:28c::2  3.981 ms  4.564 ms
    2001:268:fa00:27f::2  4.529 ms
 7  6jc-ote301.int-gw.kddi.ne.jp  4.589 ms  4.670 ms  4.585 ms
 8  2001:268:f702:d1::2  4.903 ms  5.164 ms  4.741 ms
 9  2400:6500:0:1::19  8.595 ms
    2400:6500:0:1::1d  7.186 ms  16.523 ms
10  2400:6700::11  6.080 ms  6.289 ms  5.883 ms
11  2400:6500:0:1::33  6.436 ms  6.425 ms
    2400:6500:0:1::32  5.949 ms
12  2400:6500::4104:8000:0:6440:10b2  7.253 ms
    2400:6500::4104:8000:0:6440:1162  11.942 ms
    2400:6500::4104:8000:0:6440:1140  9.974 ms
13  2400:6500:0:4104::6440:c499  15.005 ms
    2400:6500:0:4104::6440:c48f  47.806 ms
    2400:6500:0:4104::6440:c48b  8.910 ms
14  2400:6500:0:4104::6440:c484  14.772 ms
    2400:6500:0:4104::6440:c485  8.572 ms
    2400:6500:0:4104::6440:c484  13.045 ms
15  2400:6500::4104:8000:0:6440:1553  14.298 ms
    2400:6500::4104:8000:0:6440:14d3  8.840 ms
    2400:6500::4104:8000:0:6440:15d3  8.449 ms
16  2406:daa0:4040:141:34db:447f::  5.872 ms  6.054 ms  5.751 ms