
1. はじめに
従来のAzure Application Gateway (以下AGW)のデプロイにはリスナーへのPublic IP Addressの付与とGateway Managerからのアクセス許可、AGWの所属するサブネットにUDRから0.0.0.0/0のNextHopを設定するのはサポート外などオンプレミス環境からクラウド環境のアプリケーションにプライベートで接続したいユースケースなどには完全に対応しきれない仕様となっていました。
今回はそんなAGWでプライベートに使えるPrivate Application Gatewayがこの記事を書いている半年ほど前(2025/08/08)にGAされていたのでその作成と検証を行っていこうと思います。
2. できること
- フロント構成をプライベートIPアドレスのみにする。
- NSG(Network Security Group)周り
- InBound通信でService TagのGatewayManagerからの通信許可が不要
- OutBound通信のDeny Allが可能
- ただしバックエンドへの疎通はとれるようにすること
- ルートテーブル周り
- 強制トンネリングのサポート
- BGPで0.0.0.0/0のルートを学習できる
- UDRで0.0.0.0/0のNext Hopを仮想アプライアンスに設定可能
- 強制トンネリングのサポート
作成して使ってみた感想ですが、機能が制限されている感は特になくむしろ使い勝手が良くなったなという印象でした。
3. 作成方法
3-1. 前提
実際の作成に関してはPrivate AGW以外は作成した状態で行います。
SKUに関しては今回はWAF V2を使用しますが、Standard V2でも作成できました。
BasicSKUのものに関しては今回検証しておりません。
オンプレミス環境とクラウド環境のS2SのVPNを組む構成を再現した環境で行っています。
検証に使用した構成は画像の通りです。
3-2. 作成
3-2-1.手順
作成にはプレビュー機能
EnableApplicationGatewayNetworkIsolationの有効化が必要となります。有効化方法については
3-3.Private Application Gatewayの有効化セクションを確認してください。今回検証のために作成したAGWのパラメーターとNSGのルールは
3-2-3. リソースのパラメーターセクションに記載してあります。
Azure Portalの上部検索バーに
Application Gatewayと入力しApplication Gatewaysを押下する
CreateからApplication Gatewayを押下する

パラメーターを入力し作成する。この時 Private AGWにするのに必須な項目は下記に記載する。
- IP アドレスの種類:
IPv4のみ - フロントエンドIPの種類:
プライベート - プライベートIPv4アドレス:
10.16.10.4


- IP アドレスの種類:
3-2-2. 動作
動作確認用のVMからcurlを叩いてみる

UDRでデフォルトルートをFirewallに向けた際のPrivateのバックエンドとパブリックのバックエンドの正常性の様子(Firewallでパブリックへの通信を許可した状態)

UDRでデフォルトルートをFirewallに向けた際のPrivateのバックエンドとパブリックのバックエンドの正常性の様子(Firewallでパブリックへの通信を拒否した状態)

3-2-3. リソースのパラメーター
一部設定値に関してはマスクしてあります。
AGWのパラメーターについては基本とフロントエンドのタブのみ記載します。
それ以外の設定値については基本のAGWと相違ありません。
Private AGWに必須の設定以外は環境に合わせて設定してください。
Private AGWのリソース設定値
| 設定名 | 値 | 備考 |
|---|---|---|
| サブスクリプション | <AGWを作成したいサブスクリプション名> | |
| リソースグループ | veprivateagwrgje | |
ゲートウェイ名 | veprivategwje | |
| リージョン | Japan East | |
| SKU | WAF V2 | |
| 自動スケーリング | はい | |
| 最小インスタンス | 0 | |
| 最大インスタンス | 10 | |
| IPアドレスの種類 | IPv4のみ | ※PrivateAGWに必須設定 IPv6はグローバルなものが含まれるため注意 |
| HTTP2 | 有効 | |
FIPS (Federal Information Processing Standards) モード 140-2 | 無効 | |
WAFポリシー | veprivateagwwafp | |
仮想ネットワーク | veprivateagwvnetje(10.16.0.0/16) | |
サブネット | agw(10.16.10.0/24) | |
フロントエンド IP の種類 | プライベート | ※PrivateAGWに必須設定 |
プライベート IPv4 アドレス | 10.16.0.4 | ※PrivateAGWに必須設定 IPアドレス自体は作成環境に合わせて作成すること |
NSGのInBoundルール
| 優先度 | 名前 | ポート | プロトコル | ソース | 宛先 | アクション |
|---|---|---|---|---|---|---|
| 100 | AllowOtherVnetInbound | 80.443 | Any | 10.100.0.0/16,172.20.0.0/16 | 10.16.10.0/24 | Allow |
| 110 | AllowAzureLoadbalancerInbound | Any | Any | AzureLoadBalancer | 10.16.10.0/24 | Allow |
| 120 | DenyInternetInbound | Any | Any | Any | Any | Deny |
NSGのOutBoundルール
| 優先度 | 名前 | ポート | プロトコル | ソース | 宛先 | アクション |
|---|---|---|---|---|---|---|
| 100 | AllowAppSubnetOutBound | any | any | 10.16.10.0/24 | 10.16.16.0/28 | Allow |
| 110 | DenyAllOutBound | any | any | any | any | Deny |
仮想アプライアンスを使用したInternetへのアウトバウンド通信を行いたい場合は許可すること
3-3. Private Application Gatewayの有効化
Private AGWを作成したいサブスクリプションの -> 設定 -> プレビュー機能を開く

プレビュー機能の検索バーに
EnableApplicationGatewayNetworkIsolationと入力し出てきた機能のチェックボックスを選択する
上部の登録ボタンを押下する

- 該当機能の状態カラムが「登録済み」になっていることを確認する。





![Microsoft Power BI [実践] 入門 ―― BI初心者でもすぐできる! リアルタイム分析・可視化の手引きとリファレンス](/assets/img/banner-power-bi.c9bd875.png)
![Microsoft Power Apps ローコード開発[実践]入門――ノンプログラマーにやさしいアプリ開発の手引きとリファレンス](/assets/img/banner-powerplatform-2.213ebee.png)
![Microsoft PowerPlatformローコード開発[活用]入門 ――現場で使える業務アプリのレシピ集](/assets/img/banner-powerplatform-1.a01c0c2.png)


