リサーチデベロップメントの たかはしとし( @doushiman_jp ) です。
それにしても今年の夏って暑すぎじゃないですか?(挨拶)
Azure を使ってWebシステムを構築する場合、インバウンドのゲートウェイとしてAzure Front Door を使うことが多いかと思います(Application Gateway の場合もあると思います)
セキュリティ(Azure WAF)やコンテンツキャッシュ(Azure CDN)など様々な機能を持つAzure Front Door ですが、主に使用する機能としてURLベースによるルーティング機能かなと思います。
私もWebアプリケーションを構築する際に、Azure Front Door のルーティングを使用しているのですが、この設定が少し癖があったので備忘録の意味も兼ねて記事にしてみます。
ルーティングには、ルールエンジンを設定する必要があります。
まずトリガーとなる条件を設定します。
下記の様に設定可能か項目は多岐にわたっており、これによって様々なケースをキャッチすることができます。
↓様々なケース
例として、リクエストヘッダをターゲットにしてみます。
ちなみに、この条件は複数設定することできます。
この図の設定の場合、リクエストヘッダのx-name に「hoge」が設定された場合、となります。
次に「結果」を設定するのですが、後述する「バックエンドプール」を指定し、バックエンドプールに指定された先に移動(またはリダイレクト)します。
バックエンドプールはFront Door デザイナーで設定します。
バックエンド ホスト名に遷移させたいホスト名を設定すると、さきほどのルールエンジンで指定した条件に合致したリクエストだった場合に、任意のWebリソースに遷移させることが可能です。
例えば、リクエストヘッダに特定の文字が設定されていた場合は、デバッグ用のサーバに遷移させたり、機能ごとに別サーバに分散させていたとしても一元的なアクセス可能にしたり、バックエンドのサービスに渡す認証キーをヘッダに埋め込んだりといった使い方が可能です。
この様に柔軟なアクセスルーティングが可能なのですが、ご覧にの様に設定が多岐に渡るため、私も使いこなせた気が全然しないのですが、Webアプリケーションを提供しようとすると必須のサービスだなあ、と思います。
ではでは。