Azure

Azure NSG / ASG 設計集|Network Security Group ルール設計・Application Security Group 活用パターン

2026-05-24
NicheeLab編集部

NSG (Network Security Group)ASG (Application Security Group) は Azure VNet のセキュリティ基盤です。 無料で利用できる基本ファイアウォール機能ながら、設計を間違えると保守不能になったり、適切に活用すれば数百 VM の組織内通信を簡潔にコントロールできます。 本記事では、NSG / ASG の設計原則・標準パターン・運用ベストプラクティスを実装テンプレート付きで整理します。

NSG と ASG の基本

項目NSGASG
分類ステートフルファイアウォール論理グループ化
適用レベルSubnet または NICVM NIC
ルール定義Inbound/Outbound、IP/Port/ProtocolNSG ルール内で参照
料金無料無料
役割制御エンジン論理グルーピング

両者は併用が標準で、ASG を NSG ルールで参照することでロールベースのセキュリティ管理を実現します。

NSG ルールの優先度

NSG ルールは優先度 (Priority、100-4096) の昇順で評価され、最初にマッチしたルールで判定終了します。

Default Rules

  • Inbound: AllowVnetInBound (65000)・AllowAzureLoadBalancerInBound (65001)・DenyAllInBound (65500)
  • Outbound: AllowVnetOutBound (65000)・AllowInternetOutBound (65001)・DenyAllOutBound (65500)

推奨優先度階層

優先度範囲用途
100-200超高優先・緊急ブロック
1000-3000通常 Allow ルール (1000 ずつ間隔)
4000カスタムデフォルト Deny
65000+Default Rules (そのまま)

優先度の隙間を空けて配置することで、後から優先度変更不要でルール追加可能です。

Service Tags の活用

Service Tags は Microsoft が提供する Azure サービスの IP アドレス範囲の事前定義グループ。NSG ルールで IP アドレスの代わりに使用、Microsoft が IP 範囲を自動更新するため運用負荷ゼロ。

頻用 Service Tags

  • VirtualNetwork: VNet 内のすべての IP
  • Internet: VNet 外のすべての IP
  • AzureLoadBalancer: Azure Load Balancer の Health Probe
  • AzureCloud: すべての Azure サービス IP
  • Storage: Azure Storage の IP 範囲
  • AzureKeyVault: Key Vault の IP 範囲
  • AzureMonitor: Azure Monitor の IP
  • AzureActiveDirectory: Entra ID の IP 範囲
  • AzureContainerRegistry: ACR の IP

3-tier ASG 設計パターン

標準的なエンタープライズ Web アプリケーションの ASG 設計:

  • WebTier-ASG: Web サーバー VM 群 (Frontend)
  • AppTier-ASG: アプリ VM 群 (Backend)
  • DBTier-ASG: DB サーバー VM 群
  • MgmtTier-ASG: Jumpbox・管理 VM 群

NSG ルール例

優先度名前SourceDestinationPortAction
100AllowWebInboundInternetWebTier-ASGTCP 80,443Allow
200AllowWebToAppWebTier-ASGAppTier-ASGTCP 8080Allow
300AllowAppToDBAppTier-ASGDBTier-ASGTCP 1433Allow
400AllowMgmtInboundVirtualNetworkMgmtTier-ASGTCP 22,3389Allow
4000DenyAllInboundAnyAnyAnyDeny

これにより VM の IP アドレスを意識せず、ロール単位でセキュリティ制御可能。Auto Scale で VM が動的に増減してもルール変更不要というメリットを得られます。

Subnet レベル vs NIC レベル

項目Subnet レベル NSGNIC レベル NSG
適用範囲Subnet 内のすべてのリソース個別 VM の NIC のみ
管理容易・スケーラブルVM 個別管理
用途基本セキュリティ特定 VM のみの例外
推奨度例外時のみ

Subnet と NIC の両方適用時は AND 評価、両方で許可されたトラフィックのみ通過。新規 VNet では Subnet レベル NSG を必ず構成、NIC レベルは例外時のみ使用が推奨です。

NSG Flow Logs と Traffic Analytics

NSG Flow Logs は、NSG を通過するすべてのトラフィックを JSON 形式で Storage Account にログ記録する機能です。

  • Allowed / Denied・送信元/宛先 IP・Port・Protocol・タイムスタンプ・バイト数を記録
  • Traffic Analytics (Network Watcher の有償機能): 集計・可視化、Top Talker・異常通信・脅威検知のレポート
  • Microsoft Sentinel への送信で SOC アナリティクスに統合、KQL クエリで異常通信検知
  • Flow Logs v2 (現行) は集計レポート提供、v1 はレガシー

本番運用ではコンプライアンス要件 (PCI DSS・HIPAA) や Forensic 調査のため Flow Logs 必須で、最低 90 日の Retention 設定が標準です。

設計の落とし穴

  1. Default Outbound Allow Internet を放置: 全 VM がインターネット出力可能、データ漏洩リスク。適切な Deny ルール追加
  2. 特殊 Subnet 名 (AzureBastionSubnet / GatewaySubnet) で制約: Bastion Subnet では一部ルール必須・Gateway Subnet は NSG 非推奨
  3. Service Tag の更新タイミング考慮不足: Microsoft が IP 範囲を月次更新、新規 IP が一時的に Block される可能性
  4. NSG ルール優先度を密にしすぎ: 後から追加困難、1000 ずつ間隔を空ける
  5. ASG を使わず IP アドレス直接指定: Auto Scale 時にルール破綻
  6. Flow Logs 未設定: 障害時に原因特定不可

運用ベストプラクティス

  1. Subnet レベル NSG を必ず適用 (基本セキュリティ)
  2. ASG を 4-5 ロールで設計、IP アドレスではなく ASG で NSG ルール記述
  3. Service Tags を積極活用、Microsoft の IP 更新に自動追随
  4. 優先度は 100/200/300/1000/2000/3000/4000 のように間隔を空ける
  5. カスタム DenyAllInbound (4000) で明示的な全 Deny
  6. NSG Flow Logs を全 NSG で有効化、Retention 90+ 日
  7. Traffic Analytics で月次レポートを SOC に共有
  8. Microsoft Sentinel への送信で KQL 異常検知
  9. NSG ルールの命名規則統一 (例: Allow_Web_To_App_8080)
  10. 不要ルールの定期棚卸し (四半期に 1 回)

関連認定試験

よくある質問

NSG と ASG の違いは?

NSG (Network Security Group) は VNet 内のトラフィックを制御するステートフルファイアウォール、Subnet または NIC レベルで適用、IP/Port/Protocol ベースの Inbound/Outbound ルールを定義。ASG (Application Security Group) は NSG ルールを論理グループ化する補助機能、Web Tier・App Tier・DB Tier などのロール別グループを作って NSG ルールで IP アドレスの代わりに参照、ルール管理を大幅に簡素化。両者は併用が標準で、NSG が制御エンジン・ASG が論理グルーピングという関係性。エンタープライズ VNet では必ず ASG を活用して NSG ルールを保守可能にすべきです。

NSG のルール優先度とは?

NSG ルールは優先度 (Priority、100-4096) の昇順で評価され、最初にマッチしたルールで判定終了。100 が最優先、4096 が最低。標準で 3 つの Default Rules (65000-65500) が存在: AllowVnetInBound・AllowAzureLoadBalancerInBound・DenyAllInBound (Inbound)、AllowVnetOutBound・AllowInternetOutBound・DenyAllOutBound (Outbound)。これらは Override 可能でカスタムルールで上書き。設計原則: 100-200 を超高優先 (緊急ブロック)、1000-3000 を通常 Allow ルール、4000 をデフォルト Deny、Default Rules はそのまま、という階層化が定石。優先度の隙間を空けて配置することで、後から優先度変更不要でルール追加可能です。

Service Tags と FQDN Tags の違いは?

Service Tags: Microsoft が提供する Azure サービスの IP アドレス範囲の事前定義グループ (例: AzureCloud・Internet・VirtualNetwork・AzureKeyVault・AzureMonitor・Storage 等 60+ タグ)。NSG / Azure Firewall Network Rule で IP アドレスの代わりに使用、Microsoft が IP 範囲を自動更新するため運用負荷ゼロ。FQDN Tags: Azure Firewall Application Rule で使用する FQDN グループ (例: Microsoft365・WindowsUpdate・AzureBackup)、HTTP/HTTPS のみ対応、Service Tags より少ない数だが頻用シナリオをカバー。NSG では Service Tags のみ使用可能、FQDN Tags は Azure Firewall 限定。例: NSG で『この Subnet から Storage Service への Outbound のみ許可』を Service Tag = Storage で実装するパターンが頻出です。

Subnet レベルと NIC レベルの NSG はどちらが推奨?

Subnet レベルが推奨。Subnet レベル NSG は、Subnet 内のすべてのリソースに一律適用、管理が容易・スケーラブル。NIC レベル NSG は、個別 VM の NIC に直接適用、特定 VM のみの例外ルール用。実装パターン: 基本セキュリティを Subnet レベル NSG で構成、特定 VM のみの追加制御を NIC レベル NSG で追加 (Subnet と NIC の両方適用時は AND 評価、両方で許可されたトラフィックのみ通過)。新規 VNet では Subnet レベル NSG を必ず構成、NIC レベルは例外時のみ使用するのがベストプラクティスです。

ASG はどう設計しますか?

ASG (Application Security Group) はロール別の論理グループを作成、VM の NIC に ASG を関連付け、NSG ルールで Source/Destination に ASG を指定。標準設計: WebTier-ASG (Web サーバー VM 群)・AppTier-ASG (アプリ VM 群)・DBTier-ASG (DB サーバー VM 群)・MgmtTier-ASG (Jumpbox・管理 VM 群) の 4-5 ASG。NSG ルール例: 『Internet → WebTier-ASG TCP 80/443 Allow』『WebTier-ASG → AppTier-ASG TCP 8080 Allow』『AppTier-ASG → DBTier-ASG TCP 1433 Allow』。これにより VM の IP アドレスを意識せず、ロール単位でセキュリティ制御可能、Auto Scale で VM が動的に増減してもルール変更不要というメリットを得られます。

NSG Flow Logs とは?

NSG Flow Logs は、NSG を通過するすべてのトラフィックを JSON 形式で Storage Account にログ記録する機能。Allowed / Denied・送信元/宛先 IP・Port・Protocol・タイムスタンプ・バイト数を記録。Traffic Analytics (Network Watcher の有償機能) で集計・可視化、Top Talker・異常通信・脅威検知のレポート提供。Microsoft Sentinel への送信で SOC アナリティクスに統合、KQL クエリで異常通信検知 (例: 想定外の Outbound 通信・大量の Denied 通信)。Flow Logs v2 (現行) は集計レポート提供、v1 はレガシー。本番運用ではコンプライアンス要件 (PCI DSS・HIPAA) や Forensic 調査のため Flow Logs 必須で、最低 90 日の Retention 設定が標準です。

NSG 設計の落とし穴は?

代表的な落とし穴: 1) Default Outbound Allow Internet を放置 (全 VM がインターネット出力可能、データ漏洩リスク)、適切な Deny ルールを追加。2) Subnet 名を AzureBastionSubnet / GatewaySubnet にすると NSG 適用に制約あり (Bastion Subnet では一部ルール必須・Gateway Subnet は NSG 非推奨)。3) Service Tag の更新タイミングを考慮しない (Microsoft が IP 範囲を月次更新、新規 IP が一時的に Block される可能性)。4) NSG ルール優先度を密にしすぎる (後から追加困難)、1000 ずつ間隔を空ける。5) ASG を使わず IP アドレス直接指定 (Auto Scale 時にルール破綻)。6) Flow Logs 未設定 (障害時に原因特定不可)。これらを設計初期段階で意識することが、運用コストの大幅削減につながります。

関連認定試験は?

AZ-700 (Network Engineer Associate) で NSG / ASG が深く問われ、Rule 設計・Service Tags・Flow Logs・Traffic Analytics・ASG 活用パターンが頻出。AZ-104 (Administrator) のドメイン 4 で基礎、AZ-305 (Solutions Architect Expert) でアーキテクト視点でのセキュリティ設計、SC-100 (Cybersecurity Architect Expert) でゼロトラストネットワーク・マイクロセグメンテーション、SC-500 (旧 AZ-500、2026-09 GA) で Azure セキュリティ実装。Azure を扱うすべてのエンジニアにとって NSG / ASG の理解は必須スキルです。

関連記事・技術深掘り

Azure Network Watcher トラブルシューティング完全ガイド|Connection Troubleshoot・IP Flow Verify・Packet Capture【2026 年版】

Azure Network Watcher の完全ガイド。Connection Troubleshoot・IP Flow Verify・Next Hop・Packet Capture・NSG Flow Logs・Connection Monitor・Traffic Analytics・Effective Routes など全機能解説。標準トラブルシューティングフロー、関連認定試験 (AZ-700 / AZ-305 / SC-200) を日本語で網羅。

Azure Architect キャリアロードマップ|AZ-900 → AZ-305 → SC-100 シニアアーキテクトへの道【2026 年版】

Azure Solutions Architect になるための認定取得ロードマップ完全版。AZ-900 → AZ-104 → AZ-305 の王道ルート、AZ-400 / SC-100 / AZ-700 との二刀流 / 三刀流戦略、マルチクラウド対応 (AWS / GCP)、未経験から 7-12 ヶ月の学習プラン、年収レンジまで日本語で網羅。

Azure セキュリティエンジニア キャリアロードマップ|SC-900 → SC-200/300/400 → SC-100 シニアへの道【2026 年版】

Azure セキュリティエンジニアになるための認定取得ロードマップ完全版。SC-900 → SC-200/300/400 のいずれか → SC-100 / SC-500 の王道ルート、ロール別の優先順序、CISSP との二刀流戦略、SC-500 (旧 AZ-500 後継、2026-09 GA 予定) の動向、10-15 ヶ月の学習プラン、年収レンジまで日本語で網羅。

Azure Kubernetes Service (AKS) 入門ガイド|アーキテクチャ・Networking・Ingress・セキュリティ完全解説【2026 年版】

Azure Kubernetes Service (AKS) の入門ガイド。Control Plane と Node Pool の構造、Azure CNI Overlay vs Kubenet の選定、Application Gateway / NGINX Ingress 選定、Workload Identity (新方式)、Private Cluster・Microsoft Defender for Containers・Azure Policy のセキュリティ、関連認定試験 (AZ-104 / AZ-204 / AZ-400 / CKA) を日本語で網羅。

本記事の技術情報は Azure NSG Documentation に基づいています。 本記事は Microsoft Corporation の公式商品ではなく、いかなる提携・後援関係もありません。 Microsoft、Azure は Microsoft group of companies の商標です。 情報は 2026 年 5 月 24 日時点の公式公開資料に基づきます。最新情報は必ず公式ページをご確認ください。

この記事で学んだ内容を問題で確認しましょう

16,000問以上の問題で実力チェック

Azure 試験対策ページを見る
この記事の著者

NicheeLab編集部

データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。


関連記事
Azure

AZ-900 完全ガイド|Microsoft Azure Fundamentals 出題範囲・学習リソース・合格戦略

Microsoft Azure Fundamentals (AZ-900) の 2026 年 1 月 14 日改訂版に対...

Azure

Azure 認定資格ロードマップ 2026 完全版|全 26 試験の体系と大型再編 (AI-901/AI-103/SC-500)

Microsoft Azure 認定資格 全 26 試験 (現行 23 + 退役 3) の 2026 年版ロードマップ。...

Azure

AI-901 完全ガイド|Azure AI Fundamentals 新試験

Microsoft Certified: Azure AI Fundamentals (AI-901) の出題範囲・Mi...

Azure

Microsoft Entra ID 入門|旧 Azure AD から学ぶ ID 管理 (AZ-900/SC-900/AZ-104 必須知識)

Microsoft Entra ID (旧 Azure Active Directory) の入門解説。2023 年 7...

Azure

DP-900 完全ガイド|Azure Data Fundamentals 出題範囲・学習リソース・合格戦略

Microsoft Azure Data Fundamentals (DP-900) の完全ガイド。4 ドメインの出題範...

Azureの記事一覧 (103件)
© 2026 NicheeLab All rights reserved.