Azure CDN を作成する

Content Delivery Network (CDN) では、Web サイトでの資産の配信時間を大幅に短縮できます。 しかし、Web サイトがすべて同じであるわけではないため、独自のデプロイで利点が得られるかどうかを判断できることが重要です。

膨大な数のビデオを公開するグローバルな研修事業の場合、Azure Blob Storage はビジネス モデルに最適です。 Azure Blob Storage では、シンプルな Web の公開も可能です。 しかし、会社の進出計画で単一の配布ポイントが過負荷状態になる場合があります。

このユニットでは、Azure CDN のしくみ、および静的な Web サイトのパフォーマンスを向上させるためのその作成方法を学習します。

CDN とは

CDN は、さまざまな地理的な場所で Web サイトのコンテンツをキャッシュする Web サーバーのネットワークです。 CDN は、ユーザーの大規模なクラスターの近くにあるポイント オブ プレゼンス (POP) の場所で Web サイト コンテンツをキャッシュして、待機時間を最小限に抑えるのに役立ちます。 CDN の使用は、サイトのユーザーに対して透過的です。

Web サイト ユーザーと、サイトをホストするサーバーの間の地理的な距離が、待機時間の大きな原因である場合があります。 次の 2 つの主な要因により、距離によって待機時間が発生します。

  • 1 つ目は、電気信号の転送速度には限りがあることです。 距離が長いと、送信されたメッセージがもう一方の側に到達するのにかかる時間が長くなります。
  • 2 つ目は、2 台のコンピューター間の接続距離が長いと、比較的多くのインターネット ルーターを通過する傾向があり、各 "ホップ" で待機時間が長くなることです。

CDN を使用してユーザーにより近いコンテンツをキャッシュすることで、転送の遅延とルーター ホップの数の両方が減少します。

CDN の有効化

サイトで CDN を有効にするプロセスは、使用する CDN プロバイダーによって異なりますが、通常は次の 3 つの手順が必要になります。

  1. CDN プロバイダーとサービス契約を結びます。 サービス契約は、Web ポータルを介して同意されます。
  2. CDN を構成します。
  3. CDN でキャッシュする必要がある資産で CDN URL を使用するように、サイトの実装を変更します。 加える必要がある変更は、サイトの実装によって大きく異なります。

CDN のしくみ

ユーザーがファイルまたは資産を要求すると、要求は最も近い POP にルーティングされます。

データが POP に存在する場合、そのデータが取得されます。

データが存在しない場合、POP ではそれを配信元サーバーに要求し、ユーザーにデータを返し、ローカル コピーを格納します。 その後、データの後続の要求は、POP に対してローカルとなります。

Azure で利用可能な CDN には次の 4 つの種類があります。

  • Standard Microsoft
  • Standard Akamai
  • Standard Verizon
  • Premium Verizon

種類は機能とキャッシュのオプションによって異なります。

このモジュールでは、 Standard Microsoft CDN に重点を置きます。 各種類の詳細については、「まとめ」ユニットの「参考資料」セクションを参照してください。

Azure CDN とは

Azure Content Delivery Network (CDN) は、Azure のコンテンツ配信ネットワークです。 コンテンツをキャッシュして格納するために使用されるサーバーの分散ネットワークです。 これらのサーバーは、待機時間を最小限に抑えるために、エンド ユーザーに近い場所にあります。

サーバーの場所はポイント オブ プレゼンス (POP) の場所と呼ばれます。 CDN では、これらの POP の場所の、 エッジ サーバー (つまり、ユーザーに近いサーバー) 上にキャッシュされたデータを格納します。

Microsoft Azure CDN の機能と利点

Microsoft Azure CDN で提供される機能は次のとおりです。

  • 動的サイト アクセラレーション - 静的ファイルの配信を高速化します
  • HTTPS カスタム ドメインのサポート - https://www.contoso.com などの、カスタム ドメインへの暗号化された接続を有効にします
  • Azure 診断ログ - コア分析情報を表示し、Azure Storage アカウント、Azure Event Hubs、または Log Analytics ワークスペースにデータを送信します
  • ファイル圧縮 - 転送中のバイト数を減らすことで、パフォーマンスを向上させます
  • geo フィルタリング - 選択された国のコンテンツへのアクセスを許可するかブロックするために特定のパスを使用する、CDN エンドポイントに対する規則を作成します

これらの機能の詳細については、「まとめ」ユニットの「参考資料」セクションを参照してください。

Microsoft Azure CDN を使用する利点は次のとおりです。

  • パフォーマンスが向上し、大きなファイルまたはストリーミングされたファイルでのユーザー エクスペリエンスがよりスムーズになります。
  • コンテンツの表示に複数のラウンド トリップを必要とする、アプリケーションでの結果が改善されます。
  • グローバルな発表イベントなど、特に負荷が急増した場合に、より大きくスケーリングできます。
  • 配信元サーバーへのトラフィックが減ります。

CDN の適合性の評価

通常、CDN は、多くの大きな静的ファイルを採用するテクノロジに最適です。 また、製品の発表時など、世界中の多くの同時ユーザーにファイルを提供する機能が必要な場合に役立つことがあります。 しかし、動的サイトでは、Azure の Standard Microsoft CDN による大きな利点は得られません。

CDN と Web サーバー

Azure CDN では、配信元サーバーとして、Azure の仮想マシンで実行されている Web サーバーがサポートされます。 Azure CDN を Azure Websites に接続することもできます。 これにより、サイトがグローバルに分散され、待機時間が短縮され、ユーザーの満足度が高まります。 CDN に Web サイトを接続し、ファイルを伝達すると、最終的に CDN のファイル構造が同じになります。

CDN を作成するには、Azure で新しい CDN を指定する必要があります。 そのため、配信元サーバーまたは BLOB ストレージ アカウントをポイントするエンドポイントを構成します。 Azure では、CDN のパスと配信元サーバーの URL 用の一意の名前が必要です。 次のユニットの演習でこの手順について説明します。

サーバーレス アプリと Web アプリを使用する CDN

Azure のサーバーレス Web アプリでは、サーバーのデプロイ、構成、管理は必要ありません。 このモデルには、以下のコンポーネントが含まれています。

  • BLOB ストレージ - 静的な Web ファイル (HTML、CSS、および JavaScript) は、静的な Web サイトのホスティングを実装する、Azure Blob Storage に格納されます。 動的なやり取りはすべて、バックエンド API への JavaScript 呼び出しを通じて行われます。 したがって、Web ページをレンダリングするサーバー側のコードはありません。
  • Function App - イベント ドリブン モデルでトリガー (イベント) を使用して、関数 (コードの一部) を呼び出します。 サーバーレス アプリでは、トリガーが HTTP GET 要求である場合があります。
  • API Management - クライアント関数で使用される API を公開して管理する、API ゲートウェイを提供します。 ゲートウェイは、API からフロントエンド アプリケーションを分離するのにも役立ちます。 API Management では URL を変換し、フロント エンドとバック エンド間でのデータ要求に変換を適用し、応答ヘッダーを構成できます。

Azure CDN ではサーバーレス Web アプリのコンテンツをキャッシュします。これにより、待機時間が短縮され、ユーザーへのコンテンツ配信が高速化されます。 また、CDN では、暗号化された HTTPS 接続用のエンドポイントを提供できます。 Azure CDN では、Azure Web Apps の場合と同様の対話が提供されます。

CDN コンポーネント

ここで、CDN のしくみをさらに詳しく見てみましょう。 概念には、CDN プロファイルおよび CDN エンドポイントという 2 つがあります。 このセクションでは、POP の伝達時間についても説明します。

CDN プロファイル

CDN プロファイルは、1 つまたは複数の CDN エンドポイントのコンテナーです。 各 CDN エンドポイントでは価格レベルを指定し、POP でキャッシュされたコンテンツへのリンクを提供します。

プロファイルを作成するときに、CDN エンドポイントを作成するように指定できます。エンドポイントは後で作成することもできます。 プロファイルを作成するときに、価格レベルの指定方法に注意してください。

CDN エンドポイント

エンドポイントを作成するときに、確実にエンドポイントの種類を配信元ソースと正確に一致させる必要があります。 たとえば、Azure の静的な Web サイトでは、エンドポイントを "カスタムの配信元" に設定する必要があります。 ストレージ アカウントでは、そのアカウントに一致する CDN を作成できます。

Azure CDN へのストレージ アカウントの統合について詳しくは、「まとめ」ユニットの「参考資料」セクションを参照してください。

POP の伝達時間

POP 間の伝達時間は、使用する CDN プロファイルと価格レベルに応じて異なります。

  • Azure CDN Microsoft Standard プロファイルは、通常、10 分で伝達されます
  • Azure CDN Verizon Standard および Azure CDN Verizon Premium プロファイルの場合は、通常、10 分で完了します
  • Azure CDN Akamai Standard プロファイルは、通常、1 分で伝達されます