回答:
Amazon S3は、1つの特定の地理的リージョンで大容量、低コストのファイルストレージ用に設計されています。*ストレージと帯域幅のコストは非常に低くなっています。
Amazon CloudFrontはコンテンツ配信ネットワーク(CDN)であり、ユーザーにできるだけ近いエッジロケーションでウェブデータをプロキシおよびキャッシュします。
エンドユーザーがこのドメイン名を使用してオブジェクトを要求すると、コンテンツの高性能配信のために、最も近いエッジロケーションに自動的にルーティングされます。(アマゾン)
CloudFrontによって提供されるデータは、S3からのものである場合とそうでない場合があります。配信速度により最適化されているため、帯域幅のコストは少し高くなります。
ユーザーベースがローカライズされている場合、S3またはCloudFrontでの作業に大きな違いは見られません(ただし、S3バケットの適切な場所を選択する必要があります:US、EU、APAC)。ユーザーベースがグローバルに広がり、速度が重要な場合は、CloudFrontの方が適している場合があります。
S3とCloudFrontを両方しかしながらCloudFrontのを可能にする、ドメインエイリアスを可能にする複数の別名をするようd1.mystatics.com
、d2.mystatics.com
そしてd3.mystatics.com
同じ場所にすべてのポイントは、(これにより推奨されるように使用される並列ダウンロードのために容量を増加させる可能性がグーグルが、SPDYの導入により、およびHTTP / 2であります重要性が低い)。
CloudFront は2014年の時点でCORSもサポートしています(sergiopantojaに感謝)。
*注:2015年の時点で、S3は追加のリージョンに自動的に複製できるようになりました。
CloudFrontとS3バケットは同じではありません。簡単に言えば、CloudFrontを使用すると、エッジロケーションでコンテンツ配信ネットワーク(CDN)を介してWebコンテンツのコンテンツ配信を高速化できますが、S3バケットは実際のファイルを保存する場所です。CloudFrontソースは必ずしもS3からのものである必要はありませんが、CloudFrontとのS3統合の視覚化を容易にするために:
もう1つの大きな違いは、CloudFrontではサーバー上のサイトをミラーリングできることです。Cloudfrontは、コンテンツ配信ネットワークを使用して、画像、mp3、ビデオなどのファイルをキャッシュします。
これにより、Amazon S3を使用する場合と同じようにアセットを複製する必要がなくなります。
ただし、ファイルの有効期限が切れると、CloudFrontはそれをライブサイトから再度取得します(有料)。したがって、クラウドフロントは、頻繁にアクセスされるファイルに最適であり、アクセス頻度の低いファイルには適していません。
Apacheのファイルの有効期限を設定する1つの方法は、.htaccessにあります。例えば
<filesMatch "\\.(mp3|mp4)$">
Header set Cache-Control "max-age=648000, private"
</filesMatch>
Amazon CLOUDFRONTとS3は、Amazon Web Servicesによって提供される2つの異なるサービスです。
Amazon S3は、次のような静的ファイルを保存できるストレージサービスです。
css、画像、javascripts、ビデオなど...
Amazon CloudFrontは、AWSからファイルをリクエストするユーザーと特定のリージョンのS3データセンターの間にあるミドルウェアです。CloudFrontは、S3からユーザーへの静的および動的ウェブコンテンツの配信を高速化するために使用されます。
あなたは例によってそれをよりよく理解することができます:-
たとえば、S3はAWSリージョンUS East(バージニア北部)にあり、ファイルを保存するデータセンターの場所です。
インドのユーザーがバージニア州のAWSサーバーからファイルにアクセスしようとすると、ユーザーはリクエストでその特定の場所に移動する必要があり、これには多くの時間がかかります。
CloudFrontは、ユーザーとAWS S3の間のミドルウェアとして機能します。
最も頻繁に使用されるファイルはCloudFrontにキャッシュでき、その内容はエッジロケーションに複製されます(レイテンシの低いエンドユーザーにコンテンツを配信するために、Amazon CloudFrontはコンテンツ配信にエッジロケーションのグローバルネットワークを使用します)。
コンテンツがすでにレイテンシが最も低いエッジロケーションにある場合、CloudFrontはすぐにコンテンツを配信します。コンテンツが現在そのエッジロケーションにない場合、CloudFrontはAmazon S3バケットからコンテンツを取得し、できるだけ早くユーザーに提供します。
すべてのリクエストにはCloudFrontからS3への新しいDNSが与えられるため、これによりトラフィックが減少し、リクエストの並列処理が増加します。
以下は、2016年7月現在の現在のエッジ位置のリストです。
アメリカ
ヨーロッパ
オランダ、アムステルダム(2)
ダブリン、アイルランド
ドイツ、フランクフルト(3)
イギリス、ロンドン(3)
マドリッド、スペイン
マルセイユ、フランス
ミラノ、イタリア
フランス、パリ(2)
スウェーデンのストックホルム
ワルシャワ、ポーランド
アジア
チェンナイ、インド
香港(2)
ムンバイ、インド
フィリピン、マニラ
ニューデリー、インド
大阪、日本
韓国、ソウル(3)
シンガポール(2)
台北、台湾
東京、日本(2)
オーストラリア
オーストラリア、メルボルン
オーストラリア、シドニー
南アメリカ
ブラジル、サンパウロ
リオデジャネイロ、ブラジル
これにより、ユーザーが制限されている場合、S3がホストされているのと同じリージョンのユーザーである場合、CloudFrontにアクセスする必要はありません。グローバルレベルでユーザー数が増加している場合は、必ずCloudFrontを使用する必要があります。レイテンシとトラフィック制御を改善します。
Amazon S3はシンプルなストレージサービスで、ビデオ、画像、PDFなどの大量の情報を使用できます。
CloudFrontはコンテンツデリバリーネットワークであり、エンドユーザーにより近く、Amazon S3で情報を可能な限り最短で利用できるようにするために使用されます。
使用例は、ビデオオンデマンドです。
CloudFrontを適切なユースケースに使用することのいくつかの利点:
その他の可能な使用例:
ここで見逃していた一面は:
また、Amazon Cloudfrontは、より高い使用レベルでAmazon S3よりも低価格を提供します。
Cloudfront CDNは、地理的に分散された複数のサーバー(CSS、JS)にコンテンツを分散するためのものです。
一方、s3はユーザーあたりの使用量の少ないリソースストア(ユーザー画像、PDF)です。
Cloudfrontリソースは、Webサーバーを完全にバイパスしてs3バケットから提供できます。
(Webサーバーが画像とJavaScriptをプリコンパイルして保存する状況で役立ちます。それらをs3に保存すると、サーバーのメモリフットプリントが削減されます。)
例:Heroku Slugsの場合(s3を使用し、クラウドフロントCDNでラップするとスループットが向上するため、準拠するアプリケーションのサイズを削減できます)
Amazon S3とAmazon Cloudfrontの比較は、こちらから確認できます。http://www.bucketexplorer.com/documentation/cloudfront--amazon-s3-vs-amazon-cloudfront.html
【公開: バケットエクスプローラー】