Azure

Azure CDNのアクセス設定がプライベートのストレージアカウントを配信元にする

はじめに

Azure CDNはパブリックにアクセスできるところからキャッシュします。しかし、保護されたプライベートのストレージアカウントからキャッシュしたい場合が発生します。特定のファイルに対してSASを利用してキャッシュする必要があります。その方法を説明していきます。

 

すでにCDNにストレージアカウントがエンドポイントとして登録されていることが前提です。

Azure CDNでストレージアカウントのコンテンツをキャッシュする - 技術的な何か。
Azure CDNでストレージアカウントのコンテンツをキャッシュする - 技術的な何か。

はじめに Azure CDN でコンテンツをキャッシュします。ストレージアカウントを配信元に設定しコンテンツをキャッシュします。 CDNの設定 ストレージアカウントは作成されていることが前提です。 ま

level69.net

 

下記を参考にしています。

Azure Content Delivery Network と SAS の使用 | Microsoft Learn
Azure Content Delivery Network と SAS の使用 | Microsoft Learn

Azure Content Delivery Network では、Shared Access Signature (SAS) を使用した、プライベート ストレージ コンテナーへの制限付きアクセス権限 ...

docs.microsoft.com

設定

ストレージアカウントはプライベートの設定になっています。

キャッシュするファイルとしてcdn2.txtを配置しています。

SASの発行

SASを発行します。最低限のアクセス許可をします。

発行されたSASはコピーしておきます。

発行されたSASを利用してファイルにアクセスできることを確認します。

設定しない場合は当然アクセスできません。

また、この時点ではキャッシュされていないことも分かります。

CDNの設定

SASを設定してキャッシュします。これはCDNのエンドポイントを開き、キャッシュ規則を開きます。

クエリ文字列のキャッシュ動作を、一意のURLをすべてキャッシュするに設定します。

 

設定はこれで完了です。

確認

CDNでアクセスできるか確認するには、CDNエンドポイントのURLにSASを含める必要があります。

アクセスできること確認します。

結局のところ、CDNのエンドポイントにSASを含めるため、有効期限をしっかりと決めておくことをがベストプラクティスです。

まとめ

プライベートのBlobからキャッシュするケースは多くはないと思いますが、できることを確認しておくことが良いでしょう。

-Azure
-