平日は仕事なのでブログ用のネタがない。
特にイベントが発生しない日はその日に学んだ内容をブログとして振り返るようにする。
第一章 CDN とは?
インフラ要件を詰めるときに議題に上がったCDN。なんだそれ。
「CDNをどこに設置する?」「そもそも今回の環境はCDNは必要なの?」
インフラ要件を定義するとき、わっけのわからん英語が飛び交う。こればっかりはインフラエンジニアを隣にいてもらわないとまったくわからん。説明もできん。持ち帰り確認します、しか発言できん。
CDNっていうのは、簡単にいうと大元のサーバにアクセスが集中するのを分散してくれる役割があるとっても便利な機能で、今回の案件では必須の機能である。
大元のサーバ(オリジンサーバ)とユーザからのアクセスの間に設置するようだ。
※以下の画像参照

画像のようなイメージで設置することでオリジンサーバの負荷を軽減してくれる。
他にもアクセスに対して、表示速度を加速する役割もある。なぜなら、一回アクセスされたCDNは、キャッシュといってコンテンツを一時保存し、もっとも近いユーザーに配信することで通信の遅延を防ぐことができる。
わかりやすい説明引用
- 通常、ユーザーがWebサイトにアクセスすると、オリジンサーバーに直接リクエストが送信されます。
- ユーザーとオリジンサーバーの物理的な距離が遠い場合、データ転送に時間がかかります。
- CDNは、世界各地に設置された「キャッシュサーバー」に、Webサイトのコンテンツのコピーを保存します。
- ユーザーからのアクセスリクエストは、最も地理的に近い、あるいはネットワーク的に近いキャッシュサーバーが受け付け、そこからコンテンツを配信します。
- これにより、ユーザーは遠くのオリジンサーバーにアクセスする必要がなくなり、コンテンツの表示が高速化されます
めっちゃいいやん。すぐに設置したら済む話やん。
ただ、メリットだけじゃなかった。ディズニーピクサーみたいな顔して笑いながら作業しているインフラオタクのエンジニアにデメリットも熱弁された。
アクセスがあったWebサイトのコンテンツをコピーするので静的ページしか効果発揮できない。
CMSやフォームのように動的で日々更新されるページはすぐに反映されない。または、フォームに関しては他のユーザー情報が誤って表示されるケースもある。
なんだそれ、あかんやん、、、
だから、キャッシュのTTL(有効期限)を短くするか、動的ページはキャッシュ除外する設定が必要だそう。ってことはこれから動的ページの洗い出し作業が発生する。
