Amazon CloudFront 
カンタン解説 
(AWSまいまいすたーしりーず) 
2014 Aug  
ヒロヤマ ユタカ
Amazon CloudFront とは? 
S3 やEC2 などのコンテンツを 
HTTP、HTTPS、RTMP(*)プロトコルで 
高速に配信できる。 
(*)ストリーミング配信に使用 
全リージョンで利用可能。
料金 
配信したデータ量に依存
どのようにして高速に? 
エッジロケーションと呼ばれる 
キャッシュ機能を備えたサーバーを 
世界の各地に配備している。 
ユーザからのアクセスは、 
このうち最も近いもの 
に向けられる。
S3 + CloudFront のイメージ
EC2 + CloudFront のイメージ
CloudFrontの注意点!! 
• 反映に時間がかかる! 
• 逆効果になるケースもある! 
• HTTPヘッダを活用したサイト!
反映に時間がかかる! 
反映までの時間はデフォルトで24時間。 
最悪、24 時間かかる。。。 
必要に応じて、チューニング(*)する 
必要がある。 
(*) キャッシュコントロールヘッダで調整可能。
逆効果になるケースもある! 
エッジロケーションにキャッシュされた 
コンテンツがなければ 
オリジンサーバに取得しにいく。 
エッジロケーションとオリジンサーバ間の 
通信速度は通常のそれと変わらない。 
経路が増える分、通信速度は悪化する。
HTTPヘッダを活用したサイト! 
デフォルトの設定では、HTTPヘッダを 
オリジンサーバへ転送しない。 
明示的に転送許可してやる必要がある。 
とくにEC2+CloudFrontの構成時は注意!
ヘッダ利用ケース 
HTTP ヘッダ利用ケース 
HOST Apatch のVirtualHost 機能を 
使って複数のweb サイトを構築 
している 
Accept- 
Language 
php で 
$_SERVER[‘HTTP_ACCEPT_LANGUAGE’] 
を使った処理分岐 
CloudFront- 
Forwarded- 
Proto 
HTTP かHTTPS のどちらなのか 
判定して配信コンテンツを切り 
替える
検証 
30MBほどのファイルをS3に配備。 
直接OriginからDLと、 
CloudFrontからDLで速度を比較。 
→ほぼ半分のDL時間に!
まとめ 
CloudFrontを使うことで、 
サイトの高速化が 
結構カンタンに実現できる。 
ただし、使いどころは 
よく検討しよう!
参考 
• http://aws.amazon.com/jp/cloudfront/ 
• http://aws.typepad.com/aws_japan/2014/0 
7/enhanced-cloudfront-customization. 
html
Fin.

CloudFront