読者です 読者をやめる 読者になる 読者になる

ELBのIPアドレス個数でサービス規模は推定できるのか

友達と飲んでる時に『ELBのIPアドレス数は動的に変動するから、個数調べるとだいたいのサイト規模がわかる』みたいな話をしたので、実際のところどうなんだろうといくつかのサービスを調べてみました。

こんな感じになりました。

サービス 調査ドメイン IPアドレス個数
Cookpad cookpad.com 8
ランサーズ www.lancers.jp 2
Chatwork chatwork.com 8
日経新聞(モバイル版) mw.nikkei.com 2
東急ハンズ ネットストア hands.net 2
SmartNews www.smartnews.be 6
グノシー platform.gunosy.com 2
パズドラ api-ios.padsv.gungho.jp 8
ドラゴンクエストモンスターズ SL monsters-superlight.dragonquest.jp 4

個数は2~8個っぽい。

んー、まぁなんか、わかるようなわからんようなって感じですねw
そもそも各サイトのアクセス数がよくわからんし(´・ω・`)

調べかた

WEB系はそのままdigして個数を数えるだけです。 CNAME設定だとこんなふうに出てきます。

$ dig www.tokyu-hands.co.jp
...
;; ANSWER SECTION:
www.tokyu-hands.co.jp.  99  IN  CNAME   tokyu-hands-elb-1374513770.ap-northeast-1.elb.amazonaws.com.
tokyu-hands-elb-1374513770.ap-northeast-1.elb.amazonaws.com. 4 IN A 54.249.36.206
tokyu-hands-elb-1374513770.ap-northeast-1.elb.amazonaws.com. 4 IN A 54.64.64.169

たぶんAlias設定だと思うのですが、そのまま出てくる場合は、

$ dig hands.net
...
;; ANSWER SECTION:
hands.net.      59  IN  A   54.64.54.1
hands.net.      59  IN  A   54.178.250.5

IPアドレスが2個以上で、whois見てAmazonのIPアドレスならELBと見なすことにしました。

$ whois 54.64.54.1
...
NetRange:       54.64.0.0 - 54.71.255.255
CIDR:           54.64.0.0/13
NetName:        AMAZON-2011L
NetHandle:      NET-54-64-0-0-1
Parent:         NET54 (NET-54-0-0-0-0)
NetType:        Direct Allocation
OriginAS:
Organization:   Amazon Technologies Inc. (AT-88-Z)
RegDate:        2014-06-20
Updated:        2014-06-20
Ref:            http://whois.arin.net/rest/net/NET-54-64-0-0-1

OrgName:        Amazon Technologies Inc.
OrgId:          AT-88-Z
Address:        410 Terry Ave N.
City:           Seattle
...
OrgTechHandle: ANO24-ARIN
OrgTechName:   Amazon EC2 Network Operations
OrgTechPhone:  +1-206-266-4064
OrgTechEmail:  aes-noc@amazon.com
OrgTechRef:    http://whois.arin.net/rest/poc/ANO24-ARIN
...

スマホアプリについては、自宅のDNSサーバでtcpdumpして、それっぽいドメインをテキトウに当たりつけて調べました。
アクセスの中身は見てません。そして今回はiPhoneだけで調べてます。

例えばWifi繋いでパズドラを起動するとこんな感じで名前解決が走ります。

[root@dns01 ~]# tcpdump port domain and src host 192.168.1.215
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
02:11:39.316918 IP 192.168.1.215.50335 > 192.168.1.103.domain: 30569+ A? init.itunes.apple.com. (39)
02:11:39.573855 IP 192.168.1.215.52657 > 192.168.1.103.domain: 49332+ A? service.gc.apple.com.akadns.net. (49)
02:11:39.827277 IP 192.168.1.215.51331 > 192.168.1.103.domain: 40363+ A? xp.apple.com. (30)
02:11:39.827290 IP 192.168.1.215.55760 > 192.168.1.103.domain: 23294+ A? p19-buy.itunes.apple.com. (42)
02:11:40.799307 IP 192.168.1.215.57506 > 192.168.1.103.domain: 16746+ A? sp.itunes.apple.com. (37)
02:11:46.215691 IP 192.168.1.215.50167 > 192.168.1.103.domain: 61999+ A? patch-pad.gungho.jp. (37)
02:11:46.321042 IP 192.168.1.215.60145 > 192.168.1.103.domain: 25106+ A? www-google-analytics.l.google.com. (51)
02:11:48.771560 IP 192.168.1.215.50013 > 192.168.1.103.domain: 63786+ A? api-ios.padsv.gungho.jp. (41)
...

関係ないけどこれ見てると、各アプリでどのクラウド/DC、CDNを使っているか、広告や解析ツールなどは何を使っているか、などがわかって面白い。

まとめ

サービス規模とELBのIPアドレスの個数に相関はありそうだけど、調べ方がテキトウだし、アクセス数以外にもいろいろ変動要因があると思われるので、あんまアテにならなそう。

追記

そうなのか。後で調べよう。