Azure Front Doorのルールエンジンを試してみた

 

Azure Front Doorにルールエンジンと言う機能があります。

https://docs.microsoft.com/ja-jp/azure/frontdoor/front-door-rules-engine

こちらの機能の詳細はマイクロソフト様のサイトに記載の通り、Front Doorからバックエンドに送る前にどう処理をするかを規定するものになります。

以前であればルーティング規則でやる必要があったような内容もルールエンジンで実現出来ます。とくりにルーティング規則は課金が発生する為ルールエンジンに置き換える事でコスト削減も期待が出来ます。

具体的には、HTTP→HTTPへのリダイレクトや画像等の特定のパスへのアクセスのみをキャッシュする等の制御が可能になります。

今回は、HTTPからHTTPSへのリダイレクトとサブドメイン無しURLをサブドメイン付URLへリダイレクトをルールエンジンを使って試してみました。

      • ルール エンジンの構成で新規ルールエンジンを作成
        • HTTP→HTTPSへのリダイレクトルールを作成する
        • サブドメイン無しURLをサブドメイン付きURLへリダイレクトする
      • 作成したルールエンジンをルーティング規則を割り当てる

サブドメインのリダイレクトについてはAzureDNSの設定も必要になります。

ルーティング規則での実装は下記記事に記載しております。こちらも併せて参考にして頂ければと。

Azure Front DoorでHTTPからHTTPSへリダイレクトする

Azure Front Door+Azure DNSでサブドメインのリダイレクト

1.Azure Front DoorのルールエンジンでHTTP→HTTPSへリダイレクトするルールを作成する

Azure Front Doorのメニューにルールエンジンの構成を選択すると下記画面が表示されますので追加を選択します。

ルールエンジンの構成画面が表示されます。設定内容は条件とアクションの2つになります。

      • 条件の追加(HTTPでアクセスが来た場合)
      • アクションの追加(HTTPSへリダイレクトする)

ルールエンジンの構成を設定します。

今回HTTPからHTTPSへリダイレクトさせる為に設定した内容は下記内容になります。(それ以外はデフォルト値になります。)

    • ルールエンジン
      • ルールエンジン名:rulesengine01
    • ルール(条件)
      • ルール名:rule01
      • 条件:要求プロトコル
      • 演算子:次の値と等しい
      • 要求プロトコル:HTTP
    • ルール(アクション)
      • アクション:ルーティングの構成
      • ルートの種類:リダイレクト
      • リダイレクトの種類:Moved(301)
      • プロトコルをリダイレクトします:HTTPSのみ

設定が終わったら保存します。

2.Azure Front DoorのルールエンジンでWWW無しアクセスをWWW付へリダイレクトさせるルール作成する

ルールエンジンの構成を設定します。今回サブドメイン無しからサブドメイン付きへリダイレクトさせる為に設定した内容は下記内容になります。(それ以外はデフォルト値になります。)

    • ルールエンジン
      • ルールエンジン名:rulesengine01
    • ルール(条件)
      • ルール名:rule02
      • 条件:要求URL
      • 演算子:リダイレクト前のURL(https://xxx.com)
    • ルール(アクション)
      • アクション:ルーティングの構成
      • ルートの種類:リダイレクト
      • リダイレクトの種類:Moved(301)
      • 送信ホスト:置換
      • 宛先ホストを置換します:リダイレクト後のURL(https://www.xxx.com)

設定が終わったら保存します。

3.ルールエンジンはすべてのルールを処理します

ルールエンジンですが設定されているルールをすべて処理します。

ですので、今回のルールを両方設定すると、http://xxx.com→https://www.xxx.comへのリダイレクトが出来ます。

それ以降のルールの実行を止める場合は、残りのルールの評価を停止するにチェックを入れます。