Azureのネットワーク セキュリティ グループ(NSG)は、サブネットと仮想マシンの両方に適用できます。
それぞれ通信許可(○)、NSG設定なし、通信拒否(×)の3パターンがありますが、特にNSGなしの場合の挙動が気になって実験してみました。
インターネットからのSSHアクセスで実験してます。

パターン サブネット 仮想マシン 結果
1
2 NSGなし
3 × ×
4 NSGなし
5 NSGなし NSGなし
6 NSGなし × ×
7 × ×
8 × NSGなし ×
9 × × ×

まとめ

NSGなしのパターンには注意が必要ですが、他は違和感ないですね。

  • NSGなしは○と同じ扱い
  • アクセス経路がサブネット→仮想マシンだからサブネットの条件は仮想マシンに優先
  • 両方とも通信許可の場合だけ疎通OK

使い分け

大まかな絞り込みはサブネットに対するNSG適用でブラックリスト的に
配置サーバの通信要件の論理和となる通信許可設定を適用。
SSLの強制の有無や内部統制の強度に起因する仮想マシン固有の通信要件については、NSGを仮想マシンに適用し、ホワイトリストでやるといいと思います。