Azure Private Application Gatewayを作成する。
2026-01-26
azblob://2026/01/23/eyecatch/2026-01-23-create-azure-private-application-gateway-000.jpg

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. リソースのパラメーターセクションに記載してあります。

  1.  Azure Portalの上部検索バーにApplication Gatewayと入力しApplication Gatewaysを押下する

    create private application gateway 01

  2. CreateからApplication Gatewayを押下する

    create private application gateway 02

  3. パラメーターを入力し作成する。この時 Private AGWにするのに必須な項目は下記に記載する。

    1. IP アドレスの種類:IPv4のみ
    2. フロントエンドIPの種類:プライベート
    3. プライベートIPv4アドレス:10.16.10.4
    create private application gateway03create private application gateway04

 

3-2-2. 動作

 動作確認用のVMからcurlを叩いてみる

create private application gateway 05

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

UDRを使用した際のバックエンド正常性01

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

UDRを使用した際のバックエンド正常性02

3-2-3. リソースのパラメーター

一部設定値に関してはマスクしてあります。

AGWのパラメーターについては基本とフロントエンドのタブのみ記載します。

それ以外の設定値については基本のAGWと相違ありません。

Private AGWに必須の設定以外は環境に合わせて設定してください。

Private AGWのリソース設定値

設定名備考
サブスクリプション
<AGWを作成したいサブスクリプション名>
 
リソースグループ
veprivateagwrgje
 
ゲートウェイ名
veprivategwje
 
リージョンJapan East 
SKUWAF 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.443Any10.100.0.0/16,172.20.0.0/1610.16.10.0/24Allow
110
AllowAzureLoadbalancerInbound
AnyAny
AzureLoadBalancer
10.16.10.0/24Allow
120
DenyInternetInbound
AnyAnyAnyAnyDeny

NSGのOutBoundルール

優先度名前ポートプロトコルソース宛先アクション
100
AllowAppSubnetOutBound
anyany10.16.10.0/2410.16.16.0/28Allow
110
DenyAllOutBound
anyanyanyanyDeny

仮想アプライアンスを使用したInternetへのアウトバウンド通信を行いたい場合は許可すること

3-3. Private Application Gatewayの有効化

  1. Private AGWを作成したいサブスクリプションの -> 設定 -> プレビュー機能を開く

    regitry privateagw01

  2. プレビュー機能の検索バーにEnableApplicationGatewayNetworkIsolationと入力し出てきた機能のチェックボックスを選択する

    regitry privateagw02

  3. 上部の登録ボタンを押下する

    regitry privateagw03

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

参考