変更要約: AZ-500 第2章を深掘り(図ja化・比較表/シナリオ/FAQ/ひっかけ/深掘り段落を全節に追加)
2.1NSG と ASG によるトラフィック制御
サブネットや NIC のレベルで通信を許可/拒否する ネットワークセキュリティグループ(NSG) と、VM をアプリの役割でグループ化する アプリケーションセキュリティグループ(ASG) を理解します。仮想ネットワーク内の通信を最小限に絞る基礎です。
仮想ネットワーク(VNet)内の通信は、既定では緩い場合があります。NSG の規則で必要な通信だけを許可し、それ以外を拒否することで攻撃面を減らします。
2.1.1NSG の規則と ASG
- NSG:サブネットまたは NIC に関連付け、受信/送信の通信を許可/拒否する。
- 規則:優先度(小さいほど先)・送信元・宛先・ポート・プロトコル・許可/拒否で構成し、最初に一致した規則が適用される。
- ASG:VM を Web 層・DB 層などアプリの役割でまとめ、NSG 規則の送信元/宛先に指定できる(IP 管理が不要)。
- 既定規則:VNet 内通信は許可、インターネットからの受信は既定で拒否、などの既定規則が最後に評価される。
「サブネット/NIC で通信を許可/拒否=NSG」「規則は優先度順・最初の一致が適用」「VM をアプリの役割でまとめ規則を簡潔に=ASG」 は AZ-500 で頻出です。NSG は L3/L4(IP・ポート)レベルの制御である点も押さえましょう。
NSG はあくまで IP・ポート単位の制御です。HTTP の中身(URL やヘッダ)に基づく防御は WAF の役割で、後の節で扱います。
規則の送信元/宛先には、IP の代わりに サービスタグ(Internet・AzureLoadBalancer・Storage・Sql など Azure 側が IP 範囲を維持する論理名)や ASG を指定できます。サービスタグは IP 範囲が自動更新されるため、PaaS の IP を手作業で追う必要がありません。サブネットと NIC の両方に NSG を付けると、受信は「サブネット→NIC」、送信は「NIC→サブネット」の順に両方評価され、どちらかが拒否すれば遮断されます。実際にどの規則が効いているか分からないときは 有効なセキュリティ規則(effective security rules) を確認し、通信の許可/拒否の記録は NSG フローログ(保存先は Storage、分析は Traffic Analytics)で追跡します。
| 指定方法 | 内容 | 使いどころ |
|---|---|---|
| IP / CIDR | 固定の IP やレンジを直接指定 | オンプレや特定ホストを許可 |
| サービスタグ | Azure が IP 範囲を維持する論理名 | PaaS(Storage/Sql 等)や Azure 基盤を IP 追跡なしで許可 |
| ASG | VM を役割でまとめた論理グループ | Web 層→DB 層のような層間規則を簡潔に |
シナリオ: Web 層 VM だけが DB 層 VM の TCP 1433 へ接続でき、それ以外の VNet 内通信は拒否したい。→ VM を asg-web・asg-db の 2 つの ASG に入れ、NSG に「送信元 asg-web・宛先 asg-db・TCP 1433・許可」を優先度高め(番号小)で追加し、その下に VNet 内通信を拒否する規則を置きます。VM を増減しても ASG に入れ直すだけで規則は不変です。
FAQ: Q. NSG を消すと全部拒否になりますか? → A. いいえ。NSG を関連付けていないサブネット/NIC には NSG の制御自体が効かず、Azure の既定(VNet 内許可・インターネット受信拒否など)に従います。Q. NSG とルートテーブル(UDR)の違いは? → A. NSG は許可/拒否、UDR は通信の経路を決めます(例:すべてを Azure Firewall に向ける)。両者は併用します。
ひっかけ: 「優先度の数字が大きい規則が優先される」は誤りです。数字が小さいほど先に評価され、最初に一致した規則が適用されます。また NSG は HTTP の中身を見ないため、「NSG で SQL インジェクションを防ぐ」も誤り(それは WAF)。
2.1.2この節のまとめ
- NSG=サブネット/NIC の許可・拒否規則(優先度順・最初の一致)
- ASG=役割で VM をまとめ規則を簡潔に
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. サブネットや NIC のレベルで受信/送信トラフィックを許可・拒否する Azure の仕組みはどれですか?
Q2. NSG の規則が複数一致し得る場合、どの規則が適用されますか?
Q3. IP アドレスを直接列挙せず、VM をアプリの役割(Web 層/DB 層など)でまとめて NSG 規則に使いたい。何を使いますか?

