Akamai CDNの動作フロー

本記事ではAkamai CDNを導入したWebサイトがどのようにしてコンテンツをエンドユーザまで届けるのか、エンドユーザからのリクエストを起点として動作フローを説明していきます。

まずCDNとは何か、Akamaiはどのような企業かを簡単に説明しますので、動作フローだけ知りたいという方は目次から「Akamai CDNの動作フロー」まで飛んでください。

CDNとは

CDNとはContent Delivery Networkの略です。通常、エンドユーザは直接Webサーバ(Akamai用語では「オリジンサーバ」という)にアクセスしてコンテンツを取得しますが、CDNを導入することで、エンドユーザは自身の地理的に近くに配置されているCDNサーバ(Akamai用語では「エッジサーバ」という)にコンテンツを取得する動作をします。

簡単にではありますが、CDNを導入することのメリットとデメリットを以下に記載します。

CDNを導入することによるメリット
・エッジサーバがオリジンサーバの代わりにコンテンツを提供するため、オリジンサーバの負荷を軽減させることが可能となる
・地理的に近くに配置されているエッジサーバからコンテンツを配信するためレスポンス速度が向上する
・世界各地に分散配置されたエッジサーバにより、DDoS攻撃を防ぐことが可能となる

CDNを導入することによるデメリット
・個人情報など意図していないコンテンツを配信してしまう
・古いコンテンツを配信してしまう
・エンドユーザのアクセスログが取得できない

ただ、意図していないコンテンツや古いコンテンツの配信は設定の不備により起こる事故ですので、専門の知識を持った方が構築することで防ぐことができます。また、AkamaiではLDSという機能を導入することによりエンドユーザのアクセスログを取得することが可能です。

Akamaiとは

Akamaiはアメリカに本社があるCDN事業の古参企業です。世界各地に35万台ものエッジサーバを配置しており、銀行や自動車メーカのトップ企業がAkamai製品を導入しております。私たちも知らず知らずのうちにAkamaiサービスを使用している可能性が高く、恐らく使用したことない人はいないのではと個人的には思います。

現在ではCDNサーバ群を利用して、オリジンサーバを保護するウェブセキュリティ事業にも参入しており、その他にゼロトラスト事業やクラウドコンピューティング事業にも参入しております。

Akamai CDNの動作フロー

まずは比較のためCDNを導入していない場合のコンテンツ取得動作フローを以下に示します。

1 エンドユーザはwww.hogehoge.comのIPアドレスを取得するために、PCに設定されているDNSキャッシュサーバに問い合わせを行います。

2 DNSキャッシュサーバはwww.hogehoge.comのIPアドレスをキャッシュしていれば、その情報をエンドユーザにレスポンスしますが、そうでない場合はwww.hogehoge.comのDNSコンテンツサーバに問い合わせを行います。

3 www.hogehoge.comのDNSコンテンツサーバはDNSキャッシュサーバにwww.hogehoge.comのIPアドレスをレスポンスします。

4 DNSキャッシュサーバはエンドユーザにwww.hogehoge.comのIPアドレスをレスポンスします。

5 エンドユーザはレスポンスされたIPアドレス宛にコンテンツをリクエストします。

6 リクエスト情報を基にオリジンサーバはエンドユーザにコンテンツをレスポンスします。

続いて、CDNを導入した場合のコンテンツ取得動作フローを以下に示します。

1 エンドユーザはwww.hogehoge.comのIPアドレスを取得するために、PCに設定されているDNSキャッシュサーバに問い合わせを行います。

2 DNSキャッシュサーバはwww.hogehoge.comのCNAME先をキャッシュしていれば、その情報を基にAkamaiクラウドのDNSコンテンツサーバに問い合わせを行いますが、そうでない場合はwww.hogehoge.comのDNSコンテンツサーバに問い合わせを行います。

3 www.hogehoge.comのDNSコンテンツサーバはDNSキャッシュサーバにwww.hogehoge.comのCNAME先をレスポンスします。

4 DNSキャッシュサーバはAkamaiクラウドのDNSコンテンツサーバに問い合わせを行います。

5 AkamaiクラウドのDNSコンテンツサーバはDNSキャッシュサーバにエッジサーバのIPアドレスをレスポンスします。

6 DNSキャッシュサーバはエンドユーザにwww.hogehoge.comのIPアドレスをレスポンスします。

7 エンドユーザはレスポンスされたIPアドレス宛にコンテンツをリクエストします。

8 エッジサーバはCDNの設定情報からコンテンツのキャッシュ状況やオリジンサーバ情報を確認し、オリジンサーバへのリクエストが必要だと判断した場合は、www.hogehoge.comのDNSコンテンツサーバに問い合わせを行います。

9 www.hogehoge.comのDNSコンテンツサーバはエッジサーバにwww.hogehoge.comのIPアドレスをレスポンスします。

10 エッジサーバはレスポンスされたIPアドレス宛にコンテンツをリクエストします。

11 リクエスト情報を基にオリジンサーバはエッジサーバにコンテンツをレスポンスします。

12 リクエスト情報を基にエッジサーバはオリジンサーバにコンテンツをレスポンスします。

コメント