Azure CDN のプロファイルとエンドポイント
Blob Storage をオリジンとする Azure CDN エンドポイントを作成し、キャッシュ ルールとクエリ文字列の動作を構成して、必要に応じてキャッシュされたコンテンツを消去します。
「Azure CDN のプロファイルとエンドポイント」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
コンテンツ配信ネットワークとは
コンテンツ配信ネットワーク (CDN)は、エンド ユーザーの近くにある地理的なポイント オブ プレゼンス (PoP)に配置された、分散サーバー ネットワークです。ユーザーがコンテンツを要求すると、CDN はオリジン サーバーではなく、最寄りの PoP のキャッシュからコンテンツを配信します。これにより、特にオリジン リージョンから遠いユーザーの待機時間が短縮され、オリジン サーバーの負荷が軽減され、回復性が向上します。Azure CDN は、Blob Storage、App Service、およびパブリックに到達可能な HTTP オリジンとネイティブに統合できます。
Azure CDN プロバイダー
Azure CDN は、複数のプロバイダー階層を通じて提供されます。Azure CDN Standard from Microsoft — 既定の、緊密に統合されたオプションで、基本的なキャッシュ ルールと HTTP/2 をサポートします。Azure CDN Standard from Akamai — 世界中の幅広い PoP をカバーし、高速に反映されます。Azure CDN Standard/Premium from Verizon — 高度なルール エンジンと分析機能を備えています(Premium 階層)。プロバイダーごとに機能セットと料金が異なります。ほとんどの AZ-900 シナリオでは、Azure CDN Standard from Microsoft が中心となります。
CDN プロファイルとエンドポイント
Azure CDN プロファイルは、CDN エンドポイントをグループ化し、プロバイダーと価格レベルを決定する最上位のコンテナーです。CDN エンドポイントは、オリジンにマッピングされる特定のホスト名(例:myapp.azureedge.net)です。各エンドポイントには、独自のキャッシュ動作構成があります。1 つのプロファイルに複数のエンドポイントを含めることができます。たとえば、静的アセット、API 応答、動画ストリーム用にエンドポイントを分け、それぞれに異なるキャッシュ ルールを設定できます。
# Create a CDN profile and endpoint
az cdn profile create \
--name myCdnProfile \
--resource-group myRG \
--sku Standard_Microsoft
az cdn endpoint create \
--name myEndpoint \
--profile-name myCdnProfile \
--resource-group myRG \
--origin myapp.azurewebsites.net \
--origin-host-header myapp.azurewebsites.netキャッシュ ルールと TTL
Time-to-Live (TTL)は、キャッシュされた応答がオリジンから更新されるまで PoP に保持される期間を制御します。キャッシュ ルールは 3 つのレベルで設定できます。グローバル キャッシュ ルール(エンドポイント上のすべての要求に適用)、カスタム ルール(パス パターンまたはファイル拡張子に基づいて一致)、およびクエリ文字列の動作(一意のクエリ文字列ごとに個別にキャッシュするか、クエリ文字列を無視)です。コンテンツ タイプに基づく TTL(画像は長く、HTML は短くするなど)はベスト プラクティスです。
# Set a global caching rule to cache all content for 7 days
az cdn endpoint update \
--name myEndpoint \
--profile-name myCdnProfile \
--resource-group myRG \
--query-string-caching-behavior IgnoreQueryStringCDN オリジンとしての Blob Storage
Azure CDN で最も一般的な構成の 1 つは、Blob Storage コンテナーをオリジンとして使用する構成です。ストレージ アカウントに静的アセット(画像、CSS、JS、動画)をアップロードし、コンテナーをパブリック読み取り可能にして、BLOB のプライマリ エンドポイント(myaccount.blob.core.windows.net)を指す CDN エンドポイントを構成します。CDN は世界中の PoP に BLOB をキャッシュするため、ユーザーはストレージ リージョンではなく最寄りの PoP からダウンロードできます。静的 Web サイト ホスティングには、カスタム オリジン ホスト名も使用できます。
# Create CDN endpoint pointing to Blob Storage static website
az cdn endpoint create \
--name myStaticSite \
--profile-name myCdnProfile \
--resource-group myRG \
--origin myaccount.blob.core.windows.net \
--origin-host-header myaccount.blob.core.windows.net \
--is-http-allowed false \
--is-https-allowed trueキャッシュのパージ
オリジンのコンテンツを更新すると(たとえば、JavaScript ファイルの新しいバージョンをデプロイした場合)、PoP にキャッシュされたコピーは TTL の期限が切れるまで古いコンテンツを配信することがあります。キャッシュのパージを実行すると、指定したファイル、またはすべてのキャッシュ済みコンテンツが各 PoP から直ちに削除され、次のリクエストでオリジンから再取得されます。特定の URL、ワイルドカードパス(例: /assets/*)、またはエンドポイント上のすべてのコンテンツをパージできます。パージの反映には、世界中のすべての PoP に到達するまで 2~3 分かかります。
# Purge specific files from the CDN cache
az cdn endpoint purge \
--name myEndpoint \
--profile-name myCdnProfile \
--resource-group myRG \
--content-paths '/index.html' '/js/app.js' '/css/style.css'CDN と HTTPS のカスタムドメイン
既定では、CDN エンドポイントは .azureedge.net ドメインを使用します。独自のドメイン(例: static.contoso.com)からコンテンツを配信するには、エンドポイントのホスト名を指す CNAME レコードを作成し、そのドメインを CDN エンドポイントのカスタムドメインとして追加します。追加後は、Azure 管理証明書(無料で自動更新)または Key Vault に保存した独自の証明書を使用して、カスタムドメインでHTTPSを有効にできます。HTTPS の強制を有効にすると、HTTP トラフィックは自動的にリダイレクトされます。
# Add a custom domain and enable HTTPS with managed cert
az cdn custom-domain create \
--name myCustomDomain \
--hostname 'static.contoso.com' \
--endpoint-name myEndpoint \
--profile-name myCdnProfile \
--resource-group myRG
az cdn custom-domain enable-https \
--name myCustomDomain \
--endpoint-name myEndpoint \
--profile-name myCdnProfile \
--resource-group myRGパフォーマンス向上のための圧縮
CDN エンドポイントでファイル圧縮を有効にすると、テキストベースのアセット(HTML、CSS、JavaScript、SVG)が gzip または Brotli で圧縮され、ネットワーク経由で配信されるファイルサイズが小さくなります。CDN は PoP にキャッシュする前にコンテンツを圧縮するため、同じアセットに対する以降のリクエストでは、追加の CPU 負荷なしに圧縮済みのバージョンが返されます。圧縮は、圧縮後にサイズが 5~10 分の 1 になることもある JS バンドルで特に大きな効果があります。
地理フィルタリング
CDN エンドポイントの地理フィルタリングを使用すると、特定の国からのコンテンツへのアクセスを許可またはブロックできます。これは、コンテンツのライセンス要件への準拠(例: 特定の国でのみライセンスされている動画)、規制要件への対応、または悪意のあるトラフィックの発生源となることが多い国のブロックに利用できます。地理フィルタリングの規則は国コードと URL パスごとに構成できます。したがって、エンドポイント全体ではなく、特定のコンテンツディレクトリだけをブロックすることも可能です。
CDN の分析と診断
Azure CDN には、ポータルで利用できる組み込みの使用状況分析機能があり、消費帯域幅、ヒット率とミス率、総リクエスト数、オリジンから配信した場合と比較した帯域幅の節約量などを確認できます。Microsoft-tier CDN では、診断設定を使用してアクセスログを Log Analytics ワークスペースまたは Storage アカウントに送信し、生の CDN アクセスログデータに対して KQL クエリを実行することもできます。キャッシュヒット率を分析すると TTL を調整しやすくなります。キャッシュヒット率が低い場合、ほとんどのリクエストがオリジンまで転送され、CDN の目的が損なわれていることを意味します。
CDN と Azure Front Door の比較
Azure CDN と Azure Front Door はどちらも PoP にコンテンツをキャッシュしますが、主な目的は異なります。Azure CDNは、単一のオリジンから静的コンテンツを低コストでキャッシュおよび配信することに適しています。Azure Front Doorは、複数のオリジンバックエンド間でのインテリジェントな負荷分散とルーティング、自動フェールオーバーのための正常性プローブ、組み込みの Web Application Firewall、パスベースのルーティングを提供するため、複数リージョンでアクティブ・アクティブ構成の Web アプリケーションに適しています。1 つのソリューションで両方を使用することもよくあります。
クイックチェック
このレッスンで扱った Microsoft Azure Fundamentals (AZ-900) の概念について、理解度を確認します。
レッスンのまとめ
このレッスンでは、Azure CDN のプロファイルとエンドポイントによってユーザーに近い PoP からキャッシュ済みコンテンツを配信し、遅延を削減できること、キャッシュ規則と TTLによってオリジンから再取得するまでのコンテンツのキャッシュ期間を制御できること、そしてキャッシュのパージによってオリジンの更新後に古いコンテンツを直ちに削除できることを学びました。次は、複数のバックエンドオリジン間でグローバルな負荷分散とルーティングを行う Azure Front Door について学習します。
よくある質問
「Azure CDN のプロファイルとエンドポイント」レッスンは無料ですか?
はい。「Azure CDN のプロファイルとエンドポイント」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
「Azure CDN のプロファイルとエンドポイント」で何を学びますか?
Blob Storage をオリジンとする Azure CDN エンドポイントを作成し、キャッシュ ルールとクエリ文字列の動作を構成して、必要に応じてキャッシュされたコンテンツを消去します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cloud & IT Cert Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Azure CDN のプロファイルとエンドポイント」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?
はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Azure CDN のプロファイルとエンドポイント
- Azure Front Door:グローバル ロード バランシング
- Front Door の Web Application Firewall
- CDN ルールによるパフォーマンスの最適化