Amazon CloudfrontまたはS3を使用する場合


232

s3またはその逆でAmazonクラウドフロントにより適したユースケースはありますか?2つの例の違いを理解しようとしています。


1
ファイルを提供している場合、カスタムドメインでHTTPSを使用できるのはCloudFrontのみです。これで封印されました。
mlissner

回答:


373

Amazon S3は、1つの特定の地理的リージョンで大容量、低コストのファイルストレージ用に設計されています。*ストレージと帯域幅のコストは非常に低くなっています。

Amazon CloudFrontはコンテンツ配信ネットワーク(CDN)であり、ユーザーにできるだけ近いエッジロケーションでウェブデータをプロキシおよびキャッシュします。

エンドユーザーがこのドメイン名を使用してオブジェクトを要求すると、コンテンツの高性能配信のために、最も近いエッジロケーションに自動的にルーティングされます。(アマゾン

CloudFrontによって提供されるデータは、S3からのものである場合とそうでない場合があります。配信速度により最適化されているため、帯域幅のコストは少し高くなります。

ユーザーベースがローカライズされている場合、S3またはCloudFrontでの作業に大きな違いは見られません(ただし、S3バケットの適切な場所を選択する必要があります:US、EU、APAC)。ユーザーベースがグローバルに広がり、速度が重要な場合は、CloudFrontの方が適している場合があります。

S3とCloudFrontを両方しかしながらCloudFrontのを可能にする、ドメインエイリアスを可能にする複数の別名をするようd1.mystatics.comd2.mystatics.comそしてd3.mystatics.com同じ場所にすべてのポイントは、(これにより推奨されるように使用される並列ダウンロードのために容量を増加させる可能性がグーグルが、SPDYの導入により、およびHTTP / 2であります重要性が低い)。

CloudFront は2014年の時点でCORSもサポートしています(sergiopantojaに感謝)。

*注:2015年の時点で、S3は追加のリージョンに自動的に複製できるようになりました。


10
ありがとう、素晴らしい答え。
加茂

3
CloudFrontがCORSを完全にサポートしていないため、Webフォントには違いがあります。S3応答のヘッダーをキャッシュしますが、CORSを完全にサポートするには、要求元サーバー(オリジン)によってヘッダーが異なる場合があります。回避
422504

11
これは最新の状態に保つために、CloudFrontを今CORSをサポートしています。aws.amazon.com/about-aws/whats-new/2014/06/26/...
sergiopantoja

Cloudfrontはコンテンツをすぐに追い出すことに注意してください。max-ageを1日以上に設定しても、コンテンツが61分間触れられなかった場合、コンテンツは削除されません。アクセス頻度が低いため、ユーザー固有のコンテンツにはあまり使用されません。
BobB 2018

53

CloudFrontとS3バケットは同じではありません。簡単に言えば、CloudFrontを使用すると、エッジロケーションでコンテンツ配信ネットワーク(CDN)を介してWebコンテンツのコンテンツ配信を高速化できますが、S3バケットは実際のファイルを保存する場所です。CloudFrontソースは必ずしもS3からのものである必要はありませんが、CloudFrontとのS3統合の視覚化を容易にするために: ここに画像の説明を入力してください


ありがとう!この図は、違いを明確に示しています。
Rajan Sharma

28

もう1つの大きな違いは、CloudFrontではサーバー上のサイトをミラーリングできることです。Cloudfrontは、コンテンツ配信ネットワークを使用して、画像、mp3、ビデオなどのファイルをキャッシュします。

これにより、Amazon S3を使用する場合と同じようにアセットを複製する必要がなくなります。

ただし、ファイルの有効期限が切れると、CloudFrontはそれをライブサイトから再度取得します(有料)。したがって、クラウドフロントは、頻繁にアクセスされるファイルに最適であり、アクセス頻度の低いファイルには適していません。

Apacheのファイルの有効期限を設定する1つの方法は、.htaccessにあります。例えば

<filesMatch "\\.(mp3|mp4)$">
Header set Cache-Control "max-age=648000, private"
</filesMatch>

20

Amazon CLOUDFRONTとS3は、Amazon Web Servicesによって提供される2つの異なるサービスです。

Amazon S3は、次のような静的ファイルを保存できるストレージサービスです。

css、画像、javascripts、ビデオなど...

Amazon CloudFrontは、AW​​Sからファイルをリクエストするユーザーと特定のリージョンのS3データセンターの間にあるミドルウェアです。CloudFrontは、S3からユーザーへの静的および動的ウェブコンテンツの配信を高速化するために使用されます。

あなたは例によってそれをよりよく理解することができます:-

たとえば、S3はAWSリージョンUS East(バージニア北部)にあり、ファイルを保存するデータセンターの場所です。

インドのユーザーがバージニア州のAWSサーバーからファイルにアクセスしようとすると、ユーザーはリクエストでその特定の場所に移動する必要があり、これには多くの時間がかかります。

CloudFrontは、ユーザーとAWS S3の間のミドルウェアとして機能します。


最も頻繁に使用されるファイルはCloudFrontにキャッシュでき、その内容はエッジロケーションに複製されます(レイテンシの低いエンドユーザーにコンテンツを配信するために、Amazon CloudFrontはコンテンツ配信にエッジロケーションのグローバルネットワークを使用します)。

コンテンツがすでにレイテンシが最も低いエッジロケーションにある場合、CloudFrontはすぐにコンテンツを配信します。コンテンツが現在そのエッジロケーションにない場合、CloudFrontはAmazon S3バケットからコンテンツを取得し、できるだけ早くユーザーに提供します。

すべてのリクエストにはCloudFrontからS3への新しいDNSが与えられるため、これによりトラフィックが減少し、リクエストの並列処理が増加します。

以下は、2016年7月現在の現在のエッジ位置のリストです。

アメリカ

  • バージニア州アッシュバーン(3)
  • ジョージア州アトランタ
  • イリノイ州シカゴ
  • ダラス/フォートワース、テキサス州(2)
  • カリフォルニア州ヘイワード
  • フロリダ州ジャクソンビル
  • カリフォルニア州ロサンゼルス(2)
  • フロリダ州マイアミ
  • ニューヨーク、ニューヨーク州(3)
  • ニューアーク、ニュージャージー州
  • カリフォルニア州パロアルト
  • カリフォルニア州サンノゼ
  • ワシントン州シアトル
  • インディアナ州サウスベンド
  • ミズーリ州セントルイス

ヨーロッパ

  • オランダ、アムステルダム(2)

  • ダブリン、アイルランド

  • ドイツ、フランクフルト(3)

  • イギリス、ロンドン(3)

  • マドリッド、スペイン

  • マルセイユ、フランス

  • ミラノ、イタリア

  • フランス、パリ(2)

  • スウェーデンのストックホルム

  • ワルシャワ、ポーランド

アジア

  • チェンナイ、インド

  • 香港(2)

  • ムンバイ、インド

  • フィリピン、マニラ

  • ニューデリー、インド

  • 大阪、日本

  • 韓国、ソウル(3)

  • シンガポール(2)

  • 台北、台湾

  • 東京、日本(2)

オーストラリア

  • オーストラリア、メルボルン

  • オーストラリア、シドニー

南アメリカ

  • ブラジル、サンパウロ

  • リオデジャネイロ、ブラジル

これにより、ユーザーが制限されている場合、S3がホストされているのと同じリージョンのユーザーである場合、CloudFrontにアクセスする必要はありません。グローバルレベルでユーザー数が増加している場合は、必ずCloudFrontを使用する必要があります。レイテンシとトラフィック制御を改善します。


1
これが最善の答えです
ジョアン・オテロ

14

S3でCloudFrontを使用するもう1つのケースは、SSL証明書をCloudFrontでカスタムドメインに使用できるのに対し、S3では使用できない場合です。かなり良い理由です。


2
また、新しい証明書マネージャを使用すると、さらに簡単になります。
ファットマン

7

Amazon S3はシンプルなストレージサービスで、ビデオ、画像、PDFなどの大量の情報を使用できます。

CloudFrontはコンテンツデリバリーネットワークであり、エンドユーザーにより近く、Amazon S3で情報を可能な限り最短で利用できるようにするために使用されます。

使用例は、ビデオオンデマンドです。

  1. ビデオを1か所に保存します。S3は、すべての録画済みビデオをさまざまな形式で保存します。
  2. グローバルユーザーケースがあります
  3. CloudFrontは、ビデオをエッジロケーションにキャッシュするために使用されます。これは、コンテンツをエンドユーザーに配信するために使用できます。場所は、最も近い物理的なエッジの場所に基づいて自動的に取得されます。現在、約51のエッジロケーションがあります。

CloudFrontを適切なユースケースに使用することのいくつかの利点:

  1. 遅延の改善-エンドユーザーエクスペリエンスの向上。
  2. データ転送コストを削減できる可能性があります。データは特定のAWSリージョンの同じS3バケットから毎回転送されるわけではないため。

その他の可能な使用例:

  1. 生放送
  2. ゲーム
  3. ウェブサイトの高速化

4

ここで見逃していた一面は:

また、Amazon Cloudfrontは、より高い使用レベルでAmazon S3よりも低価格を提供します。

  • Cloudfront CDNは、地理的に分散された複数のサーバー(CSS、JS)にコンテンツを分散するためのものです。

  • 一方、s3はユーザーあたりの使用量の少ないリソースストア(ユーザー画像、PDF)です。

Cloudfrontリソースは、Webサーバーを完全にバイパスしてs3バケットから提供できます。

Webサーバーが画像とJavaScriptをプリコンパイルして保存する状況で役立ちます。それらをs3に保存すると、サーバーのメモリフットプリントが削減されます。

例:Heroku Slugsの場合(s3を使用し、クラウドフロントCDNでラップするとスループットが向上するため、準拠するアプリケーションのサイズを削減できます)


2

最初に、Amazon S3はクラウドストレージであり、Cloud Frontはコンテンツ配信ネットワーク(CDN)であることを説明したいと思います。

したがって、を使用してファイルをS3に保存し、インターネット経由でコンテンツを提供するディストリビューションを作成できます。特定の地域の分布を作成することもできます。



1

Amazon S3は、リージョンやゾーンのダウンから保護するためにグローバルに分散されたストレージシステムを探している場合に最適なオブジェクトストレージプラットフォームです。また、写真、ビデオ、画像、バックアップなど、トランザクションや変更が行われない静的/修正済みコンテンツにも最適です。お役に立てれば幸いです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.