Azure

Azure Front Door でカスタムホストを設定しSSLの設定をしつつGeoフィルタリングで他国からのアクセスを制限する。

はじめに

Azure Front DoorにはGeoフィルタリングが設定できるので試してみました。
ついでにカスタムホストを利用する方法も紹介します。

Front Doorの機能については省きます。
下記を参考してください。
https://docs.microsoft.com/en-us/azure/frontdoor/front-door-overview

一点、注意事項するべきことはVNETと連携ができません。
その為、パブリックのIPアドレスを持たないサービスをバックエンドに利用できません。
今回はWeb Appです。

Front Doorの作成

Front Door作成と確認

詳しい作成方法
https://docs.microsoft.com/en-us/azure/frontdoor/quickstart-create-front-door

問題なくアクセスできることを確認します。

カスタムホストを設定する

カスタムホストを設定するには Front Door designerを開き、Fronted hostsの「+」をクリックします。

次にはカスタムホストを設定します。しかし、CNAMEを設定するようにエラーがでます。

事前に対象のDNSの設定をする必要があります。

DNS設定後に、再度カスタムホストを設定します。

設定後に対象のホストネームでアクセスするとエラーが発生します。

ここで、ルールを設定変更をする必要があります。
通常はAzureの指定されたドメインが割り当てられ、それ以外はアクセスできません。
Front Door designerを開きRouting rulesの変更を行います。

割り当てたカスタムホストに変更します。
両方を選択することも可能です。(この後にSSLの設定もおこなうので有効にしておきます)

カスタムホストでアクセスして確認を行います。

カスタムホストのSSL設定を行う

SSLのキーはKey vaultで管理するため、作成します。

PowershellでADにService Principalを登録します。下記は固定値です。

access policyを開き、Principal を追加します。
「ad0e1c7e-6d38-4ba4-9efd-0bc77ba9f037」を検索します。
Microsoft.Azure.Frontdoorが見つかります。これを登録します。

Sercret permissionsをGetに設定します。

追加されたことを確認します。

証明書を登録します。ドキュメントではパスワード無しのみサポートとありますが現在はあっても問題ありません。

Front Door designerを開き追加したカスタムホストを開きます。
そして、Custom Domain HTTPSをEnableに変更します。
Use my own certificateを選択し、Key vault、Secret、Secret Nameを選択します。

以上で設定が完了ですが20分程度反映まで時間がかかります。

表示されることを確認します。

Geoフィルタリング

下記を参考に進めますが、カスタムホストを利用しているため一部異なります。
https://docs.microsoft.com/en-us/azure/frontdoor/front-door-tutorial-geo-filtering

設定はPowershellで設定します。
最初に、モジュールを追加します。

次にJPのみアクセスできるように以下天順で設定します。
GetMatchCoonditionを作成→ルールを作成→FireWallポリシーを作成→各ホストに対して設定する

FrontendEndpoints[0]を設定することでルールを既存のホストへ割り当てることができます。

FrontendEndpoints[1]を設定することでルールをカスタムホストへ割り当てることができます。

設定後反映されるまで5分程度時間がかかります。
VPNなどを利用して日本以外から確認します。

以上で設定は完了です。
ただWeb Appを利用する場合などは、もともとのURL(Web Appで割り当てられたURL)からもアクセスできるため
Front Doorのドメインにリダイレクトするなどの処理を入れる必要があると思います。

まとめ

GeoフィルタリングはGDPRなどを避けたい場合や、キャンペーン用のサイトなど様々な場面で利用できるかと思います。
まだプレビューなので、今後どのように機能が増えるか気になるサービスです。

関連記事

  1. Azure

    みんな大好き Kali Linux がAzure Marketplaceに追加されました。これで脆弱…

    はじめにくどうです。今回はちょっとセキュリティ方面の話です…

  2. Azure

    LinuxConにスタッフしてきました。Azure IoTも体験してきたよ!

    はじめにくどうです。皆さんは、LinuxConをご存知でし…

  3. Azure

    MCP 70-534 Architecting Microsoft Azure Solutions …

    受験の感想くどうです。MCP 70-534 Archite…

  4. Azure

    AzureでFreeBSD!Marketplaceから簡単に利用できるようになった。

    はじめにくどうですあなたはFreeBSDユーザーですか?…

  5. Azure

    「バルス!」 Vuls祭り#1に行ってきた。

    しゃべってきたくどうですVuls祭り#1に行ってきました。…

  1. 日記

    LOCAL DEVELOPER DAY ’13 / Infra & S…
  2. AWS

    Azureの機能を一覧にしてみました。
  3. Windows Server 2012

    ThinkITで記事を書いた
  4. Azure

    Azure PowerShell 1.0 Preview を導入してみよう。ちょ…
  5. Azure

    AzureでNAT設置パターンを考える。構築編、これでルートテーブルも大丈夫かも…
PAGE TOP