Поделиться через


Зарезервированные IP-адреса (классическая модель)

IP-адреса в Azure делятся на две категории: динамические и зарезервированные. Общедоступные IP-адреса, управляемые Azure, являются динамическими по умолчанию. Это означает, что IP-адрес, используемый для указанной облачной службы (VIP) или для прямого доступа к виртуальной машине или экземпляру роли (ILPIP), время от времени может изменяться, при отключении или остановке (высвобождении) ресурсов.

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

Важно!

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

Дополнительные сведения об IP-адресах в Azure см. в этой статье.

Когда требуется зарезервированный IP-адрес?

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

Частые вопросы

  • Можно ли использовать зарезервированный IP-адрес для всех служб Azure? Нет. Зарезервированные IP-адреса можно использовать только для виртуальных машин и экземпляров ролей облачных служб, представляемых через виртуальный IP-адрес.
  • Сколько зарезервированных IP-адресов можно установить? Дополнительные сведения см. в статье об ограничениях в Azure.
  • Взимается ли плата за зарезервированные IP-адреса? Иногда. Сведения о ценах на зарезервированные IP-адреса см. на этой странице.
  • Как зарезервировать IP-адрес? Чтобы зарезервировать IP-адрес в определенном регионе Azure, можно использовать PowerShell, интерфейс REST API управления Azure или портал Azure. Зарезервированный IP-адрес связывается с подпиской.
  • Можно ли использовать зарезервированный IP-адрес с виртуальными сетями на основе территориальной группы? Нет. Зарезервированные IP-адреса поддерживаются только в региональных виртуальных сетях. Зарезервированные IP-адреса не поддерживаются для виртуальных сетей, которые связаны с территориальными группами. Дополнительные сведения о связывании виртуальной сети с регионом или территориальной группой см. в статье Переход от территориальных групп к региональной виртуальной сети.

Управление зарезервированными виртуальными IP-адресами

Использование Azure PowerShell (классическая модель)

Прежде чем можно будет использовать зарезервированные IP-адреса, их необходимо добавить в подписку. Создайте зарезервированный IP-адрес из пула общедоступных IP-адресов в центральной части США следующим образом:

Примечание

При наличии классической модели развертывания вы должны установить Azure PowerShell для управления службами. Дополнительные сведения см. в статье об установке модуля управления службами Azure PowerShell.

  New-AzureReservedIP –ReservedIPName MyReservedIP –Location "Central US"

Обратите внимание, однако, что нельзя указать, какой IP-адрес будет зарезервирован. Чтобы просмотреть, какие IP-адреса зарезервированы в подписке, выполните следующую команду PowerShell и обратите внимание на значения ReservedIPName и Address.

Get-AzureReservedIP

Ожидаемые выходные данные:

ReservedIPName       : MyReservedIP
Address              : 23.101.114.211
Id                   : d73be9dd-db12-4b5e-98c8-bc62e7c42041
Label                :
Location             : Central US
State                : Created
InUse                : False
ServiceName          :
DeploymentName       :
OperationDescription : Get-AzureReservedIP
OperationId          : 55e4f245-82e4-9c66-9bd8-273e815ce30a
OperationStatus      : Succeeded

Примечание

Если вы создаете зарезервированный IP-адрес с помощью PowerShell, вы не можете указать группу ресурсов, в которой нужно создать зарезервированный IP-адрес. Azure по умолчанию помещает его в группу ресурсов с именем Default-Networking. Если вы создаете зарезервированный IP-адрес с помощью портала Azure, вы можете указать для него любую группу ресурсов. Но если зарезервированный IP-адрес создается в любой другой группе ресурсов, кроме Default-Networking, все обращения к этому зарезервированному IP-адресу в любых командах, например Get-AzureReservedIP или Remove-AzureReservedIP, должны выполняться по полному имени группа_имя_группы_ресурсов имя_зарезервированного_IP-адреса. Например, если вы создадите зарезервированный IP-адрес с именем myReservedIP в группе ресурсов с именем myResourceGroup, ссылки на него должны иметь такой вид: Group myResourceGroup myReservedIP.  

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

Remove-AzureReservedIP -ReservedIPName "MyReservedIP"

Использование Azure CLI (классическая модель)

Создайте зарезервированный IP-адрес из пула общедоступных IP-адресов в центральной части США с помощью классического Azure CLI следующим образом:

Примечание

Для классического развертывания необходимо использовать классический Azure CLI. Сведения об установке классического Azure CLI см. в этой статье.

Команда:

azure network reserved-ip create <name> <location>

Пример

azure network reserved-ip create MyReservedIP centralus

Вы можете просмотреть IP-адреса, зарезервированные в вашей подписке, с помощью Azure CLI следующим образом:

Команда:

azure network reserved-ip list

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

Команда:

azure network reserved-ip delete <name>

Пример

azure network reserved-ip delete MyReservedIP

Резервирование IP-адреса существующей облачной службы

Можно зарезервировать IP-адрес существующей облачной службы, добавив параметр -ServiceName. Зарезервируйте IP-адрес облачной службы TestService в расположении Центральная часть США следующим образом:

  • Использование Azure PowerShell (классическая модель):

    New-AzureReservedIP –ReservedIPName MyReservedIP –Location "Central US" -ServiceName TestService
    
  • Использование Azure CLI (классическая модель):

    Команда:

     azure network reserved-ip create <name> <location> -r <service-name> -d <deployment-name>
    

    Пример

      azure network reserved-ip create MyReservedIP centralus -r TestService -d asmtest8942
    

Связывание зарезервированного IP-адреса с новой облачной службой

Приведенный ниже скрипт создает новый зарезервированный IP-адрес и связывает его с новой облачной службой с именем TestService.

Использование Azure PowerShell (классическая модель)

New-AzureReservedIP –ReservedIPName MyReservedIP –Location "Central US"

$image = Get-AzureVMImage|?{$_.ImageName -like "*RightImage-Windows-2012R2-x64*"}

New-AzureVMConfig -Name TestVM -InstanceSize Small -ImageName $image.ImageName `
| Add-AzureProvisioningConfig -Windows -AdminUsername adminuser -Password MyP@ssw0rd!! `
| New-AzureVM -ServiceName TestService -ReservedIPName MyReservedIP -Location "Central US"

Примечание

При создании зарезервированного IP-адреса для использования с облачной службой вы по-прежнему можете ссылаться на виртуальную машину, используя для этого VIP: < номер > порта для входящего взаимодействия. Резервирование IP-адреса не означает возможность прямого подключения к виртуальной машине. Зарезервированный IP-адрес назначается облачной службе, в которой развернута виртуальная машина. Если требуется подключиться непосредственно к виртуальной машине по IP-адресу, следует настроить общедоступный IP-адрес уровня экземпляра. Общедоступный IP-адрес уровня экземпляра — это тип общедоступного IP-адреса (называемый ILPIP), который назначается непосредственно виртуальной машине. Его нельзя зарезервировать. Дополнительные сведения см. в статье Общие сведения об общедоступных IP-адресах уровня экземпляра (классическая модель развертывания).

Удаление зарезервированного IP-адреса из работающей развернутой системы

Удалите зарезервированный IP-адрес, добавленный в новую облачную службу, следующим образом:

Использование Azure PowerShell (классическая модель)

Remove-AzureReservedIPAssociation -ReservedIPName MyReservedIP -ServiceName TestService

Использование Azure CLI (классическая модель)

Команда:

azure network reserved-ip disassociate <name> <service-name> <deployment-name>

Пример

azure network reserved-ip disassociate MyReservedIP TestService asmtest8942

Примечание

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

Чтобы полностью удалить зарезервированный IP-адрес из подписки, выполните следующую команду:

Команда:

azure network reserved-ip delete <name>

Пример

azure network reserved-ip delete MyReservedIP

Связывание зарезервированного IP-адреса с работающей развернутой системой

Использование Azure PowerShell (классическая модель)

Следующие команды создают облачную службу с именем TestService2, к которой прикреплена новая виртуальная машина с именем TestVM2. Затем с этой облачной службой связывается существующий зарезервированный IP-адрес с именем MyReservedIP.

$image = Get-AzureVMImage|?{$_.ImageName -like "*RightImage-Windows-2012R2-x64*"}

New-AzureVMConfig -Name TestVM2 -InstanceSize Small -ImageName $image.ImageName `
| Add-AzureProvisioningConfig -Windows -AdminUsername adminuser -Password MyP@ssw0rd!! `
| New-AzureVM -ServiceName TestService2 -Location "Central US"

Set-AzureReservedIPAssociation -ReservedIPName MyReservedIP -ServiceName TestService2

Использование Azure CLI (классическая модель)

Новый зарезервированный IP-адрес можно связать с запущенным развертыванием облачной службы с помощью Azure CLI следующим образом:

Команда:

azure network reserved-ip associate <name> <service-name> <deployment-name>

Пример

azure network reserved-ip associate MyReservedIP TestService asmtest8942

Связывание зарезервированного IP-адреса с облачной службой с помощью файла конфигурации службы

Зарезервированный IP-адрес можно также связать с облачной службой с помощью файла конфигурации службы (CSCFG). В приведенном ниже XML-коде показано, как настроить облачную службу для использования зарезервированного виртуального IP-адреса с именем MyReservedIP.

   <?xml version="1.0" encoding="utf-8"?>
    <ServiceConfiguration serviceName="ReservedIPSample" xmlns="https://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="4" osVersion="*" schemaVersion="2014-01.2.3">
      <Role name="WebRole1">
        <Instances count="1" />
        <ConfigurationSettings>
          <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
        </ConfigurationSettings>
      </Role>
      <NetworkConfiguration>
        <AddressAssignments>
          <ReservedIPs>
           <ReservedIP name="MyReservedIP"/>
          </ReservedIPs>
        </AddressAssignments>
      </NetworkConfiguration>
    </ServiceConfiguration>

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