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で作るカスタムDNSの記事

    皆様こんにちは。セーターやニットは洗うのがめんどくさくてあま…

  2. Azure

    strongSwanを使ってP2S接続をする記事~CentOS編~

    皆様こんにちは。朝一で白シャツにコーヒーをこぼした日のモチベーション…

  3. Azure

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

    その2からかなり時間が空いていますが今回はオートスケールについてと…

  4. Azure

    祝日判定を使った自動起動について:Azure Automation

    こんにちは。 今回は、Azure Automationで祝日判定を行…

  5. Application Gateway

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

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

  6. Azure

    Azure VPNについてあれこれ

    こんにちは、三醍醐です。今回は、Azure VPNについてお…

関連記事

  1. Azure

    Loganalyticsを利用してログを分析する
  2. Office 365

    Office 365 F3(旧F1)
  3. Azure

    ARMテンプレートでインフラ構築する。
  4. Azure

    Azure ポイント対サイトの証明書作成
  5. Azure

    WindowsVirtualDesktopがGAされているので(その3)
PAGE TOP