【printf!】 IT系若手エンジニアのブログです
MENU
AWS

AWS CloudFrontとは?【AWS認定試験 SAA/DVA/CLF対策】

CloudFrontとは
Kei

本ページでは、AWSのCDNサービスであるAWS CloudFrontについて、初心者向けにその特徴や用途を紹介します!

私自身が「初めて勉強したとき、これを知りたかった!」と感じた内容を中心にまとめていますので、ぜひ最後までご覧ください!

スマトラ
スマトラ
AWS認定試験対策メモ

AWS 認定クラウドプラクティショナー
(AWS Certified Cloud Practitioner, CLF)

AWS 認定ソリューションアーキテクト アソシエイト
(AWS Certified Solutions Architect – Associate, SAA)

AWS 認定デベロッパー アソシエイト
(AWS Certified Developer – Associate, DVA)

CloudFrontの概要

AWS CloudFront(クラウドフロント)は、AWSが提供するCDN(Contents Delivery Network、コンテンツ配信ネットワーク)サービスです。

CloudFrontについて、先にざっくり言ってしまうと…

CloudFrontとは

Webサイトの画像や動画などを、世界中のユーザーに速く・安定して
配信するためのCDNサービス

となっています!

この説明から察した方がいらっしゃるかもしれませんが、速さ・安定性を気にしなければ、CloudFront無しでもシステムとして一応成り立つことが多いです。ただし、特に下記のような場合には、ほぼ必須なサービスとなります。

  • 世界中にユーザーがいて、みんなに速く配信する必要がある
  • 動画のような重たいデータを配信する必要がある

ユーザー目線で、配信が速くなると嬉しいのはもちろんですが、サービス提供者目線でも嬉しいことがあります。それは、大元のサーバー(オリジンサーバー)とユーザーの間にCloudFrontが挟まることで、オリジンサーバーの負荷が低減し、より安定した配信を実現できることです

アイコン

こちらが、アーキテクチャ図で用いられるCloudFrontのアイコンです。
外側の丸は地球を表しており、その中の小さい丸は配信のための各拠点を表しているのだと思います。

各拠点が結ばれてネットワークを形成し、これによって世界中に速く配信する」というCloudFrontの仕組みを表しているんですね。この仕組みについては、以下でもう少し詳しく解説します。

CloudFrontの仕組み

AWSでは、世界中に210か所以上に、配信を高速化するための地方拠点(エッジロケーションと呼びます)があります。このエッジロケーションに配信用のデータを一時的に溜めておき、そこから各ユーザーに配信します。これによって、大元のオリジンサーバーからの配信回数が減り、負荷低減に繋がります。

スマトラ
スマトラ

CloudFrontに限らず、「よく使うデータを一時的に溜めておいて、次に備える」ことを「キャッシュする」と言います!

また、エッジロケーションが世界中にあるというのがポイントとなっています。もしオリジンサーバーが日本にあるけど、アメリカにデータを配信したい場合、アメリカの一番近くのエッジロケーションから配信します。このような仕組みによって通信時間が削減され、世界中どこにでも素早い配信が可能になります

このように、世界中の拠点をネットワークで繋ぎ、配信を高速化する仕組みが、CDN(Contents Delivery Network、コンテンツ配信ネットワーク)です。

CloudFrontのメリット

世界中への配信を高速化

上で解説したように、世界中にあるエッジロケーションから配信することで、配信を高速化しています。特に恩恵が大きいのは、動画のようなサイズ量の大きいコンテンツを配信する場合です。

スマトラ
スマトラ

例えばYouTubeも、CDNを使うことで動画を素早く配信しているんですよ。
ただし、YoutubeはGoogleのサービスなので、AWS (Amazon)の CloudFrontを使っている訳ではなく、Google独自のCDNを使っています。

YouTube

オリジンサーバーの負荷低減により、コストを削減

CloudFrontを挟むことによってオリジンサーバーの負荷低減になることは上でも説明しましたが、これによって安定性向上に繋がることはもちろん、オリジンサーバーを動作させる回数が減るので、結果的にコスト削減が期待できます

AWSには、使った分だけお金がかかる従量制のサービスが多いです。CloudFrontとよく組み合わされるサービスの代表例であるAPI GatewayやLambdaも従量制であり、CloudFrontの導入によってコスト削減が期待できます。この組み合わせは下でもう少し具体的に説明します!

ただし、CloudFrontの利用自体にもお金がかかるため、「CloudFrontを導入することで必ずコストが安くなる」という訳ではない点に注意してください。

CloudFrontのデメリット(注意点)

キャッシュの必要性を考慮した上で、設計が必要

どんなデータでもCloudFrontにキャッシュする(溜めこむ)のが良いかと言われると、そうではありません。場合によっては古いデータがキャッシュされてしまい、ユーザーに新しいデータが届かなくなるといった不具合にも繋がります

CloudFrontでは、データごとに「キャッシュする/しない」あるいは「キャッシュを保持する時間」を設定することができます。使いこなすには、この設定を上手に行うことが欠かせません。

代表的な使い方

AWSの他サービスと組み合わせた具体例を、下記で紹介します。

API Gatewayと組み合わせて、APIレスポンスを高速化

API GatewayとLambdaによるサーバーレスアーキテクチャの例です。高速化が期待できるのはもちろんですが、API GatewayもLambdaも使った分だけお金がかかる従量制ですので、コスト削減も期待できます。

API GatewayやLambdaについては、ぜひこちらも参考にしてください。

AWS API Gatewayとは?【AWS認定試験 SAA/DVA/CLF対策】
AWS API Gatewayとは?【AWS認定試験 SAA/DVA/CLF対策】
AWS Lambdaとは?【AWS認定試験 SAA/DVA/CLF対策】
AWS Lambdaとは?【AWS認定試験 SAA/DVA/CLF対策】

S3からの静的コンテンツの配信

「いつ、誰に対しても表示する内容が同じコンテンツ」のことを静的コンテンツと呼びます。この静的コンテンツこそ、CloudFrontと相性の良いデータです。

スマトラ
スマトラ

いつも同じデータを配信するから、キャッシュしておくと効率良く配信できますよね。
逆に、ユーザーやタイミングごとなどに内容が変わるデータを動的コンテンツと呼び、これはCloudFrontと相性が良くないです。

静的コンテンツの代表的な置場がS3であり、S3と組み合わされることも多いです。S3については、ぜひこちらも参考にしてください。

AWS S3とは?【AWS認定試験 SAA/DVA/CLF対策】
AWS S3とは?【AWS認定試験 SAA/DVA/CLF対策】

まとめ

ここまで、AWS CloudFrontの概要や代表的な使い方についてまとめました。

CloudFrontは、Webサイトの画像や動画などを、世界中のユーザーに速く・安定して配信するためのCDNサービスです。キャッシュの設定に気を付ける必要はありつつも、導入することでたくさんメリットを得られるサービスです。様々なシステムのアーキテクチャ図にも非常によく出てきます。

静的コンテンツをよく配信するサービスの場合は、ぜひ導入を検討してみてください!

ABOUT ME
スマトラ
スマトラ
IT系若手エンジニア
大手メーカーでクラウドアプリを開発しているエンジニア。
訳あって今はIT系だが、学生時代は航空宇宙工学を専攻で、電気回路設計や組み込み開発も経験あり。 自分の人生を人生ゲームだと思って、前向きに頑張る毎日を送る。
このブログでは、自身が勉強したこと、やったこと、考えたことなどを備忘録も兼ねて書いています。
記事URLをコピーしました