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”以下になりました。