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

    Microsoft MVP for Microsoft Azure を受賞しました。

    受賞くどうです。Microsoft MVP for Mic…

  2. Azure

    Azureでは仮想マシンのパスワードをポータルからリセットできます。

    はじめにくどうです。Azureで、仮想マシンのパスワードを…

  3. Azure

    Azure Kubernetes Service (AKS)でknativeを動作させる方法

    はじめにAKSでknativeを動作させるためには、公式ドキュメン…

  4. Azure

    MCP 70-534 Architecting Microsoft Azure Solutions …

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

  5. AWS

    AzureとAWSにおけるIaaS可用性の違いを少しだけおさらい。

    はじめにくどうです。最近、よく聞かれることがあります。「A…

  6. Azure

    Azure(職場または学校のアカウント)でauthyを利用したMFA(多要素認証)を設定する方法

    はじめにAzure(職場または学校のアカウント)でauthyを利用…

  1. AWS

    意外と知られていないAWS認定試験の合格特典、模擬試験が無料で受けれます。
  2. AWS

    Azure仮想マシンがやってるポートフォワーディングをAWSのELBでやってみる…
  3. Azure

    Azure Load Balancerと Azure Application G…
  4. Kubernetes

    fluentd-kubernetes-daemonset のパラメーターについて…
  5. Azure

    Windowsの仮想マシンを作成時に拡張機能を追加できます。
PAGE TOP