Azure Front Doorのルールエンジンを試してみた
Azure Front Doorにはルールエンジンと言う機能があり、バックエンドに送る前の処理を設定する事が出来ます。
Azure Front Doorルールエンジン(公式サイト)
以前であればルーティング規則でやる必要があったような内容もルールエンジンで実現出来ます。とくりにルーティング規則は課金が発生する為ルールエンジンに置き換える事でコスト削減も期待が出来ます。
具体的には、HTTP→HTTPへのリダイレクトや画像等の特定のパスへのアクセスのみをキャッシュする等の制御が可能になります。
今回は、HTTPからHTTPSへのリダイレクトとURLリダイレクトをルールエンジンを使って設定してみました。
なお、サブドメインのリダイレクトについてはAzureDNSの設定も必要になります。
ルーティング規則での実装はこちら。
Azure Front DoorのルールエンジンでHTTP→HTTPSへリダイレクトするルールを作成する
Azure Front Doorのメニューにルールエンジンの構成を選択すると下記画面が表示されますので追加を選択します。
ルールエンジンの構成画面が表示されます。設定内容は条件とアクションの2つになります。
-
-
- 条件の追加(HTTPでアクセスが来た場合)
- アクションの追加(HTTPSへリダイレクトする)
-
ルールエンジンの構成を設定します。
今回HTTPからHTTPSへリダイレクトさせる為に設定した内容は下記内容になります。(それ以外はデフォルト値になります。)
-
- ルールエンジン
- ルールエンジン名:rulesengine01
- ルール(条件)
- ルール名:rule01
- 条件:要求プロトコル
- 演算子:次の値と等しい
- 要求プロトコル:HTTP
- ルール(アクション)
- アクション:ルーティングの構成
- ルートの種類:リダイレクト
- リダイレクトの種類:Moved(301)
- プロトコルをリダイレクトします:HTTPSのみ
- ルールエンジン
設定が終わったら保存します。
Azure Front DoorのルールエンジンでURLリダイレクトさせるルール作成する
ルールエンジンの構成を設定します。今回サブドメイン無しからサブドメイン付きへリダイレクトさせる為に設定した内容は下記内容になります。(それ以外はデフォルト値になります。)
-
- ルールエンジン
- ルールエンジン名:rulesengine01
- ルール(条件)
- ルール名:rule02
- 条件:要求URL
- 演算子:リダイレクト前のURL(https://xxx.com)
- ルール(アクション)
- アクション:ルーティングの構成
- ルートの種類:リダイレクト
- リダイレクトの種類:Moved(301)
- 送信ホスト:置換
- 宛先ホストを置換します:リダイレクト後のURL(https://www.xxx.com)
- ルールエンジン
設定が終わったら保存します。
ルールエンジンはすべてのルールを処理します
ルールエンジンですが設定されているルールをすべて処理します。
ですので、今回のルールを両方設定すると、http://xxx.com→https://www.xxx.comへのリダイレクトが出来ます。
それ以降のルールの実行を止める場合は、残りのルールの評価を停止するにチェックを入れます。