Я создал несколько виртуальных машин в Azure.
Я вижу, что vnet был создан для моих виртуальных машин. Это замечательно, так как им нужна сеть, и я (конечно) хотел бы, чтобы они могли подключаться друг к другу.
Я также вижу, что была создана группа сетевой безопасности, и это здорово, поскольку я могу затем контролировать правила брандмауэра и внешний доступ.
Однако я не понимаю, в чем разница и почему они оба существуют? Почему они разделены, в отличие от группы сетевой безопасности, реализованной как вкладка межсетевого экрана под vnet (как это делает база данных SQL). Я также не вижу, как связаны между собой vnet и группа безопасности сети. У них обоих одинаковые сетевые адаптеры, но, похоже, они не знают друг друга - означает ли это, что группа безопасности может не применяться к некоторым сетевым адаптерам в сети? (и наоборот, может ли группа сетевой безопасности иметь сетевые адаптеры из разных виртуальных сетей?)
NSG могли бы, я полагаю, быть реализованы как часть vNet, но на самом деле текущий подход обеспечивает большую гибкость, особенно если вы используете шаблоны для развертывания.
vNets - это ваши контейнеры, которые обеспечивают связь между виртуальными машинами и границей между вашим окружением и внешним миром. Внутри vNets вы создаете подсети для организации своей сети по своему усмотрению и настраиваете правило маршрутизации для определения того, как проходит трафик (если вам не нравятся умолчания). vNets также предоставляет функциональность для подключения к таким вещам, как VPN и Express route.
NSG - это ваши брандмауэры, которые определяют, через которые разрешен трафик. Важно отметить, что NSG могут применяться как для отдельных станков, так и для подсетей. Это различие означает, что вы можете применять NSG к подсетям, и он может контролировать, какой трафик разрешен как из внешнего мира, так и из других подсети вашей сети. Или же вы можете определить его на уровне VM/NIC и заблокировать только для этой ВМ.
.