はじめに
Azure Firewallの基本について学んでいきたいと思います。Azure Firewallの紹介やサンプルではインターネット向けの紹介がされていますが、本来の利用法としてはあっていますと思いますがVNet内で利用したいという話はちょいちょいあります。そこでシンプルなVNet構成でAzure Firewallを利用する方法を紹介していきます。
仮想マシン同士の通信を許可したり、遮断したりするシンプル構成です。
前提条件
Azureの基礎的な利用方法は分かっていること
すでに、ひとつの仮想ネットワークと2つの仮想マシンがすでに構築されていること
構築
仮想ネットワーク
- CIDR:10.0.0.0/16
- subnet1:10.0.0.0/24
- AzureFirewallSubnet:10.0.1.0/24(これはFirewall専用のサブネットで名前も指定されています)
仮想マシン
- VM1:Ubuntu / 10.0.0.4
- VM2:Ubuntu / 10.0.0.5
以上の構成が作成されていること
完成する構成は以下です。
Firewallの作成
最初にFirewallの作成を行います。
Firewallは本体作成とポリシーの追加に分かれています。
上部の検索から「ファイアウォール」を検索して作成します。
- 名前:任意
- 地域:VNetと同リージョン
- Firewall tier:Standard(検証なので最低限必要な機能があるtier)
途中、ポリシーを作成します。
- ファイアウォールの管理:ファイアウォールポリシーを作成してこのファイアウォールを管理する
- Firewall policy:Add newで新規にポリシーを作成します
- 仮想ネットワークの選択:既存のものを使用
- 仮想ネットワーク:事前に作成してある仮想ネットワークを選択します。Firewall専用サブネットが無い場合は選択できません
- パブリックIPアドレス:新規追加(事前に作成も可能)
ポリシーを作成する
- ポリシー名:任意
- リージョン:Firewallと同リージョン
以上でFirewallの作成は完了です
ポリシーの追加
ポリシーはVM1->VM2を制御する規則と、VM2->VM1を制御する規則を追加します。
上部の検索から「ファイアウォール ポリシー」を検索して開きます。
上記で作成した、ポリシーを開きます。
規則コレクションを作成します。同時にネットワーク規則も作成します。
コレクションおよび規則の追加
- 名前;任意
- 規則コレクションの種類:ネットワーク
- 優先度:100
- 規則コレクションアクション:許可
- 規則コレクショングループ:DefaulNetworkRuleCollectionGroup(別途作成したものでも可)
- 規則1
- 名前:任意
- ソースの種類:IPアドレス
- ソース:VM1のプライベートIPアドレス
- プロトコル:ICMP(今回はPingで疎通確認を行うため)
- 宛先ポート:* (ワイルドカード)
- Destination Type:IPアドレス
- ターゲット:VM2のプライベートIPアドレス
- 規則2
- 名前:任意
- ソースの種類:IPアドレス
- ソース:VM2のプライベートIPアドレス
- プロトコル:ICMP(今回はPingで疎通確認を行うため)
- 宛先ポート:* (ワイルドカード)
- Destination Type:IPアドレス
- ターゲット:VM1のプライベートIPアドレス
UDRの設定
Firewallを作成して設置しただけでは、通信がFirewallを通過することはありません。
Firewall経由で通信するためにはルートを設定する必要があります。
ルートの設定にはUDR(ユーザー定義ルート)を設定し、仮想マシンの設置してあるサブネットに関連付ける必要があります。
上部の検索から「UDR」を検索して開き作成します。
- リージョン:VNetを同リージョン
- 名前:任意
- デフォルトゲートウェイを伝達する:Yes
UDRにルートを追加します。
作成した、UDRを開きルートを追加します。
VM1へのルート設定
- ルート名:任意
- アドレスプレフィックス:10.0.0.4/32(VM1のプライベートIPアドレスを指定します)
- ネクストポップの種類:仮想アプライアンス
- ネクストホップアドレス:FirewallのIPアドレス(Firewallの画面で確認できます)
VM2へのルート設定
- ルート名:任意
- アドレスプレフィックス:10.0.0.5/32(VM2のプライベートIPアドレスを指定します)
- ネクストポップの種類:仮想アプライアンス
- ネクストホップアドレス:FirewallのIPアドレス(Firewallの画面で確認できます)
VM1とVM2のルートを追加後、仮想マシンがあるサブネットにUDRを関連付けします。
VNetを指定し、サブネットを指定します。
以上で設定は完了です。
疎通確認
VM1とVM2にログインします。
Pingで疎通確認して問題が無いことを確認します。
次にFirewallが動作しているか確認します。
アクションを拒否にしてみます。
上記と同様にPingで疎通確認を行ってみると疎通が行えなくなっていることが確認できます。
まとめ
Azure Firewallの基本の基本のような確認を行ってみました。今回はルールは単純なものなので、難しいものではありません。ほとんどの場合はこの方法の応用になります。その場合はルールも複雑化してくると思います。実際に試して、Firewallの挙動を確認してみると良いと思います。
次回以降は様々ルーツやルート設定など確認していきたいと思います。