pythonでAWS. CloudFront + S3 を使ってみた - lolloo-htnの日記
CloudFrontはS3に格納したデータを、クライアントに一番近いロケーションから発信するためのサービス。わかりやすい絵はココにあるようなもの。実例として以下をやってみた
CloudFrontはS3に格納したデータを、クライアントに一番近いロケーションから発信するためのサービス。わかりやすい絵はココにあるようなもの。実例として以下をやってみた

Comments [0]
「Amazon CloudFront」はAmazonが提供するCDNサービスの1つです。Amazon CloudFrontでは、アカウント管理者がAmazon S3上に配置したコンテンツが、世界各国に分散して配置される仕組みになっています。これにより、アクセスの1カ所集中を回避し、分散させることが可能です。ユーザーは最もネットワーク距離の近い国のキャッシュサーバから、コンテンツをダウンロードできるようになります。
Amazon CloudFrontを利用することで、ユーザーにとっても非常に快適で、かつ効率的なアクセスの仕組みを作ることができます。
図1:Amazon CloudFrontの仕組みAmazon CloudFrontには、「エッジサーバ」と呼ばれる上記のキャッシュサーバが世界14カ所に設置してあります。それぞれの場所で、Amazon S3のコンテンツをキャッシュし、配信することが可能です。なお、14カ所の中には、日本(東京)も含まれているので、国内からも快適に利用できます。以下は2009年5月現在、キャッシュサーバのある場所の一覧です。
United States
- Ashburn , VA
- Dallas/Fort Worth , TX
- Los Angeles , CA
- Miami , FL
- Newark , NJ
- Palo Alt+ , CA
- Seattle , WA
- St. Louis , MO
Europe
- Amsterdam
- Dublin
- Frankfurt
- London
Asia
- Hong Kong
- Tokyo
筆者が実際に数メガバイトのコンテンツをAmazon S3に配置して国内からの通信スループットを測定した際、Amazon S3からのダウンロードが約200~300KB/sec程度であったのに対し、Amazon CloudFrontのキャッシュサーバからのダウンロードは、5~6MB/secと快適な通信を行うことが可能であったことを補足しておきます。
Comments [0]
1. 元サーバーのストレージ
通常のS3ストレージを利用し、バケットにオブジェクトを保存。S3の課金。
2. エッジにコピー
GETリクエストとデータ転送はS3課金。
エッジロケーション(クライアント/コンシューマ)から要求があったときのみCloudFrontはオブジェクトをコピーする。
3. エッジロケーションへオブジェクトをサービス
ここはCloudFront課金。S3で直接配信するより安い。
Comments [0]
Comments [1]