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

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

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

Схема многоуровневого приложения, использующего несколько подсетей.

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

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

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

  • IP-адреса

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

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

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

  • Подсистемы балансировки нагрузки

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

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

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

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

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

Метод Description
Портал Azure При создании виртуальной машины на портале Azure сетевой интерфейс создается автоматически. На портале виртуальные машины создаются только с одним сетевым интерфейсом. Чтобы создать виртуальную машину с несколькими сетевыми интерфейсами, используйте другой метод.
Azure PowerShell Воспользуйтесь командлетом New-AzNetworkInterface с параметром -PublicIpAddressId чтобы указать идентификатор созданного ранее общедоступного IP-адреса.
Azure CLI Чтобы указать идентификатор созданного ранее общедоступного IP-адреса, выполните команду az network nic create с параметром --public-ip-address.
Шаблон Для получения сведений о развертывании сетевого интерфейса с использованием шаблона см. статью Сетевой интерфейс в виртуальной сети с общедоступным 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-адреса.

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

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

Примечание.

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

IP-адрес исходящего доступа по умолчанию отключен при возникновении одного из следующих событий:

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

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

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

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

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

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

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

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

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

Метод Description
Портал 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 для команды az network vnet create с именем подсети.
Шаблон Дополнительные сведения об использовании шаблона для создания виртуальной сети и подсетей см. в статье Виртуальная сеть с двумя подсетями.

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

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

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

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

  • Протокол

  • Диапазоны исходных и конечных портов

  • Префиксы адресов

  • Направление трафика

  • Приоритет

  • Тип доступа

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

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

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

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

Метод Description
Портал 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 (цен. категория "Стандартный").

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

Метод Description
Портал Azure Вы можете настроить балансировку интернет-трафика на виртуальных машинах с помощью портала Azure.
Azure PowerShell Используйте командлет New-AzLoadBalancerFrontendIpConfig с параметром -PublicIpAddress, чтобы указать идентификатор созданного ранее общедоступного 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 в качестве руководства по развертыванию подсистемы балансировки нагрузки с помощью шаблона.

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

Метод Description
Портал Azure Вы можете настроить балансировку нагрузки внутреннего трафика с помощью подсистемы балансировки нагрузки на портале Azure.
Azure PowerShell Используйте командлет New-AzLoadBalancerFrontendIpConfig с параметром -PrivateIpAddress, чтобы указать частный 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 с параметром --private-ip-address. Команда 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-адреса для другой виртуальной машины.

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

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

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

Шлюз NAT

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

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

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

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

Дополнительные сведения о шлюзе Azure NAT см. в статье "Что такое шлюз NAT Azure?".

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

Метод Description
Портал 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.

Почасовая цена начинается с момента развертывания Бастиона независимо от использования исходящих данных. Дополнительные сведения см. в разделе "Цены и номера SKU". Если вы развертываете Бастион в рамках руководства или теста, рекомендуется удалить этот ресурс после завершения работы с ним.

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

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

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

Следующие шаги

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

Также приведены краткие руководства по балансировке нагрузки виртуальных машин и созданию высокодоступных приложений с помощью интерфейса командной строки или PowerShell.