
この記事の内容
VNetはネットワークのまとまり、サブネットはその中のアドレス範囲の区分、NSGは通信を許可・拒否するためのルールです。 名前を覚えるときは、「どこに配置するか」と「どの通信を通すか」を分けてみましょう。
勉強会の申込アプリを、受付画面のVMと処理用のVMに分ける架空の例で考えます。「サブネットも二つに分ければ、お互いの通信は自動で止まる?」という疑問が、今回の出発点です。
VNetは、Azure内のネットワークのまとまり
Azure Virtual Network(VNet)は、Azureでプライベートなネットワークを構成するための基本になるサービスです。VMなどのリソース間の通信や、ほかのネットワークとの接続を考える土台になります。VNetの公式概要
「プライベート」という名前だけで、接続先や安全性が全部決まるわけではありません。ネットワークの構成や通信のルールを合わせて読む必要があります。
VNetは一つのリージョンとサブスクリプションに属します。一方、サブネットを可用性ゾーンごとに分ける必要はありません。VNetとサブネットは、そのリージョン内の可用性ゾーンにまたがります。VNetの概念、可用性ゾーンとの関係
サブネットは、アドレス範囲を分けるもの
VNetにはアドレス空間を用意し、その一部をサブネットへ割り当てます。アプリの構成に合わせて区分を作り、対応するリソースを配置するイメージです。サブネットの公式説明
架空の申込アプリなら、受付画面のVMをサブネットA、処理用のVMをサブネットBに置く、と整理できます。ただし、AとBを別のサブネットにしただけで、通信を拒否する境界ができたとは言えません。 Microsoftも、サブネット間に既定のセキュリティ境界はないと説明しています。VMとサブネットの関係
図は説明用の架空構成です。A・Bという区分と、通信を許可・拒否するルールは、別の問いとして読んでください。
NSGは、どの通信を通すかを判断するルール
Network Security Group(NSG)は、受信・送信の通信を許可または拒否するルールを持ちます。送信元・宛先、ポート、プロトコルなどが判断の材料です。NSGの公式概要
サブネットや、VMのネットワークインターフェイス(NIC)に関連付けて使います。NICはVMとVNetをつなぐ部分です。「NSGというリソースがある」だけでなく、どこに関連付いているかも確認します。関連付けと評価の説明
ここでも、「NSGがあるから、サブネット同士はすべて遮断される」とは限りません。NSGには既定の許可・拒否ルールがあり、仮想ネットワーク内の通信を許可するルールも含まれます。実際の構成では、追加したルールや優先順位を含めて読む必要があります。NSGの既定ルール
通らないとき、片側の「許可」だけで決めない
サブネットとNICの両方にNSGが関連付いている構成では、関係する両方のルールが影響します。片方に許可があっても、もう片方がその通信を拒否していれば、その許可だけで通るとは言えません。NSGの評価の流れ
これはNSGを二重に付ける勧めではなく、既存の構成を読むときの注意です。また、NSGで許可されていることは、通信経路や相手のアプリまで含めた動作成功の証明ではありません。
まず、管理する担当者と次の四つをそろえてみましょう。
- 調べたいリソースはどれか
- どのVNet・サブネットにあるか
- サブネットやNICに、どのNSGが関連付いているか
- どこからどこへ、どんな通信をしたいのか
この確認のために、ルールを削除したり、すべての通信を許可したりする必要はありません。変更が必要なら、影響を受ける接続と戻し方を担当者と確認してから判断します。
管理権限の話とは、分けて覚える
「誰がAzureの設定を変更できるか」は、Azure RBACの役割です。「リソースをどの単位でまとめるか」は、リソースグループやサブスクリプションの話になります。
VNet・サブネット・NSGを見るときは、「配置の区分を知りたいのか」「通信ルールを知りたいのか」を一文にしてみてください。サブネットの名前を見ただけで安全性を決めず、関連付けとルールへ視線を進められます。
出典を開く
- 確認日 https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview
- 確認日 https://learn.microsoft.com/en-us/azure/virtual-network/concepts-and-best-practices
- 確認日 https://learn.microsoft.com/en-us/azure/virtual-network/network-overview
- 確認日 https://learn.microsoft.com/en-us/azure/virtual-network/network-security-groups-overview
- 確認日 https://learn.microsoft.com/en-us/azure/virtual-network/network-security-group-how-it-works