CloudFrontとは

CloudFrontはいわゆるCDN。本体の前に配置することで、本体サーバーのコンテンツではなく、CloudFrontのキャッシュをユーザーに配信することができる。

初回のリクエストやキャッシュの有効期限(TTL)が切れたときはCloudFrontを介してオリジンサーバーへコンテンツを取りに行くが、以降はCloudFrontのキャッシュを返すため、迅速かつ大量のアクセスを捌くことが可能となる。

つまり、本体サーバーが倒れてもCloudFrontが生きていれば、Webサイトは配信しつづけることができるというわけだ。

キャッシュとは

ある領域から他の領域へ情報を転送する際、その転送遅延を極力隠蔽し転送効率を向上するために考案された記憶階層の実現手段

https://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%A3%E3%83%83%E3%82%B7%E3%83%A5_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0)

のことである。

Webサイトにおいては、下記の種類のキャッシュをよく耳にする。

  • CDN(ネットワーク規模のキャッシュ)
  • ブラウザキャッシュ(ユーザー規模のキャッシュ)
  • ページキャッシュ(バックエンドプログラムとデータベースの処理結果をキャッシュするページ単位のキャッシュ)

ほかにも、WordPress界隈だと、オブジェクトキャッシュ(データベースの接続を何度も行わない、関数で言えば wp_cache_add とかの WordPress Object Cache)などがある。

設定方法

少々脱線したが、設定方法について。

  1. CloudFrontディストリビューションの作成と設定
  2. CloudFrontから指定されるエンドポイントをDNSのCNAMEレコードに登録
  3. /wp-admin/*をキャッシュさせない

以上。

すごく簡単だし、しかもEC2からの転送料金とほとんど同じなので、AWSを使っている場合はぜひCloudFrontを使ってみてほしい。