11
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[AWS入門] CloudFrontって何してるの

Last updated at Posted at 2024-09-09

概要

「クラウドフロント?あー、なんかキャッシュするやつですよねw」

AWSをかじりたての私が何度も口にした言葉です。
業務で使用するうちに少し解像度が上がってきたので、忘れないようにメモしておきたいと思います。

AWS CloudFrontとは

CloudFrontはAWS上におけるCDN(Contests Delivery Network)サービスです。
サーバーなどの前面に配置して、コンテンツ(画像・HTMLなど)をキャッシュしておく役割があります。

例えば、CloudFront→S3といったようなインフラ構成の場合、CloudFrontにキャッシュがない場合はS3にコンテンツをとりにいきますが、キャッシュを保持している場合はCloudFrontがコンテンツを返却してくれます。
また、コンテンツがキャッシュされていない場合でも、今回返却されたコンテンツをキャッシュするので、次回のアクセス時にはキャッシュを利用することができます。

見出し.png

用語たち

CloudFrontを使用する上でよく聞く使用する用語たちです。

オリジン

CloudFrontの背面に待ち構えているサーバー(オリジンサーバー)のことです。
上記の例だと、S3がオリジンに当たります。
S3以外にも、ALB(Application Load Balancer)などのサービスを配置することができます。

エッジロケーション

CloudFrontを含むCDNサーバーは世界中に配置されています。
この世界中に配置されたサーバーをエッジサーバーと言いますが、CloudFrontの世界ではエッジロケーションと言います。
要するに、世界中にいっぱいあるCloudFrontのキャッシュ用サーバーがエッジロケーションです。

なぜCloudFrontを使用すると嬉しいのか

サーバーへの問い合わせがなくなる分、コンテンツが返却される速度が上がります。
それに伴い、同時にサーバーへの負荷を減らすこともできます。

また、レイテンシー(遅延)の問題を解決することもできます。
例えば、サービスを提供するサーバーが日本に設置されているとします。
この場合、日本からのアクセスと、アメリカからのアクセスではもちろんアメリカからのアクセスの方が時間がかかります(地理的に遠いので)。
このように、地理的に遠い場所からのアクセスではレイテンシーが大きくなってしまいます。

しかし、CloudFront含むCDNは、最寄りのエッジロケーションにキャッシュを取得しにいくため、地理的な要因によるレイテンシーの増大を阻止することができます。

見出し (2).png
※画像はイメージです

(おまけ)ファイヤーウォールとしての役割

CloudFrontはセキュリティ向上にも貢献します。
CloudFrontにはWAF(Web Application Firewall)を設定することができます。
WAFはOSI参照モデルのアプリケーション層で動作する機能で、リクエスト内容を検査した上で、特定の悪意がある(と思われる)通信をブロックします。
本記事では詳しくは触れませんが、基本設定ならクリック一つで設定できるような簡単なものです。

感想

インフラってイメージをつかむまでがなかなか難しいです...
「サーバー」と聞くと強いパソコンが1台存在しているような気がしてCDNやCloudFrontのイメージがつかめずにいましたが、世界中にいっぱいいるやつなんだと理解したらなんとなくイメージしやすくなりました。

参考

Amazon CloudFront の主な特徴
AWSの基本・仕組み・重要用語が全部わかる教科書

11
2
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
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?