11
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Amazon CloudFront 概要

Posted at

業務で少し触れるため、学習目的にCloud Frontの概要をまとめる。

Cloud Frontとは

  • ユーザーへ静的/動的ウェブコンテンツを配信するEdge サービス

  • Edge Services

    • AWSのEdgeロケーションから提供されるサービス群(CloudFront,Route 53,...)
    • サービスへのアクセスを、ユーザーに近い場所から提供

EdgeServices.png

CloudFront利用の背景

インターネット経由アクセスにおけるネットワーク遅延

  • 物理的、ネットワーク的な距離に応じて、ネットワーク遅延が発生(オリジンサーバーが遠いと、応答に時間がかかる)

ネットワーク遅延への対応

  • ネットワーク遅延に対応するために、不要なトラフィックをオリジンサーバーに到達させない仕組みが必要
  • Webコンテンツには、変化の少ない静的なデータが含まれる。それらを何度も取得させず、ネットワーク帯域・リソースの消費を削減

CloudFrontによるContents Delivery Network(CDN)

  • Contents Delivery Networkとは
    • 地理的に分散したエッジサーバー群からコンテンツをキャッシュしたり代理配信をするサービス

CDNの利点

  • ユーザーを近いエッジロケーションに誘導することで、コンテンツ配信を高速化可能
  • エッジサーバーでコンテンツをキャッシュし、オリジンサーバーの負荷を軽減
    CDN.png

よくある構成

CDN導入.png

CroudFront 設定

  1. オリジンサーバー設定
  2. オリジンサーバーにコンテンツデプロイ
  3. CloudFrontディストリビューションを作成
  4. CloudFrontがドメイン名を割り当て
  5. ディストリビューション構成をエッジロケーションに送信
CloudFrontディストリビューション
  • ドメインごとのCloudFront設定
    • デフォルトでは「 xxxx.cloudfront.net 」が ディストリビューション のドメイン名とし
      て割り当てられる
      • CNAME エイリアスを利用して別ドメイン名の指定可能
  • AWSコンソールもしくはAPIで作成
  • 対応プロトコル:HTTP/1.0,HTTP/1.1,HTTP/2,WebSocket

キャッシュコントロール

  • URLと有効化したフォーワードオプションのパラメータの完全一致でキャッシュを再利用
    • 対応メソッド:GET / HEAD / OPTION
    • URLパス別にキャッシュ期間を指定可能であるなどきめ細かい設定が可能

よくあるエラーページ設定構成

  • クライアント要求エラーはオリジンサーバーから返却
  • オリジン側エラー(障害時など)は、CloudFrontから返却

CDN_500Error.png

オリジンフェイルオーバー

  • オリジングループを作成し、プライマリオ
    リジン・セカンダリオリジンを指定
  • オリジンがフェイルオーバー用に設定した
    HTTP ステータスコードを返却した場合や接
    続タイムアウトした場合に別オ
    リジンにルーティング

参考

11
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?