2017-11-03 9 views
0

私のプロジェクトに取り組んでいますが、私は毎月約500-750kのユニークなpingを期待しています。AWS - パフォーマンスを重視した静的ファイルの提供

静的なウェブサイトをホストするためのより良い方法(レイテンシーの面で)が私の考えよりも好きであるかどうか聞いてみたい。

アイデア:gzipでnginxのを実行している

  • EC2インスタンスは、CDNのため
  • CloudFrontのを有効に

私は何をホスティングしています:

  • HTML(全3ページ)
  • CSS
  • SVG/PNG画像

上記の私の考えがOKであれば、どのEC2インスタンスを使用しますか?私はマイクロインスタンスがうまくいくと思っていますが、余分なRAM/CPUが必要な理由はわかりません。

編集:またはCloudFront S3のような簡単な方法はありますか?

+1

、このタイプのngnixは使用しないでください。これは、ユーザーのブラウザが対話するサービスです。だから、CDNが引き出すファイルの起源を突き詰める理由はありません。単にS3を使用してください。 CloudFrontは明らかにAWSで選択したCDNですが、実際にはどのCDNでも使用できます。 –

答えて

3

コスト効果的な、あなたのケースのための高可用性、完全に管理、セキュアでフォールトトレラントソリューションは、AWS S3です:

  1. S3バケット(mybucket)を作成し、その上にウェブサイトの静的プロパティを有効にします。

  2. IAMユーザを、そのバケット上の読み取り/書き込みの許可で作成します。

    "Version": "2012-10-17", 
        "Statement": [ 
         { 
         "Action": "s3:ListAllMyBuckets", 
         "Effect": "Allow", 
         "Resource": "arn:aws:s3:::*" 
         }, 
         { 
         "Sid": "Stmt1487841624000", 
         "Effect": "Allow", 
         "Action": ["s3:*"], 
         "Resource": ["arn:aws:s3:::mybucket/*", "arn:aws:s3:::mybucket"] 
         } 
        ] 
        } 
    

    (秘密鍵とアクセスキーとあなたはバケットを作成する地域を保管してください)

  3. aws configure; 
    
  4. あなたのラップトップであなたの秘密鍵とアクセスキーを設定する次に、あなたの静的をアップロードウェブサイト:

    aws s3 sync /path/to/local/dir s3://mybucket; 
    

おめでとうございます!あなたのウェブサイトがホストされている:http://[BUCKETNAME].s3-website.[REGIONMAME].amazonaws.com

をあなたがしたい場合は、次の

  • は、別のドメインに

  • または/を、ウェブサイトをマッピングし、SSL

  • または/およびWAFとの統合を使用します。

  • または/など...

使用もAWS CloudFrontを

+0

ええ、私はこのことをよく知ってんだ..私は私の質問は、パフォーマンスの面で短所/長所に多くを関連されたと思います。あなたの答えをありがとう、私はそれを感謝します! – COOKIES

+3

あなたはこれら二つの言葉を聞くとき:AWS +静的なウェブサイトを、直感的に、あなたの脳は、AWS S3 + AWS CloudFrontを考える必要があります。私を信じて、あなたの努力とお金のために苦痛を与えないでください。静的なWebサイトのプロパティを有効にする場合、S3はインデックス&エラーページの適切な構成でまだ有効である(のような+ ReactRouterに反応) –

+2

でもSPAアプリケーション。 –

1

私はパーティーに遅刻してもS3を提案することができます。ここでは実際のパフォーマンスのいくつかの指標がある

S3 GET from bucket high traffic

あなたは、各時間かけて最初のバイトまでの平均時間は30〜60ミリ秒の範囲で見ることができるようにこれは、合理的に高い負荷

とS3の待ち時間を示すグラフです。

我々はまた、実際には平均レイテンシと総要求数との間には逆の関係があるように見えた、トラフィックの総量は、待ち時間に影響を与えなかったことがわかりました。私は、AWSで「ボンネットの下に」これは自動スケーリングによるものであったと仮定し、私が持っているhttp://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html

申し訳ありませんを参照してください、

AWSのドキュメントによると、静的なウェブサイトのセットアップのS3の一部は、毎秒800のGETリクエストのために良いですを終了これと比較するためのngnix統計情報はありません。私たちは、静的なウェブサイトのすべての「パフォーマンス」は、CDNによって提供されようとしているワークロード

関連する問題