Twitterの画像置き場がAkamaiに変わっていた
Twitter の画像(ユーザのアイコン画像・背景画像)置き場は Amazon S3 だった記憶があるのだけど,tcpdump を眺めていたら,いつのまにか Akamai に変わっていたことに気づいた.
調べてみたところ a[0-5].twimg.com というホストを使っていて,その時は Akamai が見えたのだけど,どうも footprint.net という CDN も使っているらしい.ググルとアヤシイ・危険な情報ばっかりみつかる.Amazon が cloudfront (っていうCDN)をやっているのに,footprint.net を使っているという記事もある.
a0, a4, a5 は同じ footprint.net を指している.a1, a2, a3 はそれぞれ別の Akamai を指しているようだ.
追記:s.twimg.com もあるようだ.これは Amazon の CDN, CloudFront を指している.
画像置き場 | CNAME | CDN | 使用 |
---|---|---|---|
a0.twimg.com. | a1.twimg.com.c.footprint.net. | footprint | アイコン |
a1.twimg.com. | a1.twimg.com.edgesuite.net. | Akamai | アイコン,背景 |
a2.twimg.com. | a2.twimg.com.edgesuite.net. | Akamai | アイコン |
a3.twimg.com. | a3.twimg.com.edgesuite.net. | Akamai | アイコン,背景 |
a4.twimg.com. | a1.twimg.com.c.footprint.net. | footprint | なし |
a5.twimg.com. | a1.twimg.com.c.footprint.net. | footprint | なし |
s.twimg.com | d2rdfnizen5apl.cloudfront.net. | Amazon | アイコン,背景 |
僕のアイコンは http://a0.twimg.com/profile_images/529565780/puchiko09.gif.png なので footprint にあるようだ.
規則性
僕の friends 2200 人ほどを調べた結果,規則性が判明した.
画像の URL http://a0.twimg.com/profile_images/529565780/puchiko09.gif.png の 529565780 を便宜上「画像 ID」と呼ぶ.最近アイコンを変えた人の画像 ID から順に小さくなっているので(一番最近にアイコンを変えた人の画像IDが一番大きい,ただしデフォルト画像を除く),この値は全ユーザでの通し番号だと思われる.
アイコン画像の CDN ホストは,画像 ID が約1,280,000,000以上であれば s.twimg.com で,それ以外は4で割った余りで a[0-3].twimg.com に振り分けられている.
背景画像の CDN ホストは,画像 ID が同様に約1,280,000,000以上であれば s.twimg.com で,それ以外は2で割った余りが 0 なら a1.twimg.com,1 なら a3.twimg.com になっている.
私の friends では背景画像 ID が 170,000,000 台から急に 1,280,000,000 台に飛んでいる.なんでだろう.一方でアイコン画像 ID は連続している.
dig の結果
;; QUESTION SECTION: ;a0.twimg.com. IN A ;; ANSWER SECTION: a0.twimg.com. 1 IN CNAME a1.twimg.com.c.footprint.net. a1.twimg.com.c.footprint.net. 148 IN A 192.221.68.126
;; QUESTION SECTION: ;a1.twimg.com. IN A ;; ANSWER SECTION: a1.twimg.com. 30 IN CNAME a1.twimg.com.edgesuite.net. a1.twimg.com.edgesuite.net. 12122 IN CNAME a1784.l.akamai.net. a1784.l.akamai.net. 20 IN A 60.254.185.96 a1784.l.akamai.net. 20 IN A 60.254.185.89
;; QUESTION SECTION: ;a2.twimg.com. IN A ;; ANSWER SECTION: a2.twimg.com. 20 IN CNAME a2.twimg.com.edgesuite.net. a2.twimg.com.edgesuite.net. 12606 IN CNAME a1907.l.akamai.net. a1907.l.akamai.net. 10 IN A 60.254.185.151 a1907.l.akamai.net. 10 IN A 60.254.185.158
;; QUESTION SECTION: ;a3.twimg.com. IN A ;; ANSWER SECTION: a3.twimg.com. 7 IN CNAME a3.twimg.com.edgesuite.net. a3.twimg.com.edgesuite.net. 11898 IN CNAME a948.l.akamai.net. a948.l.akamai.net. 20 IN A 60.254.185.135 a948.l.akamai.net. 20 IN A 60.254.185.137
;; QUESTION SECTION: ;a4.twimg.com. IN A ;; ANSWER SECTION: a4.twimg.com. 30 IN CNAME a1.twimg.com.c.footprint.net. a1.twimg.com.c.footprint.net. 26 IN A 192.221.68.126
;; QUESTION SECTION: ;a5.twimg.com. IN A ;; ANSWER SECTION: a5.twimg.com. 30 IN CNAME a1.twimg.com.c.footprint.net. a1.twimg.com.c.footprint.net. 1 IN A 192.221.68.126
;; QUESTION SECTION: ;a6.twimg.com. IN A