※当ブログではアフィリエイト広告を利用しています。
買った Kindle 本のコンテンツをKindle for PCでダウンロードするとき、毎回ダウンロードが遅いな・・と感じていました。
ダウンロードが遅い原因を調べてみたので、調べた方法と結果をご紹介します。
ちょっと長いので、結論だけ知りたい方は「Kindle for PC での Kindle 本のダウンロードが遅い理由」の見出しまで飛ばし読みでどうぞ。
Kindle for PC での Kindle 本のダウンロードが遅い
買った Kindle 本をKindle for PCで読む場合、最初にコンテンツをダウンロードする必要があります。
このダウンロード、お世辞にも早いとはいえません。例えば下の画像のようにダウンロードの進み具合を表すバーがなかなか進まない・・というのを見たことがある方も多いと思います。
Kindle for PCで本のダウンロードが遅い理由を調べた方法
Kindle 本をダウンロードするとき、パケットキャプチャを取得・見ることができるソフトウェア「Wireshark」を使いました。
Kindle for PC で本をダブルクリックしてダウンロードが始まってからのパケットキャプチャ結果を見てみます。
DNSで名前解決
DNSで名前解決がはじまります。最初にtodo-ta-g7g.amazon.com
という FQDN に対し A レコードの解決がはじまりました。
10 0.008639 192.168.10.103 192.168.10.1 DNS 82 Standard query 0x37a6 A todo-ta-g7g.amazon.com
192.168.10.1
は私のルータのIPなので DNS キャッシュです。
名前解決されて今回は52.46.133.19
の IP アドレスが返されました。これに HTTPS でつなぎにいっているようです。
13 0.023084 192.168.10.103 52.46.133.19 TCP 66 63924 → 443 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 WS=256 SACK_PERM=1
さらにもう一度amazon.com
の FQDN に名前解決が行われます。次はapi.amazon.com
です。
87 21.616396 192.168.10.1 192.168.10.103 DNS 312 Standard query response 0xe452 A api.amazon.com A 54.239.29.142 NS ns-932.amazon.com NS ns-923.amazon.com NS ns-912.amazon.com NS ns-931.amazon.com NS ns-911.amazon.com NS ns-921.amazon.com A 52.9.140.222 A 52.9.146.37 A 34.196.62.143 A 52.86.96.73 A 52.19.138.45 A 52.16.221.207
これで名前解決された IP アドレスは、今回は54.239.29.142
でした。これも HTTPS です。
88 21.616879 192.168.10.103 54.239.29.142 TCP 66 63942 → 443 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 WS=256 SACK_PERM=1
さらに名前解決が行われます。次はcde-ta-g7g.amazon.co.jp
です。
152 23.798939 192.168.10.1 192.168.10.103 DNS 331 Standard query response 0xbf1b A cde-ta-g7g.amazon.co.jp A 54.240.250.223 NS ns-921.amazon.com NS ns-911.amazon.com NS ns-931.amazon.com NS ns-932.amazon.com NS ns-923.amazon.com NS ns-912.amazon.com A 52.9.140.222 A 52.9.146.37 A 34.196.62.143 A 52.86.96.73 A 52.19.138.45 A 52.16.221.207
これは IP アドレス54.240.250.223
に名前解決されました。この後はこの IP アドレスとの通信が続きます。
Kindle本(コンテンツ)のダウンロード
今回、「沈黙のWebマーケティング」という Kindle 本を 5/6 に買ってすぐダウンロードしました。
54.240.250.223
との通信が Kindle 本のダウンロードを表すものなのか不明なので、この Kindle 本コンテンツがパソコンにダウンロードされた日時を調べてみます。
この Kindle 本の ASIN(商品識別用の10桁の番号コード)は B00SSNAHFE です。
Kindle for PC のコンテンツはデフォルトだと下記のパスにあります。
C:\Users\Windowsユーザー名\Documents\My Kindle Content
このフォルダの中には ASIN と思われる文字のフォルダがたくさんあります。
このフォルダの中身は空っぽですが、中には隠しファイルとしてファイルが存在するようです。
$ ll /c/Users/username/Documents/My\ Kindle\ Content/B00SSNAHFE_EBOK total 98749 -rw-r—r— 1 username 197121 101115520 5月 6 21:37 B00SSNAHFE_EBOK.azw -rw-r—r— 1 username 197121 242 5月 11 15:16 B00SSNAHFE_EBOK.mbpV2
容量と作成日からB00SSNAHFE_EBOK.azw
が、Kindle本のコンテンツそのものと思われます。
101115520
バイトなのでだいたい 101 メガバイトです。けっこうな容量です。
54.240.250.223
との通信がこの時間帯ぐらいまで続いていれば、この IP が Kindle 本のダウンロードのために使われていた、といえそうです。実際にパケットキャプチャを見てみると、54.240.250.223
との通信がFIN、ACK
で終了したのが 2019/05/06 21:37 ごろです。
169579 1968.325233 192.168.10.103 54.240.250.223 TCP 54 63946 → 443 [FIN, ACK] Seq=4458 Ack=101458045 Win=66560 Len=0
このため、今回のダウンロードでは54.240.250.223
が Kindle 本のダウンロードのために使われてる IP アドレスであったと考えられます。
Kindle for PC での Kindle 本のダウンロードが遅い理由
この54.240.250.223
は当然ながら Amazon の持ち物のようです。
Network: NET-54-240-192-0-1
Source Registry ARIN
Net Range 54.240.192.0 – 54.240.255.255
CIDR 54.240.192.0/18
Name AMAZON-2Z
Handle NET-54-240-192-0-1
Parent NET-54-240-0-0-1
Net Type ALLOCATION
Origin AS AS16509引用元:ARIN Whois RDAP
この IP について調べてみると、アメリカのオレゴン州のものでした。
Kindle 本ダウンロードの仕組みの詳細については不明ですが、「日本国内ではなくアメリカのサーバーからダウンロードしているため日本からだと遅い」というのが、要因の一つとしては考えられそうです。
アメリカのサーバーからKindle for PCで本をダウンロードしてみた
AWS(Amazon Web Services)のバージニア北部リージョンに Windows Server 2016 の EC2 インスタンスを立てて、Kindle for PC からのダウンロードを試してみました。
結果は「爆速」です。同じ本が 1 分も経たないうちにダウンロード完了しました。
おわりに
アメリカからダウンロードしていて CDN(コンテンツ配信ネットワーク)も使われていないから遅いんだろうな・・というのがわかりました。
日本からのダウンロードを早くするには Amazon 側の今後の改善に期待したい・・という感じです。
関連記事:本が読み放題!Kindle Unlimitedの登録方法と使い方【30日は無料】