Webサイトを高速化する Azure CDN とは?

Azure CDN (Content Delivery Network)とは、インターネットを通じて、オリジンサーバーのキャッシュを保持する事で、サーバーの負荷を軽減すると共に、ユーザーからネットワーク的に近いPOP(Point of Presence)から配信する事で、素早くコンテンツを届ける事ができるのです。
また、オリジンサーバーのピーク時対策、可用性の向上が見込めます。

特徴は、各種Azureサービスとの連携が行い易い事と、CDNを三社/四種類から選択できる点にあります。

接続の流れを見てみましょう!

①ユーザーからPOPにコンテンツを要求
②POPにキャッシュが無い場合、POPからオリジンサーバーに接続
③オリジンサーバーからのコンテンツデータをPOPにキャッシュ
※POPは、リバースプロキシとして動作する。
④POPからユーザーにコンテンツを回答

コストと機能比較

Azure CDNで利用できるCDNは、三社/四種類あります。
Standard:Microsoft(プレビュー) / Akamai / Verizon
Premium:Verizon
※料金は送信データ転送のみ、Standardは三社同一価格。PremiumはStandardの2倍の価格
※DSA(Dynamic Site Accelerator)は別料金体系

選定ポイントは、2つ
・必要な機能を利用できるか? ※Azure CDN 機能比較
・ユーザーの近くにPOPが配置されているか? ※Azure CDN POP比較

【個人的所感】
Microsoft:静的サイト向けの印象。POP数が多い。証明書対応。
Akamai:動的サイト/ストリーミングに強い印象。カスタムドメインHTTPS非対応。
Verizon:分析・レポート専用のコンソールがある。アセットの事前ロードが可能。


それでは、やってみよう!!

[+新規]ー[Web]ー[CDN]を選択

名前:表示名
サブスクリプション:Azure購入プラン
リソースグループ:グループ名(複数のリソースを1つにグループ化する機能)
リソースグループの場所:CDNプロファイルの場所を指定
※この場所から配信される訳ではない
価格レベル: ※ここは、機能で選択すること
[Premium Verizon / Standard Verizon / Standard Akamai / Standard Microsoft]
今すぐ新しいCDNエンドポイントを作成する:※後で作成可能

作成したCDNプロファイルを選択ー[エンドポイント]を選択

名前:ユーザーの接続先URL”xxx.azureedge.net”
配信元の種類 ※配信元ホストを選択
ーストレージ:Blobストレージ
ークラウドサービス:App Service Environment
ーWebアプリ:Web App
ーカスタム配信元:サーバーのホスト名 or IPを入力
配信元のホスト名:上記に合った、サーバーを選択
配信元のパス:コンテンツのパスを入力
配信元のホストヘッダー:※自動入力される
プロトコル:※ユーザー~POP~オリジンサーバー間で統一する必要がある
最適化の対象 ※配信内容に応じたものを選択
ー一般的なWeb配信
ー一般的なメディアストリーミング
ーVOD(ビデオ オン デマンド)のメディアストリーミング
ー大きなファイルのダウンロード
ー動的サイトの高速化

これにて、CDNの基本的な設定は完了です。
”xxx.azureedge.net”に接続すると”配信元”に指定したコンテンツが表示されます。


ここからは、エンドポイントの設定をみていきます。

作成したエンドポイントを選択

[配信元] ※配信元の変更が可能

[カスタムドメイン] ※事前にCNAMEの登録が必要

[圧縮] ※Microsoft

※Akamai / Verizon の場合、個別に設定ができる。

[キャッシュ規則]

デフォルト・キャッシュ期間
Microsoft:一般的なWeb配信(2日)
Verizon:一般的なWeb配信(7日) / 動的サイトの高速化(なし)
Akamai:一般的(7日) / 動的サイト(なし) / 大きなファイル(1日) / メディア・VOD(1年)

※Akamai / Verizon の場合、キャッシュさせる箇所や保持日数を設定できる。

[geoフィルタリング]

※Akamai / Verizon の場合、パス単位で[許可or拒否]を設定できる。

[最適化] ※画像はAkamai
※Microsoft:一般的なWeb配信 のみ
※Verizon:一般的なWeb配信 / 動的サイトの高速化 のみ


おまけ

Central US のWebサーバーに対して、Japan East と Central US から、それぞれWeb表示を行い、速度を測ってみました。

やはり、Japan East からのWeb表示に時間がかかっているのがわかります。

それでは、CDNを導入してみましょう。
すると、どうでしょう! Japan EastからのWeb表示がおおよそ”200ms”以下になりました。