AZ-700-SEC#2
Hub-Spoke + Azure Firewall を新規構築します。Spoke から Hub の Azure Firewall を経由してインターネットへ 強制トンネリングさせる構成です。次の作業を正しい順序に並び替えてください。
- Hub VNet (10.0.0.0/16) と Spoke VNet (10.1.0.0/16) を作成し、相互ピアリングを設定する
- Hub VNet に AzureFirewallSubnet (/26) を作成する
- Hub VNet に Azure Firewall をデプロイし、Public IP を関連付ける
- Spoke のサブネットに UDR (User-Defined Route) を作成し、 0.0.0.0/0 → Next Hop: AzureFirewall のプライベート IP を設定する
- Azure Firewall 上にネットワーク/アプリケーション ルール (許可 outbound 等) を設定する
解説
【正しい順序】
- ステップ 1: Hub VNet (10.0.0.0/16) と Spoke VNet (10.1.0.0/16) を作成し、相互ピアリングを設定する
- ステップ 2: Hub VNet に AzureFirewallSubnet (/26) を作成する
- ステップ 3: Hub VNet に Azure Firewall をデプロイし、Public IP を関連付ける
- ステップ 4: Spoke のサブネットに UDR を作成し、0.0.0.0/0 → Next Hop: AzureFirewall のプライベート IP を設定する
- ステップ 5: Azure Firewall 上にネットワーク/アプリケーション ルール (許可 outbound 等) を設定する
【各ステップの理由】
- ステップ 1 が最初の理由
- すべての後続リソース (Firewall、UDR、ピアリング) が VNet の存在を前提とするため、まず VNet を作成します。ピアリングも先に設定することで、後の UDR の Next Hop アドレス検証時に既に Spoke から Hub への到達性が確立されている状態となります。
- ステップ 2 の理由 (Firewall の前)
- AzureFirewallSubnet は名前が固定 (変更不可) で、サイズは /26 以上が必要です。Firewall デプロイ時にこのサブネットが存在しないとデプロイが失敗するため、Firewall より先に作成する必要があります。
- ステップ 3 の理由 (Firewall デプロイ)
- UDR の Next Hop には Firewall のプライベート IPを指定する必要があるため、Firewall がデプロイされて IP が割り当てられていなければ UDR を正しく設定できません。デプロイには数分かかります。
- ステップ 4 の理由 (UDR でルーティング強制)
- Spoke サブネットからのアウトバウンドを 0.0.0.0/0 で Firewall に強制する UDR を設定します。Firewall ルールを先に作っても UDR がないとトラフィックが Firewall を通らないため、UDR はルール定義より先に設定するのが推奨です (検証時に意図しない deny を回避できます)。
- ステップ 5 の理由 (ルール定義は最後)
- UDR が正しく Firewall を経由するように設定された後、最後にネットワーク/アプリケーション ルールで具体的な許可・拒否を定義します。最初は最小許可ルールから始めて、段階的に拡張する運用が安全です。
【UDR 設定例】
| 項目 | 値 |
|---|---|
| 名前 | RT-Spoke-to-Firewall |
| Address prefix | 0.0.0.0/0 |
| Next hop type | Virtual appliance |
| Next hop address | Azure Firewall のプライベート IP (例: 10.0.1.4) |
【誤った順序の問題点】
- ❌ Firewall → AzureFirewallSubnet の順
- Firewall のデプロイは AzureFirewallSubnet という名前のサブネットを必要とします。先にこのサブネットを作成していないと Firewall のデプロイがエラーになります。
- ❌ ルール定義 → UDR の順
- UDR がない状態で Firewall ルールだけ作っても、Spoke からのトラフィックは Firewall を経由しません (デフォルトのシステム ルートでインターネット直通)。検証時に「ルールは作ったのに動作しない」混乱を招きます。
- ❌ Firewall デプロイ → ピアリングの順
- Firewall は単独でも動きますが、ピアリングがないと Spoke から Hub の Firewall プライベート IP に到達できないため、UDR が機能しません。本要件はピアリングが前提です。
【参考】
Azure Firewall のデプロイ チュートリアル / Hub-Spoke リファレンス アーキテクチャ / なぜ AzureFirewallSubnet は /26 が必要か

コメント