Azure

Azure CDNでマルチオリジンをやってみる記事

皆様こんにちは。
最近ビタミンC系の飲み物が昔より体に染みる、気がしています。
x3です。

今回やること

今回はAzure CDN、API Management、Storage Account、Azure Functionsを使って下図のような構成を作ってみます。
AWSとかだと、Cloud Front、API Gateway、lambda、S3とかで似たような構成がよくあるらしいです。

Azure で似たことをやりたいと考えている方の参考になれば幸いです。

CDNからBLOBとAPI ManagementにURLパスによって分かれる感じ

今回は先にCDN以外のリソースを作成して、外から接続できるようにしておきます。(FunctionsはAPI Managementからのみ接続できるようにしておきます。)

それでは作っていきましょう

配信元設定

CDNプロファイルは「標準Microsoft」で作成します。
※複数配信元設定は「標準Microsoft」でしか使用できません。

作ったCDNでエンドポイントの設定をしていきます

これで、cdnblogtest.azureedge.netにアクセスしたときに、cdnblogstg.blob.core.windows.netへ通信が渡るようになりました。

そして、この追加したエンドポイントに配信元グループの設定を行います。

上の画像では設定されていませんが、既定の配信元グループへのチェックを入れておかないと、追加で配信元グループを設定することが出来ないので注意しましょう。(筆者も後で追加しました。。。)

配信元の追加をAPI Management用で実施します。

これで設定としては、1つのエンドポイントに対して、配信元設定が2つ、配信元グループが2つ出来ていることになります。

ただこのままだと、対象のエンドポイントに通信が来たときに、CDNがどう振り分けていいかわからなくなってしまいます。
そこで、FQDNのあとのパスを見て、特定のグループへ振り分けるという設定をこれからしていきます。

ルール設定

エンドポイントの画面から、ルールエンジン→規則の追加とクリックしていきます。

ルールエンジン画面にて、新規ルール名を入力し、条件をURLパスとします。

条件を以下の様に設定します。
cdnblogconというのはストレージアカウントに構成していたコンテナの名前となります。

次に、対象の条件に対してのアクションを設定します。
今回は特定のパスへアクセスが来た時に、特定の配信元へ通信を流したいので、「配信元グループをオーバーライド」を選択します。

配信元グループを、ストレージアカウントを配信元として登録しているグループに設定します。

これで、URLパスに /cdnblogcon が含まれているアクセスは、cdnblogstg-grpへ転送されることになります。

API Management用の設定も以下の様にしていきます。

これでURLパスに、cdnblogcon が含まれていない場合はAPI Management側へ転送する、という設定になりました。(多分あっていると思います。)

これでいったん保存します。

最大10分かかるそうです、休憩チャンスですね。

機能確認

ストレージアカウントへの接続確認は、

https://<CDNのエンドポイント>/cdnblogcon/test.html

にアクセスした際に、test.htmlのファイルの内容が確認できればOKです。
※ファイル名や内容は、皆様の環境のものに置き換えてください。

ストアカに直接アクセス
CDN経由でも出来てる。やった。

API Managementの場合は、CDN経由でFunctionsの関数を実行できれば成功です。

API Managementから実行した場合

ちょっと見づらいですが、API Management経由で実行したら、200OKで返ってきて、「Hello, kake」から始まるメッセージが返ってきました。

これをCDN経由でやってみます。

見づらくてスミマセン・・・

小さいですが、赤枠部の「Hello, kake ~」のメッセージが出力されました。

※API Managementの管理画面以外でリクエストするときは、サブスクリプションキーをリクエストに入れないといけないらしく、今回はcurlでリクエストを実施しています。

終わりに

今回はAzure CDNの機能をいろいろ試しました。
私個人は設定とかはAzure FrontDoorのほうがやりやすい気がしてますが、料金はAzure CDNのほうが安いので、使い道によっては採用してもいいかもしれないですね。

次回書きたいことは特に決まってないので、ネタを探さないと・・・

参考リンク

複数配信元の設定
https://docs.microsoft.com/ja-jp/azure/cdn/endpoint-multiorigin

最期までご覧いただきありがとうございました。

Microsoft 365のプラン前のページ

関連記事

  1. Azure

    普通のAzure Windows VMを、従量課金のSQL VMにしたい

    こんにちは。今回は、通常のWindows VMを従量課金のS…

  2. Azure

    AADDSを構築する記事

    ---5/13追記(追記事項は末尾記載)---皆様、こんにちは。在宅…

  3. Application Gateway

    L7 負荷分散 Azure Application Gateway について:3回目

    こんにちは。ヤモトです。今回はApplication Gat…

  4. Azure

    Azure Key Vaultでみんなしあわせ

    私の知っているシステム開発これまでかかわってきたC/SやAS…

  5. Azure

    WindowsVirtualDesktopがGAされているので(その1)

    GAされてもう2か月たってますが…WindowsVirt…

  6. Azure

    Azure料金に関する豆知識①

    こんにちは。新人クラウドエンジニアの三醍醐です。今回は、Az…

関連記事

  1. Azure

    Azure Virtual Machineのリージョン間複製
  2. Azure

    LogAnalytics(監視エージェント)を利用したVMの監視をしよう
  3. 最新情報

    テレワーク導入応援キャンペーン
  4. Application Gateway

    L7 負荷分散 Azure Application Gateway について:3…
  5. Azure

    普通のAzure Windows VMを、従量課金のSQL VMにしたい
PAGE TOP