Виртуальные сети и виртуальные машины в Azure

При создании виртуальной машины создается виртуальная сеть или используется существующая. Необходимо решить, как будет предоставляться доступ к виртуальным машинам по виртуальной сети. Очень важно спланировать это перед созданием ресурсов, а также ознакомиться с ограничениями, применяемыми к сетевым ресурсам.

На следующем рисунке виртуальные машины представлены в виде веб-серверов и серверов приложений. Каждый набор виртуальных машин назначается для отдельных подсетей в виртуальной сети.

Diagram of multi-tier, multi-subnet application.

Можно создать виртуальную сеть перед или во время создания виртуальной машины.

Чтобы обеспечить взаимодействие с виртуальной машиной, создайте следующие ресурсы.

  • Сетевые интерфейсы
  • IP-адреса
  • Виртуальные сети и подсети

Кроме того, рассмотрим следующие дополнительные ресурсы.

  • Группы безопасности сети
  • Балансировщики нагрузки

Сетевые интерфейсы

Сетевой интерфейс (NIC) обеспечивает взаимодействие между виртуальной машиной и виртуальной сетью. На виртуальной машине должен быть хотя бы один сетевой интерфейс. Виртуальная машина может иметь несколько сетевых интерфейсов в зависимости от размера создаваемой виртуальной машины. Сведения о количестве сетевых интерфейсов, поддерживаемых каждым размером виртуальной машины, см. в статье Размеры виртуальных машин.

Вы можете создать виртуальную машину с несколькими сетевыми интерфейсами и добавлять или удалять их на протяжении жизненного цикла виртуальной машины. Несколько сетевых интерфейсов позволяют виртуальной машине подключаться к разным подсетям.

Каждый сетевой интерфейс, подключенный к виртуальной машине, должен находиться в том же расположении и в той же подписке, что и виртуальная машина. Сетевые интерфейсы необходимо подключить к виртуальной сети, созданной в том же расположении Azure и в той же подписке, что и сам сетевой интерфейс. После создания виртуальной машины можно изменить подсеть, к которой она подключена. Виртуальную сеть изменить нельзя. Каждому сетевому интерфейсу, подключенному к виртуальной машине, назначается MAC-адрес, который не изменяется до удаления виртуальной машины.

В таблице ниже перечислены методы создания сетевого интерфейса.

Метод Описание
Портал Azure При создании виртуальной машины на портале Azure сетевой интерфейс создается автоматически. На портале виртуальные машины создаются только с одним сетевым интерфейсом. Чтобы создать виртуальную машину с несколькими сетевыми интерфейсами, используйте другой метод.
Azure PowerShell Воспользуйтесь командлетом New-AzNetworkInterface с параметром чтобы указать идентификатор созданного ранее общедоступного IP-адреса.
Azure CLI Чтобы указать идентификатор созданного ранее общедоступного IP-адреса, выполните команду az network nic create с параметром .
Шаблон Для получения сведений о развертывании сетевого интерфейса с использованием шаблона см. статью Сетевой интерфейс в виртуальной сети с общедоступным IP-адресом.

IP-адреса

Можно назначить следующие типы IP-адресов для сетевого интерфейса в Azure.

  • Общедоступные IP-адреса, которые используются для входящего и исходящего подключения без преобразования сетевых адресов (NAT) к Интернету и другим ресурсам Azure, не подключенным к виртуальной сети. Для сетевого интерфейса общедоступные IP-адреса назначать необязательно. За общедоступные IP-адреса взимается номинальная плата. В рамках подписки их использование ограничено.
  • Частные IP-адреса, которые применяются для обмена данными с преобразованием сетевых адресов (NAT) в виртуальной сети, локальной сети и Интернете. Для виртуальной машины должен быть назначен хотя бы один частный IP-адрес. Дополнительные сведения о преобразовании сетевых адресов см. в статье Общие сведения об исходящих подключениях в Azure.

Можно назначить общедоступные IP-адреса для следующих объектов.

  • Виртуальные машины
  • Общедоступные подсистемы балансировки нагрузки

Можно назначить частные IP-адреса для следующих объектов.

  • Виртуальные машины
  • Внутренние подсистемы балансировки нагрузки.

IP-адреса для виртуальной машины можно назначить с помощью сетевого интерфейса.

Существует два способа назначения IP-адреса для ресурса: динамический и статический. По умолчанию Azure предоставляет IP-адреса динамически. IP-адрес не назначается при создании. Вместо этого IP-адрес предоставляется при создании виртуальной машины или запуске остановленной виртуальной машины. Если остановить или удалить виртуальную машину, IP-адрес освобождается.

Чтобы IP-адрес виртуальной машины не изменялся, вы можете явным образом задать статический способ выделения. В рамках этого способа IP-адрес назначается немедленно, а освобождается только тогда, когда вы удаляете виртуальную машину или задаете динамический способ выделения.

В таблице ниже перечислены методы создания IP-адреса.

Метод Описание
Портал Azure По умолчанию общедоступные IP-адреса являются динамическими. IP-адрес может измениться при остановке или удалении виртуальной машины. Чтобы общедоступный IP-адрес виртуальной машины не изменялся, необходимо создать статический общедоступный IP-адрес. По умолчанию при создании виртуальной машины на портале сетевому интерфейсу назначается динамический частный IP-адрес. После создания виртуальной машины его можно изменить на статический.
Azure PowerShell Используйте командлет New-AzPublicIpAddress с параметром . Укажите для этого параметра значение Dynamic или Static.
Azure CLI Используйте командлет az network public-ip create с параметром . Укажите для этого параметра значение Dynamic или Static.
Шаблон Дополнительные сведения о развертывании общедоступного IP-адреса с использованием шаблона см. в статье Сетевой интерфейс в виртуальной сети с общедоступным IP-адресом.

После создания общедоступного IP-адреса его можно связать с виртуальной машиной, присвоив его сетевому интерфейсу.

Примечание

Azure предоставляет IP-адрес исходящего трафика по умолчанию для виртуальных машин Azure, которым не назначен общедоступный IP-адрес или которые находятся в серверном пуле внутреннего Azure Load Balancer цен. категории "Базовый". Механизм IP-адреса исходящего трафика по умолчанию предоставляет исходящий IP-адрес, который нельзя настроить.

Дополнительные сведения об исходящем доступе по умолчанию см. в статье Исходящий доступ по умолчанию в Azure.

IP-адрес исходящего трафика по умолчанию отключается, когда виртуальной машине назначается общедоступный IP-адрес или виртуальная машина помещается в серверный пул Azure Load Balancer цен. категории "Стандартный" с правилами для исходящего трафика или без них. Если ресурс шлюза виртуальной сети Azure NAT назначен подсети виртуальной машины, IP-адрес исходящего трафика по умолчанию отключен.

В виртуальных машинах, созданных с помощью масштабируемых наборов виртуальных машин в режиме гибкой оркестрации, исходящий доступ по умолчанию не предусмотрен.

Дополнительные сведения об исходящих подключениях в Azure см. в статье Использование преобразования исходных сетевых адресов (SNAT) для исходящих подключений.

Виртуальные сети и подсети

Подсеть — это диапазон IP-адресов в виртуальной сети. Виртуальную сеть можно разделить на несколько подсетей, чтобы организовать ее и повысить безопасность. Каждый сетевой интерфейс виртуальной машины подключен к одной подсети в одной виртуальной сети. Сетевые интерфейсы, подключенные к подсетям (одной или разным) в виртуальной сети, могут взаимодействовать друг с другом без дополнительной настройки.

При настройке виртуальной сети вы указываете топологию, в том числе доступные адресные пространства и подсети. Выберите диапазоны адресов, которые не перекрываются, если виртуальная сеть подключена к другим виртуальным сетям или локальным сетям. IP-адреса являются частными и недоступны из Интернета. Azure рассматривает любой диапазон адресов как часть пространства IP-адресов частной виртуальной сети. Диапазон адресов доступен только внутри виртуальной сети, внутри взаимосвязанных виртуальных сетей и из вашего локального расположения.

Если вы работаете в организации, где за внутренние сети отвечает другой сотрудник, выбор адресного пространства необходимо обсудить с ним. Убедитесь, что адресное пространство не перекрывается. Сообщите сотрудникам о пространстве, которое вы хотите использовать, чтобы они не пытались использовать тот же диапазон IP-адресов.

По умолчанию между подсетями нет границ безопасности. Виртуальные машины в каждой из этих подсетей могут обмениваться данными. Если для вашего развертывания требуются границы безопасности, используйте группы безопасности сети (NSG), которые контролируют входящий и исходящий поток трафика в подсетях, а также на виртуальных машинах.

В таблице ниже перечислены методы создания виртуальной сети и подсетей.

Метод Описание
Портал Azure Если вы разрешаете Azure создавать виртуальную сеть при создании виртуальной машины, имя представляет собой комбинацию имени группы ресурсов, содержащей виртуальную сеть, и -vnet. Адресное пространство — 10.0.0.0/24, обязательное имя подсети — default, а диапазон адресов подсети — 10.0.0.0/24.
Azure PowerShell Чтобы создать подсеть и виртуальную сеть, используйте командлеты New-AzVirtualNetworkSubnetConfig и New-AzVirtualNetwork. Вы также можете добавить подсеть в существующую виртуальную сеть с помощью командлета Add-AzVirtualNetworkSubnetConfig.
Azure CLI Подсеть и виртуальная сеть создаются одновременно. Укажите параметр --subnet-name для команды --subnet-name с именем подсети.
Шаблон Дополнительные сведения об использовании шаблона для создания виртуальной сети и подсетей см. в статье Виртуальная сеть с двумя подсетями.

Группы безопасности сети

Группа безопасности сети содержит перечень правил списка управления доступом (ACL), которые разрешают или запрещают сетевой трафик к подсетям и сетевым интерфейсам (или и к тому, и к другому). Группы безопасности сети можно связать с подсетями или отдельными сетевыми интерфейсами, подключенными к подсети. Если группа безопасности сети связана с подсетью, правила списка управления доступом применяются ко всем виртуальным машинам в этой подсети. Трафик к отдельным сетевым интерфейсам можно ограничить, связав группу безопасности сети непосредственно с нужным сетевым интерфейсом.

Группы безопасности сети содержат два набора правил: для входящего и исходящего трафика. Приоритет для правила должен быть уникальным в пределах каждого набора.

Каждое правило имеет следующие свойства.

  • Протокол
  • Диапазоны исходных и конечных портов
  • Префиксы адресов
  • Направление трафика
  • Приоритет
  • Тип доступа

Все группы NSG содержат набор правил по умолчанию. Правила по умолчанию невозможно удалить. Для них назначается самый низкий приоритет, и они их невозможно переопределить с использованием созданных вами правил.

При связывании группы безопасности сети с сетевой картой правила доступа к сети в этой группе NSG применяются только для данной сетевой карты. Если группа безопасности сети применяется к одному сетевому интерфейсу на виртуальной машине с несколькими сетевыми интерфейсами, она не влияет на трафик других сетевых интерфейсов. Различные группы безопасности сети можно связать с сетевым интерфейсом (или виртуальной машиной в зависимости от модели развертывания) и подсетью, с которой связан сетевой интерфейс или виртуальная машина. Приоритет определяется в зависимости от направления трафика.

Обязательно спланируйте свои группы безопасности сети при планировании виртуальных машин и виртуальной сети.

В таблице ниже перечислены методы создания группы безопасности сети.

Метод Описание
Портал Azure При создании виртуальной машины на портале Azure группа безопасности сети создается автоматически и связывается с сетевым интерфейсом, созданным на портале. Имя группы безопасности сети состоит из имени виртуальной машины и -nsg.
Эта группа безопасности сети (NSG) содержит одно правило для входящего трафика:
с приоритетом 1000.
Для службы задан протокол RDP.
Для протокола задано значение TCP.
Для порта задано значение 3389.
Для действия задано значение
.
Если требуется разрешить любой другой входящий трафик для виртуальной машины, создайте другое правило или несколько правил.
Azure PowerShell Используйте командлет New AzNetworkSecurityRuleConfig и предоставьте сведения о необходимом правиле. Используйте командлет New-AzNetworkSecurityGroup, чтобы создать группу безопасности сети. Используйте командлет Set-AzVirtualNetworkSubnetConfig, чтобы настроить группу безопасности сети для подсети. Используйте командлет Set-AzVirtualNetwork, чтобы добавить группу безопасности сети в виртуальную сеть.
Azure CLI Используйте команду az network nsg create, чтобы изначально создать группу безопасности сети. Команда az network nsg rule create позволяет добавить правила в группу безопасности сети, а команда az network vnet subnet update — добавить группу безопасности сети в подсеть.
Шаблон Используйте шаблон Create a Network Security Group (Создание группы безопасности сети) в качестве руководства по развертыванию группы безопасности сети с помощью шаблона.

Балансировщики нагрузки

Azure Load Balancer обеспечивает высокую доступность и производительность сети для приложений. Балансировщик нагрузки можно настроить для балансировки входящего интернет-трафика виртуальных машин или для балансировки трафика между виртуальными машинами в виртуальной сети. Кроме того, балансировщик нагрузки может выполнять балансировку трафика между локальными компьютерами и виртуальными машинами в распределенных сетях или перенаправлять внешний трафик на определенную виртуальную машину.

Подсистема балансировки нагрузки сопоставляет входящий и исходящий трафик между следующими объектами.

  • Общедоступный IP-адрес и порт в подсистеме балансировки нагрузки.

  • Частный IP-адрес и порт виртуальной машины.

При создании балансировщика нагрузки необходимо также учитывать следующие элементы конфигурации.

  • Конфигурация внешних IP-адресов. Балансировщик нагрузки может включать один или несколько внешних IP-адресов. Такие IP-адреса обеспечивают поступление трафика.
  • Пул внутренних адресов. Это IP-адреса, связанные с сетевым интерфейсом, на который передается нагрузка.
  • Перенаправление портов. Эти правила определяют, как входящий трафик проходит через внешний IP-адрес и передается внутреннему IP-адресу с использованием правил NAT для входящего трафика.
  • Правила балансировщика нагрузки. Сопоставляют указанное сочетание внешнего IP-адреса и порта с набором внутренних IP-адресов и портов. Отдельная подсистема балансировки нагрузки может применять несколько правил балансировки нагрузки. Каждое правило представляет собой сочетание интерфейсных IP-адреса и порта и внутренних IP-адреса и порта, связанных с виртуальными машинами.
  • Пробы. Пробы позволяют отслеживать работоспособность виртуальных машин. Если проба не отвечает, балансировщик нагрузки прекращает отправлять новые подключения неработоспособным виртуальным машинам. Это не влияет на имеющиеся подключения, а новые подключения отправляются на работоспособные виртуальные машины.
  • Правило для исходящего трафика. Позволяет настроить NAT для отображения в интерфейсе всех виртуальных машин или экземпляров, которые входят в серверный пул Load Balancer (цен. категория "Стандартный").

В таблице ниже перечислены методы создания балансировщика нагрузки с выходом в Интернет.

Метод Описание
Портал Azure Вы можете настроить балансировку интернет-трафика на виртуальных машинах с помощью портала Azure.
Azure PowerShell Используйте командлет New-AzLoadBalancerFrontendIpConfig с параметром , чтобы указать идентификатор созданного ранее общедоступного IP-адреса. Используйте командлет New-AzLoadBalancerBackendAddressPoolConfig, чтобы создать конфигурацию пула внутренних адресов. Используйте командлет New-AzLoadBalancerInboundNatRuleConfig, чтобы создать правила преобразования сетевых адресов для входящих подключений, связанные с созданной конфигурацией внешних IP-адресов. Используйте командлет New-AzLoadBalancerProbeConfig, чтобы создать необходимые пробы. Используйте командлет New-AzLoadBalancerRuleConfig, чтобы создать конфигурацию балансировщика нагрузки. Используйте командлет New-AzLoadBalancer, чтобы создать балансировщик нагрузки.
Azure CLI Используйте команду az network lb create, чтобы создать начальную конфигурацию балансировщика нагрузки. Команда az network lb frontend-ip create позволяет добавить созданный ранее общедоступный IP-адрес, Команда az network lb address-pool create позволяет добавить конфигурацию пула внутренних адресов, команда az network lb inbound-nat-rule create — правила преобразования сетевых адресов, команда az network lb rule create — правила балансировщика нагрузки, а команда az network lb probe create — пробы.
Шаблон Используйте 3 виртуальные машины в Load Balancer в качестве руководства по развертыванию подсистемы балансировки нагрузки с помощью шаблона.

В таблице ниже перечислены методы создания внутреннего балансировщика нагрузки.

Метод Описание
Портал Azure Вы можете настроить балансировку нагрузки внутреннего трафика с помощью подсистемы балансировки нагрузки на портале Azure.
Azure PowerShell Используйте командлет New-AzLoadBalancerFrontendIpConfig с параметром , чтобы указать частный IP-адрес в подсети сети. Используйте командлет New-AzLoadBalancerBackendAddressPoolConfig, чтобы создать конфигурацию пула внутренних адресов. Используйте командлет New-AzLoadBalancerInboundNatRuleConfig, чтобы создать правила преобразования сетевых адресов для входящих подключений, связанные с созданной конфигурацией внешних IP-адресов. Используйте командлет New-AzLoadBalancerProbeConfig, чтобы создать необходимые пробы. Используйте командлет New-AzLoadBalancerRuleConfig, чтобы создать конфигурацию балансировщика нагрузки. Используйте командлет New-AzLoadBalancer, чтобы создать балансировщик нагрузки.
Azure CLI Используйте команду az network lb create, чтобы создать начальную конфигурацию балансировщика нагрузки, Чтобы определить частный IP-адрес используйте командлет az network lb frontend-ip create с параметром . Команда az network lb address-pool create позволяет добавить конфигурацию пула внутренних адресов, команда az network lb inbound-nat-rule create — правила преобразования сетевых адресов, команда az network lb rule create — правила балансировщика нагрузки, а команда az network lb probe create — пробы.
Шаблон Используйте 2 виртуальные машины в Load Balancer в качестве руководства по развертыванию подсистемы балансировки нагрузки с помощью шаблона.

Виртуальные машины

Виртуальные машины можно создать в одной виртуальной сети, и они могут подключаться друг к другу с помощью частных IP-адресов. Виртуальные машины могут подключаться, если они находятся в разных подсетях. Они подключаются без необходимости настройки шлюза или использования общедоступных IP-адресов. Чтобы разместить виртуальные машины в виртуальной сети, создайте виртуальную сеть. При создании каждой виртуальной машины ее необходимо назначить для виртуальной сети и подсети. Виртуальные машины получают свои сетевые параметры во время развертывания или запуска.

Виртуальным машинам при развертывании назначается IP-адрес. Когда выполняется развертывание нескольких виртуальных машин в виртуальной сети или подсети, для них назначаются IP-адреса при загрузке. Виртуальной машине можно также назначить статический IP-адрес. При назначении статического IP-адреса используйте определенную подсеть. Это позволит избежать назначения этого IP-адреса для другой виртуальной машины.

Если вы создали виртуальную машину, а затем хотите добавить ее в виртуальную сеть, потребуется много усилий, чтобы изменить настройки. Выполните повторное развертывание виртуальной машины в виртуальной сети. Проще всего удалить виртуальную машину (но не присоединенные к ней диски), а затем повторно создать ее в виртуальной сети, используя исходные диски.

В таблице ниже перечислены методы создания виртуальной машины в виртуальной сети.

Метод Описание
Портал Azure Используйте указанные ранее стандартные параметры сети, чтобы создать виртуальную машину с одним сетевым интерфейсом. Однако виртуальная машина с несколькими сетевыми интерфейсами создается другим методом.
Azure PowerShell Используйте командлет Add-AzVMNetworkInterface, чтобы добавить в конфигурацию виртуальной машины созданный ранее сетевой интерфейс.
Azure CLI Создайте виртуальную машину и подключите ее к виртуальной сети, подсети и сетевому адаптеру, созданным на отдельных шагах.
Шаблон Используйте шаблон Very simple deployment of a Windows VM (Простое развертывание виртуальной машины Windows) в качестве руководства по развертыванию виртуальной машины с помощью шаблона.

NAT виртуальной сети

NAT (преобразование сетевых адресов) виртуальной сети упрощает возможность исходящего интернет-подключения для виртуальных сетей. При настройке NAT в подсети все исходящие подключения используют указанные статические общедоступные IP-адреса. Исходящее подключение возможно без подсистемы балансировки нагрузки или общедоступных IP-адресов путем прямого подключения к виртуальным машинам. NAT полностью управляемое и отличается высокой устойчивостью.

Исходящие подключения можно определить для каждой подсети с использованием NAT. У нескольких подсетей в одной виртуальной сети могут быть разные ресурсы NAT. Подсеть настраивается путем указания того, какой ресурс шлюза NAT использовать. Все исходящие потоки UDP и TCP из любого экземпляра виртуальной машины будут использовать NAT. NAT совместимо с ресурсами общедоступного IP-адреса с SKU "Стандартный", ресурсами префикса общедоступного IP-адреса или их сочетанием. Вы можете использовать префикс общедоступного IP-адреса напрямую или распространять общедоступные IP-адреса префикса по нескольким ресурсам шлюза NAT. NAT будет очищать весь трафик, кроме трафика в диапазоне IP-адресов префикса. Это облегчает работу с любой фильтрацией IP-адресов для развертываний.

Весь исходящий трафик для подсети автоматически обрабатывается NAT без каких-либо пользовательских настроек. Определяемые пользователем маршруты не нужны. У NAT есть приоритет над другими сценариями исходящих подключений, и оно заменяет стандартный адрес назначения в Интернете для подсети.

В виртуальных машинах, созданных с помощью масштабируемых наборов виртуальных машин в режиме гибкой оркестрации, исходящий доступ по умолчанию не предусмотрен. NAT виртуальных сетей — рекомендуемый способ исходящего доступа для режима гибкой оркестрации масштабируемых наборов виртуальных машин.

Дополнительные сведения о ресурсе шлюза NAT и NAT виртуальной сети см. в статье NAT виртуальной сети Azure.

В этой таблице перечислены методы, которые можно использовать для создания ресурса шлюза NAT.

Метод Описание
Портал Azure Создает виртуальную сеть, подсеть, общедоступный IP-адрес, шлюз NAT и виртуальную машину для проверки ресурса шлюза NAT.
Azure PowerShell Включает использование командлета New-AzNatGateway для создания ресурса шлюза NAT. Создает виртуальную сеть, подсеть, общедоступный IP-адрес, шлюз NAT и виртуальную машину для проверки ресурса шлюза NAT.
Azure CLI Включает использование команды az network nat gateway create для создания ресурса шлюза NAT. Создает виртуальную сеть, подсеть, общедоступный IP-адрес, шлюз NAT и виртуальную машину для проверки ресурса шлюза NAT.
Шаблон Создает виртуальную сеть, подсеть, общедоступный IP-адрес и ресурс шлюза NAT.

Бастион Azure

Бастион Azure развертывается для обеспечения безопасного подключения к виртуальным машинам в виртуальной сети. Служба “Бастион Azure” позволяет безопасно и без проблем использовать RDP & и SSH на виртуальных машинах в виртуальной сети. Бастион Azure обеспечивает подключения без необходимости предоставления общедоступного IP-адреса на виртуальной машине. Подключения осуществляются непосредственно из портала Azure без необходимости использования дополнительного клиента, агента или компонента программного обеспечения. Бастион Azure поддерживает стандартные общедоступные IP-адреса SKU.

Дополнительные сведения о Бастионе Azure см. в статье Что такое Бастион Azure.

В этой таблице перечислены методы, которые можно использовать для создания развертывания Бастиона Azure.

Метод Описание
Портал Azure Создает виртуальную сеть, подсети, общедоступный IP-адрес, узел бастиона и виртуальные машины.
Azure PowerShell Создает виртуальную сеть, подсети, общедоступный IP-адрес и узел бастиона. Включает использование командлета New-AzBastion для создания узла бастиона.
Azure CLI Создает виртуальную сеть, подсети, общедоступный IP-адрес и узел бастиона. Включает использование команды az network bastion create для создания узла бастиона.
Шаблон Пример развертывания шаблона, который интегрирует узел Бастиона Azure с примером развертывания, см. в документе Краткое руководство. Создание общедоступной подсистемы балансировки нагрузки для балансировки нагрузки виртуальных машин с использованием шаблона ARM.

Дальнейшие действия

Действия по управлению виртуальными сетями Azure для виртуальных машин см. в руководствах для Windows или Linux.

Также ознакомьтесь с руководствами по распределению нагрузки виртуальных машин и созданию приложений с высоким уровнем доступности для Windows или Linux.