カテゴリー
2020年 AWS AWS Solutions Architect - Associate CDN キャッシュ クラウド コンピューター 技術一般 認定資格

AWS を学ぶ(18)CloudFront を使ってみる

この記事は、日本語で作成し、機械翻訳で外国語に訳しています。

AWS を学んでみる(8)CloudFront ってなんだろうで、CloudFront について調べてみましたが、今回は、CloudFront を実際に使ってみました。

今回の動作確認では、以下のようなイメージで、構成を作ってみます。

(1) の部分が、Web サーバーと ELB、(2) の部分が CloudFront です。

CloudFront を使ってみる

事前準備

まず、(1) の部分を作っていきます。

VPC やサブネットについては、AWS を学ぶ(1)VPC を理解するAWS を学ぶ(2)VPC を作ってみようで説明しています。

EC2 でのインスタンスの起動については、AWS を学ぶ(4)EC2 を理解するAWS を学ぶ(6)EC2 を使ってみようで説明しています。

EC2 上に、Web サーバーを起動させます。インターネットからアクセスできるように、パブリックサブネットに起動させて下さい。

Web サーバーのグローバルアドレスを確認し、ブラウザーに入力して下さい。

Web サーバーのコンテンツが表示されましたね。

次に、ELB を起動させます。

ELB の起動と設定については、AWS を学んでみる(9)ELB を使ってみようで説明しています。

今回は ALB を使ってみます。ターゲットを、ES2 上の Web サーバーで指定しておきます。

ターゲットのステータスが Healthy になりました。

ELB のDNS 名を確認し、それをブラウザーに入力してアクセスします。

Web サーバーのコンテンツが表示されましたね。ELB 経由で Web サーバーへのアクセスも成功です。

CloudFront の起動と設定

AWS 管理コンソールの検索テキストボックスに CloudFront と入力し、CloudFront を選択します。

CloudFront の管理コンソールが表示されます。

「Create Distribution」をクリックします。

今回試したいのは、Web サーバーのコンテンツキャッシュです。上の「Web」の方の「Get Started」をクリックします。

Create Distribution の画面が表示されます。

Origin Settings の中の「Origin Distribution Name」のテキストボックスをクリックし、プルダウンメニューを表示させます。

その中に、先ほどの事前準備で作成した ELB が表示されていますので、それを選択します。

これ以外の設定は、今回は特に変更しません。

画面下部の「Create Distribution」をクリックします。

CloudFront Distributions の画面に戻ります。

Statusのところが、「In Progress」になっているはずです。導入が完了するまでに、10 分くらいかかります。

Status が「Deployed」になりました。これで CloudFront の導入が完了です。

導入が完了した Distribution の「ID」をクリックして、詳細を表示させます。

「Domain Name」の箇所に表示されているのが、CloudFront を使う時のアクセス先になります。

CloudFront のドメイン名を、ブラウザーに入力してアクセスしてみます。

Web サーバーやELB経由の時と同じコンテンツが表示されましたね。

この教材を使って勉強してます。

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト【電子書籍】[ 佐々木 拓郎 ]価格:2,618円
(2020/8/30 16:09時点)
感想(0件)

カテゴリー
2020年 AWS AWS Solutions Architect - Associate クラウド コンピューター 技術一般 認定資格

AWSを学ぶ(8)CloudFront って何だろう

Amazon CloudFront とは

Amazon CloudFront(以下CloudFront)は、HTMLファイル、CSS、画像、動画といった静的コンテンツやストリーミングといった動的コンテンツをキャッシュし、オリジンサーバー(本来のアクセス先)の代わりに配信する、AWSのCDNサービスです。

CloudFrotでは、エッジローケーションと呼ばれるデータセンターを通じてコンテンツ配信が行われます。世界中に120を超えるエッジローケーションがあり、CloudFront を使うと、ユーザーから最も近いエッジローケーションからコンテンツを配信できます。

例えば、日本のユーザーが北米にあるサーバーにアクセスすることを考えてみましょう。

CloudFront を使わない場合、エンドユーザーは、オリジンサーバーとなる北米にあるサーバーにアクセスすることになります。距離遅延としては、180ミリ秒くらいありレスポンスが非常に遅いです。

CloudFront を使う場合、エンドユーザーは最寄りの CloudFront に接続できます。日本のユーザーは日本にある CloudFront にアクセスができるため、距離遅延を非常に小さく抑えられます。

※ 実際の距離遅延は、利用している回線や利用状況によっても変動します。

CoudFront ですが、代表的なところですと、以下のようなサービスで利用されています。

Amazon Prime Video

  • NFLのサーズデーナイトフットボールを、世界200カ国以上でスムーズに配信するためにCloudFrontを利用
  • 遅延の少ないライブ映像を提供することができるため、ユーザーに最新の試合の様子を迫力のある状態で提供

Hulu

  • CloudFrontをはじめとしたAWSのインフラストラクチャーで、定額制動画配信サービスライブ映像を配信
  • 急に視聴者が増えてトラフィック量が増大したとしても、スムーズにサービスを提供が可能

CloudFront の構成

CloudFront には、以下の構成要素があります。

1. バックエンド
  • オリジンサーバーのことを言います。
  • オリジンサーバーとして、ELB、 EC2、 S3、 オンプレのサーバーを指定できます。
  • URLのパスに応じて、異なるオリジンサーバーを指定することも可能となります。
  • これにより、1つのドメインで複数のサービスを提供することも可能となります。
2. エッジサーバー
  • CloudFront のことを言います。
3. キャッシュ
  • ユーザーからリクエストを受けたエッジサーバーは、要求されたファイルが自分の中にキャッシュとしてあるかを確認します。
  • キャッシュとしてない場合、オリジンサーバからファイルを取得し、それをキャッシュとして保持します。
4. キャッシュルール
  • 拡張子やURLパス毎に、キャッシュ期間を指定するとこが可能となります。
  • デフォルトでは24時間キャッシュが保持されます。

具合的に何ができるのか?

CloudFront を利用すると、オリジンサーバーの代わりに、ユーザーに対してレスポンスを返すことができます。これにより、以下のメリットがあります。

ユーザーへのコンテンツ配信
  • 静的ファイルや動的ファイルを、ユーザーに最も近いサーバーから配信できる。
ストリーミングの配信
  • 動画や音声といったストリーミングデータの配信を、ユーザーから最も近いサーバーから行える。
  • Adobe MEdia Serverなど複数の製品に対応している。
CDNデータキャッシュ
  • 初回のアクセスの際に、オリジンサーバから取得したコンテンツをキャッシュする。
  • 次回以降は、キャッシュの期限が切れるまで、キャッシュしたコンテンツを配信する。
エッジセキュリティー
  • AWSのさまざまな組み込み保護機能を利用可能となり、ネットワークレベル、アプリケーションレベルの両方でのセキュリティーが提供される。
  • オリジンサーバーを、DDOS攻撃から守ることができる。
レポーティング
  • キャッシュが使われた割合やエラー率といった統計情報を、レポートとして参照できる。

CloudFront を利用することにより、以下の4つの課題を解決できます。

・サーバーの負荷

画像や動画など、ファイルサイズが大きいコンテンツへのアクセスの度にオリジンサーバーへアクセスさせると、サーバーの負荷が高くなりますが、CloudFront を使うことで、その負荷を減らすこともできます。

・ネットワーク遅延の低減

サーバーを日本国内に設置してサービスを提供したとして、海外からのアクセスが多い場合、距離遅延の値が大きくなります。CloudFront を使ってユーザーに近いところから配信すれば、その遅延を低減できます。

・コストの削減

初期費用は無料で始められ、「リクエスト数+送信量」での従量課金となります。新規ユーザーは12ヶ月間、500GB のデータ送信と2,000,000回のHTTP/HTTPS リクエストが無料になります。

・可用性の向上

予想外のアクセスがあっても、オリジンサーバーの高負荷やサーバーダウンによるサービスの影響を避けられます。

ディストリビューション

ディストリビューションは、CloudFront による配信の方式です。方式としては2つあります。

1. ダウンロードディストリビューション
  • 静的なコンテンツ向け
  • HTTP/HTTPSを利用して、HTML、CSS、画像などのデータを配信
2. ストリーミングディストリビューション
  • 動的なコンテンツ向け
  • HLS(Apple HTTP Live Streaming)や RTMP(Real Time Messaging Protocol)を利用して、動画のストリーミングを配信

この教材を使って勉強してます。

AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト【電子書籍】[ 佐々木 拓郎 ]

価格:2,618円
(2020/8/12 12:20時点)
感想(0件)