Network Security参照資料確認: 2026-09-10

Network Security Group (NSG)

Azure VNet内のinbound/outboundを5-tupleとstateful flow recordで制御するNSGを、適用点・既定rule・検証方法まで実運用向けに整理する。

運用前提: Portal上のresource stateだけでなく、対象5-tupleのeffective state・route・security logs・new connectionを組み合わせてdata planeを確認します。SKU/limit/preview statusは変更されるため、導入時は末尾のcurrent Microsoft Learnも再確認してください。

Network Security Group (NSG)を理解するための前提

custom ruleのpriorityは100–4096で、小さい数値ほど先に評価され、最初にmatchしたruleで評価を終了する。 NSGはstateful。許可されたconnectionのresponse trafficに逆方向の明示ruleは不要で、rule変更は原則として新規connectionへ効く。

NSGはsubnet、NIC、または両方へassociateできる。両方にある場合、対象flowは両方の評価を通過する必要がある。 inboundではpublic IPからprivate IPへの変換後、outboundではprivate IPからpublic IPへの変換前のaddressを基準にNSGが評価する。

既定ruleは削除できないが、より高いpriorityのcustom ruleで上書きできる。AllowInternetOutBoundはegress経路やSNATを作るruleではない。 接続障害ではconfigured NSGだけでなくNICのEffective security rules、NSG diagnostics、実際の5-tupleを組み合わせて判定する。

通信や判断の流れを追う
SourceRouteNSG / PolicyWorkloadResponse

Control plane と data plane

Control planeNSG resource、custom/default rules、subnet/NIC association、ASG membershipはcontrol plane。Portalでruleが存在することは必要条件だが、特定flowが許可されることの証明ではない。
Data planedata planeではsource IP/port、destination IP/port、protocol、directionとconnection stateが評価対象になる。既存sessionはrule変更後も継続し得るため、新規connectionで再試験する。

仕組み

各方向で対象NSGのruleをpriority順に評価し、最初にmatchしたAllow/Denyを採用する。custom ruleがmatchしなければ65000以降のdefault rulesへ進む。

connectionが許可されるとflow recordにより戻りtrafficをstatefulに扱う。response用に機械的な逆向きruleを追加しない。

subnetとNICにNSGがある場合は両方がenforcement pointになる。片方のAllowだけを見て「許可済み」と判断しない。

Route、Firewall、guest OS firewall、application listen状態はNSGとは別。NSGがAllowでもend-to-end到達性は保証されない。

Packet / decision path

障害時はresource一覧ではなく、同じsource/destination/port/protocolで各enforcement pointを順に追います。

  1. 送信元applicationが新しいTCP/UDP flowを開始する。
  2. Azure SDNがdirectionと5-tupleを確定し、適用されるNSG/security admin rulesを評価する。
  3. NSGでAllowならrouting/次のsecurity controlへ進む。Denyならその時点でdropされる。
  4. destinationからのresponseはstateful flowとして戻るが、別経路や別security deviceのpolicyは独立に評価される。
  5. 障害時は同じ5-tupleでEffective security rules / NSG diagnostics / application testを揃える。

設計判断

判断点推奨理由
Association原則はsubnet単位のbaselineを中心にし、NIC NSGは例外や細粒度要件があるときに追加する。二重associationは柔軟だが、障害時に両方のAllow/Denyを読む必要があり運用複雑性が増える。
Rule identityIP直書きよりservice tag / ASG /管理されたCIDRを優先する。workload scaleやPaaS prefix更新でrule maintenanceを減らせる。
Change test既存sessionと新規sessionを分けて検証する。stateful flow recordによりrule削除後も既存connectionが残り得る。
Evidenceconfigured rulesだけでなくeffective stateとflow-specific diagnosisを保存する。「設定した」ではなく「そのpacketがどのruleで判定されたか」を受入条件にできる。

確認手順

Azure Portal / Network Watcher

  • Network Security Groups → 対象NSG → Inbound/Outbound security rulesでpriorityとdefault rulesを確認。
  • Subnet / NICのNetworkingからNSG associationを両側確認。
  • Network Watcher → Effective security rules / NSG diagnosticsで代表VM/NICと5-tupleを固定して判定。

Verification discipline

  • subscription / resource group / resource ID / NIC / direction / 5-tupleを記録する。
  • 同じ条件でbefore/afterを比較し、既存sessionとnew connectionを区別する。
  • configuration、effective state、logs、application resultを別々の証拠として残す。
  • 変更成功はcontrol-plane Succeededではなくobservable data-plane behaviorで判定する。
Azure CLI — read-only first
az network nsg show -g <rg> -n <nsg> -o jsonc
az network nsg rule list -g <rg> --nsg-name <nsg> -o table
az network nic list-effective-nsg -g <rg> -n <nic> -o jsonc
PowerShell — read-only first
Get-AzNetworkSecurityGroup -ResourceGroupName <rg> -Name <nsg>
Get-AzEffectiveNetworkSecurityGroup -ResourceGroupName <rg> -NetworkInterfaceName <nic>

障害切り分け

症状疑う点証拠次の確認
Allow ruleがあるのに新規接続できないより高priorityのDeny、もう一方のsubnet/NIC NSG、security admin ruleeffective security rulesとNSG diagnosticsでdenying ruleを特定guest firewallやrouteを見る前にAzure側filter結果を固定する
rule削除後もSSHが切れない既存stateful flow同一sessionと新規sessionを別々に試験既存接続継続を「ruleが効いていない」と誤認しない
Internetへ出られないNSGだけでなくroute/SNAT/explicit outboundAllowInternetOutBound有無、effective route、NAT/Firewall associationNSG Allowとegress pathの成立を分離して確認
VNet内通信が意図せず通るAllowVNetInBound / AllowVnetOutBoundとVirtualNetwork service tagの範囲default ruleとeffective prefix必要なsegmentationをcustom Deny/Allowで明示

変更時の確認と rollback

  • 変更前にNSG JSON、association、effective security rulesを保存する。
  • emergency rollbackは追加ruleの削除だけでなく、priority競合と既存flow残存を確認する。
  • rollback後は新規connectionで再試験し、既存sessionだけで成功判定しない。

What changed recently

2026-09-10時点

NSG flow logsは新規作成できず、2027-09-30にretire予定です。新しい可視化設計はVNet flow logsを前提にし、既存NSG flow logsは移行計画を持たせます。

Official sources