沒想到 Amazon 這麼快就推出 CDN 服務了:Amazon CloudFront。
先說價錢的部份。就這陣子接觸 CDN 的狀況來說 (大約接觸了六七家),zero-commitment 這個價錢相當驚人。CloudFront 與一般的 CDN 的價錢算法不太一樣,一般都是大致上告知各地區的用量,CDN company 會給你一個 package,這個 package 包括一定程度的 commitment,以及超過 commitment 時的價錢。CloudFront 沒有 commitment (這是預期的,因為之前他們宣佈要開發 CDN service 時就有說明這件事情),另外依照不同地區的流量,收不同費用,與其他家的算法相比,這樣的確很有競爭性。實際上,Amazon 所放的機房似乎有談到比較好的價錢,Price 的部份可以看到大約是 USD$0.2/GB。
就技術面來說,CloudFront 全球有十四個點,亞洲地區是在東京與香港,這點與一般的 CDN service 差不多,這兩個點是亞洲區交換的重心,基本上都會在這兩個地區架點。
第一步是看 DNS 的架構,DNS 是 Anycast-based,從台灣各 ISP 連過去,看起來都是到香港的 DNS server,至於封包怎麼到香港,又怎麼樣回台灣,這又是另外一回事情了...
再來是看 latency,這個部份通常會配合 traceroute 測試 (觀察每個點的狀況)。traceroute 的目的地可以用 Amazon 自己提供的 d1nqj4pxyrfw2.cloudfront.net,或是自己申請的 domain 測試,會發現從 HiNet 過去的 latency 不低 (用幾個不同的地區 ADSL 測試),TFN 似乎與香港機房的 ISP 有 peering,所以數字很漂亮,而 KBT 是走美國再到香港機房。
這是一些數據:
HiNet ADSL:
3 tp-s2-c76r5.router.hinet.net (168.95.82.202) 34.846 ms 33.004 ms 36.084 ms
4 tp-crs11.router.hinet.net (220.128.2.230) 33.595 ms
tp-crs11.router.hinet.net (220.128.3.142) 34.207 ms
tp-crs11.router.hinet.net (220.128.1.230) 34.757 ms
5 r03-s2.tp.hinet.net (220.128.2.190) 31.899 ms
r03-s2.tp.hinet.net (220.128.1.178) 34.508 ms
r03-s2.tp.hinet.net (220.128.2.190) 32.021 ms
6 tp-s2-l233-81.router.hinet.net (211.72.233.81) 196.329 ms 194.428 ms 194.215 ms
7 po-1.a05.newthk01.hk.ra.gin.ntt.net (203.131.240.238) 193.144 ms 194.112 ms 198.367 ms
8 203.131.243.162 (203.131.243.162) 209.246 ms 208.731 ms 204.362 ms
9 216.137.55.35 (216.137.55.35) 193.126 ms 196.422 ms 194.614 ms
TFN:
3 60-199-255-113.static.tfn.net.tw (60.199.255.113) 0.240 ms 0.229 ms 0.240 ms
4 60-199-6-125.static.tfn.net.tw (60.199.6.125) 0.364 ms 0.353 ms 0.365 ms
5 60-199-6-2.static.tfn.net.tw (60.199.6.2) 0.365 ms 0.353 ms 0.366 ms
6 60-199-6-222.static.tfn.net.tw (60.199.6.222) 11.607 ms 0.602 ms 0.615 ms
7 61.58.33.145 (61.58.33.145) 0.613 ms
61.58.33.173 (61.58.33.173) 15.341 ms
61.58.33.189 (61.58.33.189) 0.718 ms
8 xe-0-0-0.r20.taiptw01.tw.bb.gin.ntt.net (129.250.16.161) 0.846 ms 0.721 ms 0.862 ms
9 as-0.r20.tokyjp01.jp.bb.gin.ntt.net (129.250.4.217) 35.342 ms 35.825 ms
ge-0-3-0.r01.taiptw01.tw.bb.gin.ntt.net (129.250.3.174) 36.840 ms
10 as-1.r20.newthk01.hk.bb.gin.ntt.net (129.250.2.110) 57.059 ms
as-0.r02.newthk01.hk.bb.gin.ntt.net (129.250.4.205) 34.951 ms 23.712 ms
11 ae-5.r21.newthk01.hk.bb.gin.ntt.net (129.250.2.81) 70.317 ms
ae-4.r21.newthk01.hk.bb.gin.ntt.net (129.250.5.65) 23.455 ms
ae-5.r21.newthk01.hk.bb.gin.ntt.net (129.250.2.81) 58.428 ms
12 po-1.a05.newthk01.hk.ra.gin.ntt.net (203.131.240.238) 70.435 ms 23.338 ms 70.447 ms
13 203.131.243.162 (203.131.243.162) 23.599 ms 23.464 ms 21.229 ms
14 216.137.55.28 (216.137.55.28) 23.847 ms 70.680 ms 70.573 ms
KBT:
3 58.86-0-host249.kbtelecom.net.tw (58.86.0.249) 0.233 ms 0.228 ms 0.360 ms
4 TWGATE-VLAN-859.IX.kbtelecom.net (203.187.9.205) 0.611 ms 0.481 ms 0.734 ms
5 TWGATE-C65-10G2-1-TPNOC1.IX.kbtelecom.net (203.187.6.202) 0.732 ms 0.730 ms 0.860 ms
6 PAIX-T76-G2-1-TWGATE.IX.kbtelecom.net (203.187.3.74) 137.412 ms 137.385 ms 137.785 ms
7 GigabitEthernet2-0.GW4.PAO1.ALTER.NET (157.130.214.173) 137.515 ms 137.397 ms 137.512 ms
8 124.ATM3-0.XR2.PAO1.ALTER.NET (152.63.49.230) 137.657 ms 137.602 ms 137.764 ms
9 0.so-5-2-0.XT1.SCL2.ALTER.NET (152.63.54.134) 137.909 ms 137.804 ms 137.842 ms
10 204.255.169.182 (204.255.169.182) 139.285 ms 139.353 ms 139.509 ms
11 ae-1.r20.plalca01.us.bb.gin.ntt.net (129.250.5.117) 138.799 ms 138.586 ms 138.407 ms
12 ae-1.r21.snjsca04.us.bb.gin.ntt.net (129.250.4.119) 140.262 ms 140.144 ms 140.144 ms
13 as-1.r21.osakjp01.jp.bb.gin.ntt.net (129.250.3.198) 159.242 ms 159.132 ms 159.254 ms
14 ae-4.r20.osakjp01.jp.bb.gin.ntt.net (129.250.4.57) 159.143 ms 159.248 ms 159.252 ms
15 as-2.r21.newthk01.hk.bb.gin.ntt.net (129.250.4.46) 201.124 ms 203.150 ms 201.114 ms
16 po-1.a05.newthk01.hk.ra.gin.ntt.net (203.131.240.238) 202.980 ms 220.093 ms 202.851 ms
17 203.131.243.162 (203.131.243.162) 201.847 ms 201.868 ms 200.233 ms
18 216.137.55.227 (216.137.55.227) 201.604 ms 201.568 ms 201.477 ms
以亞洲區的情況來說,其實也不能說差到哪裡,因為亞洲區各地區的網路環境本來就比較複雜,很多 ISP 拉到日本或香港的是談 peering 而非 transit,如果放的 ISP 不是大戶就會像 HiNet 這樣。
台固 (TFN) 看起來是買日本 NTT transit 代替美國電路 (這點在 TWNIC 的資料可以推估出來),所以數字就好看很多 (不過還是跑到香港 XD)
離開亞洲,把測試環境拉到美國本土,情況就不太能讓人接受了。如果以美國的伺服器測試,以西岸 Cogent Co 的伺服器連上面所提到的 hostname,發現居然被導到東岸的機房... (喂喂)
Cogent Co:
3 te8-4.ccr02.sjc01.atlas.cogentco.com (154.54.6.69) 0.613 ms
te8-4.mpd01.sjc01.atlas.cogentco.com (154.54.6.73) 0.603 ms
te8-4.ccr02.sjc01.atlas.cogentco.com (154.54.6.69) 0.603 ms
4 te7-4.mpd01.sjc03.atlas.cogentco.com (154.54.6.234) 1.598 ms
te4-2.mpd01.sjc03.atlas.cogentco.com (154.54.6.106) 1.224 ms
te7-4.mpd01.sjc03.atlas.cogentco.com (154.54.6.234) 1.226 ms
5 te-3-3.car3.SanJose1.Level3.net (4.68.110.137) 1.099 ms 1.095 ms 1.110 ms
6 vlan99.csw4.SanJose1.Level3.net (4.68.18.254) 3.240 ms 6.099 ms 1.740 ms
7 ae-94-94.ebr4.SanJose1.Level3.net (4.69.134.253) 3.738 ms 7.825 ms 2.486 ms
8 ae-2.ebr4.NewYork1.Level3.net (4.69.135.186) 73.826 ms 73.220 ms 73.325 ms
9 ae-74-74.csw2.NewYork1.Level3.net (4.69.134.118) 73.193 ms 74.808 ms 72.824 ms
10 ae-71-71.ebr1.NewYork1.Level3.net (4.69.134.69) 73.321 ms 73.189 ms 73.525 ms
11 ae-2-2.ebr1.Newark1.Level3.net (4.69.132.98) 78.324 ms 76.045 ms 74.122 ms
12 ae-12-53.car2.Newark1.Level3.net (4.68.99.70) 74.779 ms
ae-12-55.car2.Newark1.Level3.net (4.68.99.134) 73.799 ms
ae-12-51.car2.Newark1.Level3.net (4.68.99.6) 88.805 ms
13 AMAZONCOM.car2.Newark1.Level3.net (4.79.190.182) 74.351 ms 73.560 ms 73.697 ms
14 216.137.41.112 (216.137.41.112) 74.697 ms 74.173 ms 74.696 ms
網路層面看完後,再來是看 Web server 的 performance,這點 Amazon 提供的服務慘不忍睹,實際以 http://d1nqj4pxyrfw2.cloudfront.net/cfcurl.pl 抓檔案測試發現,居然沒支援 gzip:
x-amz-id-2: gS6hQRsamtiyGdmpkpaHlt0mFE0tcBrzrV5QuJm4f5ObZX91IeLasylUvNj1h4B+
x-amz-request-id: BA60E611E0CBD3B9
Date: Tue, 18 Nov 2008 17:51:10 GMT
x-amz-meta-s3fox-filesize: 7482
x-amz-meta-s3fox-modifiedtime: 1225495075000
Last-Modified: Mon, 17 Nov 2008 18:54:09 GMT
Etag: "42c51d029cc4a9f2a3f06a494af4f020"
Content-Type: application/x-unknown-content-type
Content-Length: 7482
Server: AmazonS3
Age: 12848
X-Cache: RefreshHit from cloudfront
Via: 1.0 0904298d6eb16ce0af632faa366b71c4.cloudfront.net:11180 (CloudFront),
1.0 03b371403ea88af54def5cba2800dc5f.cloudfront.net:11180 (CloudFront)
待續。