2008/11/21 金曜日

Amazon CloudFront Memo このエントリーを含むはてなブックマーク

カテゴリー: diary, memo, net — CyberMagic @ 11:34:16
タグ: , ,

Amazon S3にあるファイルのダウンロードを高速化できる、Amazon CloudFront関係のメモ。たまに更新されるかも。

・S3からデータをエッジ(配信)サーバーにキャッシュする。
Amazon CloudFrontは、Amazon S3にあるデータを各国に設置されているエッジサーバーにキャッシュし、そこから配信する、いわゆるCDN。そのため、Amazon S3の契約も必要。Amazon CloudFrontでの配信設定に使用するソフトはS3Foxの最新版など、Amazon CloudFrontに対応したものを用いる。
エッジサーバーに要求されたファイルのキャッシュが無い場合、Amazon S3からダウンロード&キャッシュするため表示に時間が掛かる(キャッシュされた後はキャッシュが消滅しない限りエッジサーバーから直接配信されるので大丈夫)。
リクエストした時に返ってくるヘッダーのX-Cacheが”Hit from cloudfront”であればエッジサーバーにキャッシュがあるためエッジサーバーから直接配信。”Miss from cloudfront”であればキャッシュがないのでAmazon S3からファイルを転送しキャッシュしたことになる。

・DNSでエッジ(配信)サーバーを振り分けている。
どうやら、DNSサーバーのある国によってエッジサーバーを振り分けている模様。
そのため、日本国内でもOpenDNSなど他国のDNSサーバーを指定している場合、そのDNSサーバーのある国(地域)のエッジサーバーに接続されるので注意(なのでプロバイダのDNSに戻したのは秘密)。
tracerouteすれば分かるかも。

・国内サーバーの配信料金は消費税入り
Account ActivityのAmazon CloudFront(→Japan)の項目を見ていただければ分かると思うが、
$0.221 per GB – first 10 TB / month data transfer out (includes consumption tax)
そう、includes consumption tax。訳すと消費税込。
どうやら日本国内サーバーの配信料金はさらに消費税が付加されているようだ。

・独自ドメインから配信
CloudFront配信設定時に、CNAME欄にcdn.example.comなどのように、割り当てたいドメイン名を指定する(設定後でも可能)。カンマ区切りで複数指定も可能(例:cdn.example.com,static.example.net,files.example.org)。
設定後、割り当てられた”~.cloudfront.net”をCNAMEでドメインのDNSに設定すればOK。
実際、独自ドメインでCloudFrontを利用している(cf.pspelp.comから呼び出されているものはすべてCloudFrontでの配信)。

HTML convert time: 0.508 sec. 天安門とか中国工人党をaltタグで入れたら中華で規制されるかの実験。Powered by WordPress