В этой статье показано , как связать общедоступный IP-адрес с существующей виртуальной машиной Azure. Для этого вы связываете общедоступный IP-адрес с IP-конфигурацией сетевого интерфейса, подключенного к виртуальной машине. Вы можете использовать портал Azure, Azure CLI или Azure PowerShell, выбрав вкладку для используемого метода.
Если вы хотите создать виртуальную машину с общедоступным IP-адресом, можно использовать портал Azure, Azure CLI или Azure PowerShell.
За общедоступные IP-адреса взимается номинальная плата. Подробные сведения см. в разделе Цены. Существует ограничение на количество общедоступных IP-адресов, которые можно использовать для каждой подписки. Подробные сведения см. в разделе Ограничения.
Примечание.
Azure предоставляет IP-адрес исходящего доступа по умолчанию для виртуальных машин, которые либо не назначены общедоступным IP-адресом, либо находятся в серверном пуле внутренней подсистемы балансировки нагрузки Azure. Механизм IP-адреса исходящего трафика по умолчанию предоставляет исходящий IP-адрес, который нельзя настроить.
IP-адрес исходящего доступа по умолчанию отключен при возникновении одного из следующих событий:
- Общедоступный IP-адрес назначается виртуальной машине.
- Виртуальная машина размещается в серверном пуле стандартной подсистемы балансировки нагрузки с правилами исходящего трафика или без нее.
-
Ресурс шлюза NAT Azure назначается подсети виртуальной машины.
Виртуальные машины, созданные с помощью масштабируемых наборов виртуальных машин в гибком режиме оркестрации, не имеют исходящего доступа по умолчанию.
Дополнительные сведения об исходящих подключениях в Azure см. в статье об исходящем доступе по умолчанию в Azure и использовании преобразования исходящих сетевых адресов (SNAT) для исходящих подключений.
Необходимые компоненты
Войдите на портал Azure.
На портале найдите и выберите виртуальную машину, к которой нужно добавить общедоступный IP-адрес.
В разделе "Параметры " в области слева выберите "Сеть" и выберите сетевой интерфейс, в который нужно добавить общедоступный IP-адрес.
Примечание.
Общедоступные IP-адреса связаны с сетевыми интерфейсами, подключенными к виртуальной машине. На этом снимке экрана виртуальная машина имеет только один сетевой интерфейс. В случае нескольких сетевых интерфейсов для этой виртуальной машины, они бы все отображались, и можно было выбрать тот сетевой интерфейс, с которым требуется связать общедоступный IP-адрес.
В окне сетевого интерфейса в разделе "Параметры" выберите IP-конфигурации*, а затем выберите конфигурацию IP из списка.
Примечание.
Общедоступные IP-адреса связаны с IP-конфигурациями сетевого интерфейса. На этом снимке экрана сетевой интерфейс имеет только одну IP-конфигурацию. Если бы сетевой интерфейс имел несколько IP-конфигураций, все они отображались бы в списке, и можно было выбрать IP-конфигурацию, с которой требуется связать общедоступный IP-адрес.
В окне "Изменение IP-конфигурации" выберите "Связать общедоступный IP-адрес", а затем выберите общедоступный IP-адрес, чтобы выбрать существующий общедоступный IP-адрес из раскрывающегося списка. Если общедоступные IP-адреса отсутствуют в списке, необходимо создать его. Сведения о том, как его создать, см. в разделе Создание общедоступного IP-адреса.
Примечание.
Общедоступные IP-адреса, отображаемые в раскрывающемся списке, — это те, которые существуют в том же регионе, что и виртуальная машина. Если в регионе создано несколько общедоступных IP-адресов, здесь будут отображаться все. Любой адрес, который уже связан с другим ресурсом, неактивен.
Выберите Сохранить.
В окне конфигураций IP просмотрите общедоступный IP-адрес, назначенный этой конфигурации IP. Для отображения нового IP-адреса может потребоваться несколько секунд.
Примечание.
IP-адрес назначается из пула общедоступных IP-адресов, зарезервированных для региона Azure. Для получения списка пулов адресов, используемых в каждом регионе, смотрите Диапазоны IP-адресов Azure и теги служб. Если вам нужно назначить адрес из определенного префикса, используйте префикс общедоступного IP-адреса.
Откройте необходимые порты в группах безопасности, изменив правила безопасности в группах безопасности сети. Дополнительные сведения см. в разделе "Разрешить сетевой трафик" на виртуальную машину.
Установите Azure CLI на компьютере или используйте Azure Cloud Shell. Cloud Shell — это бесплатная оболочка Bash, которую можно запустить непосредственно в портал Azure. Он включает предварительно установленную и настроенную конфигурацию Azure CLI для использования с учетной записью Azure. Нажмите кнопку Open Cloudshell в приведенных ниже примерах кода Azure CLI. При выборе Open CloudShell Cloud Shell загружается в браузере и запрашивает вход в учетную запись Azure.
Если вы используете Azure CLI локально в Bash, войдите в Azure с помощью az login
.
Используйте команду az network nic ip-config update, чтобы связать общедоступный IP-адрес с IP-конфигурацией. Следующий пример связывает существующий общедоступный IP-адрес с именем myPublicIP с IP-конфигурацией с именем ipconfig1. Эта IP-конфигурация принадлежит существующему сетевому интерфейсу с именем myVMNic в группе ресурсов с именем myResourceGroup.
az network nic ip-config update \
--name ipconfig1 \
--nic-name myVMNic \
--resource-group myResourceGroup \
--public-ip-address myPublicIP
Если у вас нет общедоступного IP-адреса, создайте его с помощью команды az network public-ip create. Например, следующая команда создает общедоступный IP-адрес с именем myPublicIP в группе ресурсов с именем myResourceGroup.
az network public-ip create --name myPublicIP --resource-group myResourceGroup
Примечание.
Эта команда создает общедоступный IP-адрес со значениями по умолчанию для нескольких параметров, которые может потребоваться настроить. Дополнительные сведения о параметрах общедоступного IP-адреса см. в статье "Создание общедоступного IP-адреса". IP-адрес назначается из пула общедоступных IP-адресов, зарезервированных для региона Azure. Для получения списка пулов адресов, используемых в каждом регионе, см. диапазоны IP-адресов Azure и теги служб. Если вам нужно назначить адрес из определенного префикса, используйте префикс общедоступного IP-адреса.
Если вы не знаете имена сетевых интерфейсов, подключенных к виртуальной машине, используйте команду az vm nic list , чтобы просмотреть их. Например, следующая команда содержит сетевые интерфейсы, подключенные к виртуальной машине с именем myVM, в группе ресурсов с именем myResourceGroup:
az vm nic list --vm-name myVM --resource-group myResourceGroup
Выходные данные включают одну или несколько строк, аналогичных следующему примеру, где myVMNic — это имя сетевого интерфейса:
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic",
Если вы не знаете имена IP-конфигураций сетевого интерфейса, используйте команду az network nic ip-config list , чтобы получить их. Например, следующая команда содержит имена IP-конфигураций для сетевого интерфейса с именем myVMNic в группе ресурсов с именем myResourceGroup:
az network nic ip-config list --nic-name myVMNic --resource-group myResourceGroup --out table
Просмотрите общедоступный IP-адрес, назначенный IP-конфигурации, используя команду az vm list-ip-addresses. В следующем примере показаны IP-адреса, назначенные существующей виртуальной машине с именем myVM в группе ресурсов с именем myResourceGroup.
az vm list-ip-addresses --name myVM --resource-group myResourceGroup --out table
Примечание.
IP-адрес назначается из пула общедоступных IP-адресов, зарезервированных для региона Azure. Список пулов адресов, используемых в каждом регионе, см. диапазоны IP-адресов Azure и теги служб. Если вам нужно назначить адрес из определенного префикса, используйте префикс общедоступного IP-адреса.
Откройте необходимые порты в группах безопасности сети, изменив правила безопасности для входящего трафика. Дополнительные сведения см. в разделе "Разрешить сетевой трафик" на виртуальную машину.
Установите Azure PowerShell на компьютере или используйте Cloud Shell. Cloud Shell — это бесплатная оболочка Bash, которую можно запустить непосредственно в портал Azure. Она включает в себя предварительно установленную и настроенную конфигурацию Azure PowerShell для использования с учетной записью Azure. Нажмите кнопку Open Cloudshell в приведенных ниже примерах кода Azure PowerShell. При выборе Open CloudShell Cloud Shell загружается в браузере и запрашивает вход в учетную запись Azure.
Если вы используете Azure PowerShell локально, войдите в Azure с помощью Connect-AzAccount
.
Используйте команду Get-AzVirtualNetwork для получения виртуальных сетей в группе ресурсов. Затем используйте команду Get-AzVirtualNetworkSubnetConfig для получения конфигураций подсети в виртуальной сети.
Используйте команду Get-AzNetworkInterface для получения сетевых интерфейсов в группе ресурсов. Затем используйте команду Get-AzPublicIpAddress , чтобы получить существующие общедоступные IP-адреса в группе ресурсов.
Используйте команду Set-AzNetworkInterfaceIpConfig, чтобы связать общедоступный IP-адрес с ip-конфигурацией. Затем используйте команду Set-AzNetworkInterface для записи новой конфигурации IP-адресов в сетевой интерфейс.
Следующий пример связывает существующий общедоступный IP-адрес с именем myPublicIP с IP-конфигурацией с именем ipconfig1. Эта IP-конфигурация принадлежит существующему сетевому интерфейсу с именем myVMNic, который существует в подсети с именем mySubnet в виртуальной сети с именем myVNet. Все ресурсы находятся в группе ресурсов с именем myResourceGroup.
$vnet = Get-AzVirtualNetwork -Name myVNet -ResourceGroupName myResourceGroup
$subnet = Get-AzVirtualNetworkSubnetConfig -Name mySubnet -VirtualNetwork $vnet
$nic = Get-AzNetworkInterface -Name myVMNic -ResourceGroupName myResourceGroup
$pip = Get-AzPublicIpAddress -Name myPublicIP -ResourceGroupName myResourceGroup
$nic | Set-AzNetworkInterfaceIpConfig -Name ipconfig1 -PublicIPAddress $pip -Subnet $subnet
$nic | Set-AzNetworkInterface
Если у вас нет общедоступного IP-адреса, создайте его с помощью команды New-AzPublicIpAddress. Например, следующая команда создает динамический общедоступный IP-адрес с именем myPublicIP в группе ресурсов с именем myResourceGroup в регионе eastus.
New-AzPublicIpAddress -Name myPublicIP -ResourceGroupName myResourceGroup -AllocationMethod Dynamic -Location eastus
Примечание.
Эта команда создает общедоступный IP-адрес со значениями по умолчанию для нескольких параметров, которые может потребоваться настроить. Дополнительные сведения о параметрах общедоступного IP-адреса см. в статье "Создание общедоступного IP-адреса". IP-адрес назначается из пула общедоступных IP-адресов, зарезервированных для региона Azure. Для получения списка пулов адресов, используемых в каждом регионе, см. диапазоны IP-адресов Azure и теги служб. Если вам нужно назначить адрес из определенного префикса, используйте префикс общедоступного IP-адреса.
Если вы хотите знать имена и свойства сетевых интерфейсов, подключенных к виртуальной машине, используйте команду Get-AzVM для их просмотра. Например, следующая команда содержит сетевые интерфейсы, подключенные к виртуальной машине с именем myVM, в группе ресурсов с именем myResourceGroup:
$vm = Get-AzVM -name myVM -ResourceGroupName myResourceGroup
$vm.NetworkProfile
Выходные данные включают одну или несколько строк, аналогично следующему примеру. В примере выходных данных myVMNic — это имя сетевого интерфейса.
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic",
Чтобы получить имена виртуальных сетей или подсетей, в которых находится сетевой интерфейс, используйте команду Get-AzNetworkInterface . Например, следующая команда получает сведения о виртуальной сети и подсети для сетевого интерфейса с именем myVMNic в группе ресурсов с именем myResourceGroup:
$nic = Get-AzNetworkInterface -Name myVMNic -ResourceGroupName myResourceGroup
$ipConfigs = $nic.IpConfigurations
$ipConfigs.Subnet | Select Id
Выходные данные включают одну или несколько строк, аналогично следующему примеру. В примере выходных данных myVNet — это имя виртуальной сети, а mySubnet — имя подсети.
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet",
Чтобы получить имена IP-конфигураций для сетевого интерфейса, используйте команду Get-AzNetworkInterface . Например, следующая команда содержит имена IP-конфигураций для сетевого интерфейса с именем myVMNic в группе ресурсов с именем myResourceGroup:
$nic = Get-AzNetworkInterface -Name myVMNic -ResourceGroupName myResourceGroup
$nic.IPConfigurations
Выходные данные включают одну или несколько строк, аналогично следующему примеру. В примере выходных данных ipconfig1 — это имя IP-конфигурации.
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic/ipConfigurations/ipconfig1
Просмотрите общедоступный IP-адрес, назначенный IP-конфигурации, с помощью команды Get-AzPublicIpAddress. В следующем примере извлекаются адреса, назначенные общедоступному IP-адресу с именем myPublicIP, в группе ресурсов с именем myResourceGroup.
Get-AzPublicIpAddress -Name myPublicIP -ResourceGroupName myResourceGroup | Select IpAddress
Чтобы получить список публичных IP-адресов, назначенных IP-конфигурации, выполните следующие команды:
$nic = Get-AzNetworkInterface -Name myVMNic -ResourceGroupName myResourceGroup
$nic.IPConfigurations
$address = $nic.IPConfigurations.PublicIpAddress
$address | Select Id
Выходные данные включают одну или несколько строк, аналогично следующему примеру. В примере выходных данных myPublicIP — это название общедоступного IP-адреса, назначенного IP-конфигурации.
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP"
Примечание.
IP-адрес назначается из пула общедоступных IP-адресов, зарезервированных для региона Azure. Для получения списка пулов адресов, используемых в каждом регионе, см. раздел Диапазоны IP-адресов и теги служб Azure. Если вам нужно назначить адрес из определенного префикса, используйте префикс общедоступного IP-адреса.
Откройте необходимые порты в группах безопасности сети, изменив правила безопасности для входящего трафика. Дополнительные сведения см. в разделе "Разрешить сетевой трафик" на виртуальную машину.
Примечание.
Чтобы предоставить общий доступ к виртуальной машине внешнему пользователю, необходимо добавить общедоступный IP-адрес на виртуальную машину. Кроме того, внешние пользователи могут подключаться к частному IP-адресу виртуальной машины через Бастион Azure.
Разрешение сетевого трафика к виртуальной машине
Прежде чем подключиться к общедоступному IP-адресу из Интернета, необходимо открыть необходимые порты и протоколы в группах безопасности сети. Эти порты должны быть открыты в любой группе безопасности сети, которая может быть связана с сетевым интерфейсом, подсетью сетевого интерфейса или обоими. Несмотря на то что группы безопасности сети фильтруют трафик по частному IP-адресу сетевого интерфейса, после поступления входящего интернет-трафика в общедоступный IP-адрес Azure преобразует общедоступный адрес в частный IP-адрес. Таким образом, если группа безопасности сети предотвращает поток трафика, обмен данными с общедоступным IP-адресом завершается ошибкой.
Вы можете просмотреть действующие правила безопасности для сетевого интерфейса и ее подсети для портал Azure, Azure CLI или Azure PowerShell.
Ограничения
- Если новый общедоступный IP-адрес добавляется к виртуальной машине и трафик должен переключиться на новый IP-адрес, виртуальная машина должна быть перезапущена, так как это приведет к сбросу всех существующих потоков.
Следующие шаги
Из этой статьи вы узнали, как связать общедоступный IP-адрес с виртуальной машиной с помощью портал Azure, Azure CLI или Azure PowerShell.