Azure REST API 2025-07-01 Network更新の変更点と移行確認ポイント

結論から言うと、Azure REST API documentation update: Release Network API Version 2025-07-01 は、Microsoft.Network の ARM コントロールプレーン API に新しい 2025-07-01 バージョンを追加する大きめの仕様更新です。Azure ネットワークを REST API、ARM テンプレート、Bicep、Terraform AzAPI、独自スクリプト、SDKで管理しているチームは確認が必要です。

ただし、すぐに本番環境の api-version を一括で 2025-07-01 に変えるべき更新ではありません。対象のPull Requestは記事作成時点でOpenのまま、ARMレビュー上の変更要求やBreaking Change関連ラベルが残っています。まずは「自社が使っているMicrosoft.Networkリソースに関係する変更だけを洗い出す」「非本番でレスポンス差分を確認する」「CLIやSDKの対応状況を確認する」という順番で進めるのが安全です。(GitHub)

目次

今回のAzure REST API更新で最初に確認すべきこと

今回の更新で重要なのは、単に「新しいAPIバージョンが出る」という点ではありません。Microsoft.Network 配下の複数リソースに対して、新しいプロパティ、列挙値、操作、生成済みOpenAPI/TypeSpec定義、サンプルがまとめて追加・更新されている点です。PRの説明では、既存リソースプロバイダー向けの新APIバージョンであり、複数のNetworking関連PRをまとめたものだと説明されています。(GitHub)

特に確認すべき観点は次の3つです。

確認観点何を見るか実務上の判断
利用中のリソース種類virtualNetworks、routeTables、privateEndpoints、natGateways、applicationGateways、azureFirewalls など関係するリソースだけ差分確認する
利用方法REST API直呼び、Bicep、ARMテンプレート、Terraform AzAPI、SDK、Azure CLI使っている経路ごとに対応タイミングが違う
更新目的新機能を使うためか、単なるバージョン追随か目的がない一括移行は避ける

Azure REST APIでは、リクエストURIのクエリ文字列に api-version を指定します。Azure Resource Manager系のAPIでは、この api-version がリクエストとレスポンスのスキーマを左右するため、単なる文字列置換ではなく「契約変更」として扱う必要があります。(Microsoft Learn)

変更の正体はMicrosoft.NetworkのARMコントロールプレーンAPI仕様更新

今回の対象は、アプリケーションがデータを読み書きするデータプレーンではなく、Azureリソースを作成・更新・削除・取得するARMコントロールプレーンです。Microsoft Learnでは、コントロールプレーンはサブスクリプション内のリソース管理に使われ、要求はAzure Resource ManagerのURLへ送られると説明されています。(Microsoft Learn)

つまり、この更新で主に影響を受けるのは次のような処理です。

処理影響の出方
仮想ネットワークやルートテーブルの作成・更新新しいプロパティを指定できる可能性がある
既存ネットワークリソースのGET/Listレスポンスに新しいフィールドが増える可能性がある
SDK生成・型定義新しい型、列挙値、メソッドが追加される可能性がある
IaCテンプレートMicrosoft.Network/...@2025-07-01 のような指定が必要になる可能性がある
CI/CDの検証スキーマ差分、breaking change、lint、生成コードの失敗が起きる可能性がある

一方、仮想マシン内の通信、既存アプリのHTTP通信、ストレージやDBへのデータアクセスなど、データプレーン側の通常処理が直接変わる更新ではありません。ただし、ネットワーク設定を自動更新するパイプラインや運用スクリプトがある場合は、間接的に影響します。

確認すべき主な変更点

PRの差分では、stable/2025-07-01 のOpenAPI仕様とサンプル追加、TypeSpecからのSwagger再生成、2025-07-01 バージョン定義の追加が確認できます。Files changedではJSON、TypeSpec、YAML、Markdownにまたがる多数の変更が含まれており、単一機能の小さな更新ではありません。(GitHub)

領域変更内容の例確認すべきポイント
APIバージョンv2025_07_01 の追加テンプレートやREST呼び出しで利用可能になるタイミングを確認
Virtual NetworksummarizedGatewayPrefixes の追加VNetのGET/List出力やルーティング設計レビューで使うか確認
Route TabledisablePeeringRoute、ECMP関連の追加ピアリング経由ルート制御や仮想アプライアンス経由ルーティングに影響
Private EndpointbillingSku の追加課金・性能・運用分類に関わる可能性がある
NAT Gatewaynat64 の追加IPv6/IPv4変換を扱う構成で確認
Load Balancer / Frontend IPDDoS関連設定の追加DDoSカスタムポリシー連携を自動化している場合に確認
Application GatewayManaged HSM関連の追加証明書・鍵管理の設計に関係する可能性がある
Azure FirewallAFC control plane関連パラメーターFirewall作成・更新APIの自動化で確認
Network Manager / InterconnectGroupsCommitやInterconnectGroups関連の追加AVNMや接続管理を自動化しているチームは重点確認

差分上では、Route Tableに disablePeeringRoute、ルートの VirtualApplianceEcmp、ECMP用の複数next hop IP、Private Endpointの billingSku、NAT Gatewayの nat64、Virtual Networkの summarizedGatewayPrefixes などが追加されています。(GitHub)

Azure Firewallでは、作成・更新時に createAfcControlPlane というクエリパラメーターが追加されています。Application GatewayではManaged HSM関連、Network ManagerではCommitリソース、InterconnectGroupsではCRUDやサブグループ取得などの追加がコミット説明から確認できます。(GitHub)

誰が対応すべきか

最優先で確認すべきなのは、Azureネットワーク構成をコードで管理しているチームです。たとえば、次のような運用をしている場合は影響調査の対象になります。

対象者対応が必要な理由
ネットワーク運用チームVNet、ルートテーブル、NAT Gateway、DDoS、Private Endpointなどの設定項目が増える可能性がある
IaC担当者Bicep、ARMテンプレート、Terraform AzAPIでAPIバージョン指定を管理している
DevOps / SRECI/CDでAzureネットワークを自動作成・更新している
SDK利用者Go、Javaなどの型やメソッド差分が出る可能性がある
CLI中心の運用者REST APIでは追加済みでも、Azure CLIのコマンドがまだ対応していない場合がある
セキュリティ・ガバナンス担当DDoS、HSM、Private Endpoint、ルート制御などが設計・監査項目に関わる

PR内ではAPIViewがTypeSpec、Swagger、Go、JavaのAPIレビューを作成しており、SDKや生成コードにも影響が及ぶ可能性があります。(GitHub)

Azure CLIについては特に注意が必要です。Azure CLIのIssueでは、summarizedGatewayPrefixes や disablePeeringRoute など、APIバージョン 2025-07-01 に追加されるプロパティがCLIコマンドではまだ直接露出していないため、az rest を代替手段として検討する旨が記載されています。(GitHub)

影響を受けにくいケース

次のような場合は、すぐに大きな作業が必要とは限りません。

状況判断
Azure Portalだけで手動管理している公式UI側の対応を待てばよいケースが多い
ネットワーク設定を自動変更していない既存リソースの通信自体への直接影響は限定的
Microsoft.Network をほとんど使っていない影響は小さい
既存APIバージョンで安定運用している新機能が不要なら急いで切り替えない
SDKではなく高レベルなAzureサービスだけを使っている低レベルのREST API差分を直接意識しない場合がある

ただし、GET/Listのレスポンスを厳密にパースしているツールは注意が必要です。新しいフィールドが増えただけでも、固定スキーマ前提のテストやJSON比較が失敗することがあります。

移行や設定確認の進め方

まず現在のapi-version利用状況を棚卸しする

最初にやるべきことは、2025-07-01 を試すことではなく、現在どのAPIバージョンを使っているかを洗い出すことです。

# REST APIやスクリプト内のapi-version指定を探す
grep -R "api-version=" ./scripts ./infra ./pipelines

# BicepやARMテンプレート内のMicrosoft.Network指定を探す
grep -R "Microsoft.Network/" ./infra

# Terraform AzAPIのtype指定を探す
grep -R "Microsoft.Network/.*@" ./terraform

確認するときは、単に文字列を探すだけでなく、次のように分類します。

分類例対応方針
読み取り専用GET/Listで設定を取得新フィールド追加でパースが壊れないか確認
作成・更新PUT/PATCHでリソースを変更リクエストボディの互換性と必須項目を確認
削除DELETELROやレスポンスコードの扱いを確認
SDK利用armnetwork、Java SDKなどSDKリリースと生成コード差分を確認
CLI利用az network ...ネイティブコマンド対応前なら az rest の要否を確認

APIバージョンは「全部置換」ではなく機能単位で切り替える

よくある失敗は、既存の 2025-05-01 や 2024-xx-xx を一括で 2025-07-01 に置換することです。APIバージョンは「新しいほど無条件に安全」ではありません。新しいプロパティを使う必要があるリソースだけ、個別に検証してから切り替えるべきです。

たとえば、disablePeeringRoute を使いたい場合は、Route Table関連APIだけを対象にします。VNetの summarizedGatewayPrefixes を確認したいだけなら、Virtual NetworkのGET/Listを先に検証します。Private Endpointの billingSku が必要なら、Private Endpoint関連の作成・更新・取得だけを確認します。

非本番でGETから検証する

新APIバージョンの確認は、まず副作用の少ないGET/Listから始めます。

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}?api-version=2025-07-01
Authorization: Bearer <access-token>

Azure REST APIでは、AuthorizationヘッダーにBearer tokenを含めるのが一般的です。また、Azure Resource Manager provider APIでは https://management.azure.com/ と api-version クエリパラメーターが使われます。(Microsoft Learn)

GETで確認するポイントは次の通りです。

確認項目見るべきこと
HTTPステータス200、400、404、409などの差分
レスポンスJSON新フィールドが追加されているか
既存フィールド型やnull許容に変化がないか
nextLinkList系APIでページング処理が壊れないか
ログActivity Logや監査ログに想定通り残るか

List系APIでは nextLink を返す場合があり、結果が1回で完結しないことがあります。ページング処理を独自実装している場合は、新バージョンでも継続トークンの扱いが壊れないか確認してください。(Microsoft Learn)

PUT/PATCHは最小構成で差分を見る

作成・更新系APIは、既存の本番リソースではなく、検証用リソースで試します。特にネットワーク系リソースは、ルートやDDoS、Private Endpoint、NAT Gatewayの設定変更が通信経路やセキュリティ境界に影響することがあります。

検証時は、次のような順番が安全です。

手順作業
1既存APIバージョンで同じ操作が成功することを確認
22025-07-01 に変えてGETを実行
3レスポンス差分を保存
4検証用リソースでPUT/PATCHを実行
5Azure Portal、CLI、Activity Log、実通信の結果を照合
6IaCテンプレートに反映するか判断

重要なのは、APIの成功だけで判断しないことです。ネットワーク設定では「APIは成功したが、意図した経路になっていない」「出力には出るがCLIでは扱えない」「テンプレートには書けるが運用手順に反映されていない」といったズレが起こりやすいためです。

実務で特に注目したい変更

Route TableのdisablePeeringRoute

disablePeeringRoute は、ピアリングで学習したルートをルートテーブル側でどう扱うかに関わるプロパティです。Azure CLIのIssueでも、None と All の値を持つ任意プロパティとして説明されています。(GitHub)

この変更は、次のような環境で確認優先度が高くなります。

環境理由
ハブ・スポーク構成ピアリング経由の到達性を細かく制御する可能性がある
複数事業部VNetを分離している環境意図しない経路学習を避けたいケースがある
セキュリティ境界をルートで制御している環境監査・設計書への反映が必要
Azure Virtual Network Managerを使う環境ルート制御ポリシーとの整合性確認が必要

注意点は、All を設定すれば常に望ましい分離ができる、とは限らないことです。既存のUDR、BGP、仮想アプライアンス、Firewall経由の強制トンネルと合わせて、実際の有効ルートを確認してください。

ECMPルーティングとVirtualApplianceEcmp

PR差分では、VirtualApplianceEcmp とECMP用のnext hop IPリストが追加されています。next hop IPは2〜64個の範囲として定義されています。(GitHub)

これは、複数の仮想アプライアンスへトラフィックを分散するような設計で注目されます。ただし、ECMPは「書けば終わり」ではありません。アプライアンス側の状態同期、非対称ルーティング、戻り通信、ヘルスプローブ、障害時の経路収束をあわせて確認する必要があります。

Virtual NetworkのsummarizedGatewayPrefixes

summarizedGatewayPrefixes は、仮想ネットワークで広告される集約済みゲートウェイプレフィックスの一覧として追加されています。Azure CLIのIssueでは、az network vnet show/list の出力にも表示されるべきプロパティとして扱われています。(GitHub)

ネットワーク運用では、経路広告の棚卸し、拠点接続、ハブ・スポーク設計、監査レポートに使える可能性があります。一方で、CLIや運用ダッシュボードが未対応だと、REST APIでは取得できても現場で見えない情報になりがちです。

Private EndpointのbillingSku

Private Endpointに billingSku が追加され、PayAsYouGo と Fixed が定義されています。差分上では、Private Endpointプロパティに billingSku が追加されています。(GitHub)

課金や高負荷用途の設計に関わる可能性があるため、コスト管理チームやFinOps担当者も確認対象に含めるとよいでしょう。特に、テンプレートでPrivate Endpointを大量作成している環境では、既定値に任せるのか、明示指定するのかを運用ルールとして決める必要があります。

NAT Gatewayのnat64

NAT Gatewayには nat64 が追加されています。値として None、Enabled、Disabled が定義されています。(GitHub)

IPv6対応、IPv4宛先への変換、デュアルスタック構成を検討している環境では、ネットワーク設計書、検証項目、障害時の切り分け手順に反映する候補になります。

Application GatewayのManaged HSM対応

コミット説明では、Application GatewayにManaged HSMサポートを追加し、ApplicationGatewayManagedHsm 型とSSL証明書プロパティ側の hsm が追加されたと説明されています。(GitHub)

証明書や秘密鍵管理を厳格にしている環境では、Key VaultやManaged HSMの権限、証明書更新フロー、監査ログ、障害時の証明書差し替え手順まで含めて確認する必要があります。

APIバージョン更新で失敗しやすいポイント

失敗しやすいポイント起きる問題回避策
api-version を全ファイル一括置換する関係ないリソースまで挙動が変わる機能単位・リソース単位で切り替える
PR公開をサービス利用可能と誤解する本番で400/未対応エラーになる公式ドキュメント、SDK、CLI、実APIの対応を確認
GETレスポンスの新フィールドを想定していないJSON比較や型変換が失敗するunknown fieldを許容する
enumを固定値だけで実装する新しい値でアプリが落ちる未知のenum値をログ出力して継続できる設計にする
CLI対応を待たずに手順化する現場でコマンドが実行できないaz rest、SDK、IaCのどれを使うか明記
SDK生成差分を軽視するCIや依存ライブラリ更新で失敗するAPIView、リリースノート、生成コード差分を確認
ネットワーク実通信を確認しないAPI成功後に通信障害が発覚する有効ルート、NSG、Firewall、接続テストまで確認

PRでは、マージ後のAPIはAzure顧客へ出荷されたものと見なされるため、以後のインプレース修正はAzureのバージョニングやbreaking changeポリシーの対象になる、という注意も示されています。これは、仕様が固まる前に安易に本番前提のコードへ組み込まない方がよい理由の一つです。(GitHub)

Bicep、ARMテンプレート、Terraform AzAPIでの確認ポイント

IaCで確認する場合は、リソース定義のAPIバージョンだけでなく、モジュール、変数、出力、テストコードまで見ます。

resource vnet 'Microsoft.Network/virtualNetworks@2025-07-01' = {
  name: vnetName
  location: location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
  }
}

このように書けるかどうかだけでなく、次を確認してください。

確認対象チェック内容
リソース定義@2025-07-01 が対象リソースで使えるか
新プロパティ省略時の挙動、既定値、null許容を確認
出力値新フィールドをoutputに含める必要があるか
モジュール下位モジュールにAPIバージョンが固定されていないか
テストwhat-if、lint、ポリシー評価、実デプロイを実施
ロール権限新しい操作に必要な権限が既存ロールで足りるか
リージョン対象機能が利用リージョンで使えるか

記事作成時点のAzure SDK specs一覧では、Microsoft.Network/Network のTypeSpecパッケージは 2025-05-01 が表示されており、2025-07-01 はPR側で進行中の更新として扱うのが妥当です。(Azure)

Azure CLI利用者はネイティブ対応とaz restを分けて考える

Azure CLIを中心に運用している場合、API仕様に新プロパティが追加されても、すぐに az network ... の通常コマンドで使えるとは限りません。実際に、summarizedGatewayPrefixes や disablePeeringRoute については、CLI側でまだ直接露出していないため対応要望が出されています。(GitHub)

そのため、運用手順では次のように使い分けます。

目的推奨
日常運用対応済みの az network ... コマンドを使う
新APIの検証az rest または直接REST APIを使う
本番手順化CLIネイティブ対応後にコマンド化する
一時的な検証az rest のリクエストJSONを保存してレビューする
長期運用IaCまたはSDKに統合する

az rest は便利ですが、引数補完やバリデーションが通常コマンドより弱くなります。新プロパティを試す場合でも、検証用サブスクリプション、検証用リソースグループ、変更前後のJSON保存をセットにしてください。

本番適用前のチェックリスト

本番へ適用する前に、少なくとも次のチェックを済ませてください。

チェック項目完了条件
PR・公式ドキュメント確認対象APIがマージ済み、公開済み、利用可能であることを確認
対象リソースの特定変更対象が Microsoft.Network のどのリソースか明確
現行api-version棚卸しスクリプト、IaC、SDK、CLIの利用箇所を一覧化済み
非本番GET検証既存リソース取得でレスポンス差分を確認済み
非本番PUT/PATCH検証作成・更新時の挙動とロール権限を確認済み
実通信確認有効ルート、疎通、Firewall、NSG、Private Endpoint接続を確認済み
監視・ログ確認Activity Log、診断ログ、CIログで異常がない
ロールバック方針旧APIバージョン、旧テンプレート、旧設定へ戻す手順がある
運用手順更新CLI、REST、IaCのどれで操作するか明記済み

まとめ:まずは影響範囲の棚卸しから始める

今回のAzure REST API更新は、Microsoft.Network の 2025-07-01 APIバージョン追加に関する大きな仕様更新です。VNet、Route Table、Private Endpoint、NAT Gateway、Application Gateway、Azure Firewall、Network Managerなど、ネットワーク運用の中核に関わるリソースが含まれます。

対応の順番は明確です。まず、現在使っている api-version と Microsoft.Network リソースを棚卸しします。次に、必要な新機能だけを選び、非本番でGET/Listから検証します。その後、PUT/PATCH、IaC、SDK、CLI、監視、ロールバック手順まで確認してから、本番環境に段階的に反映します。

新しいAPIバージョンは、便利な機能を早く使うための手段です。一方で、ネットワーク構成では小さなスキーマ差分が通信経路、監査、運用手順に波及します。2025-07-01 は「すぐ一括移行するバージョン」ではなく、「必要な機能から慎重に採用するバージョン」として扱うのが現実的です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次