Руководство. Создание и настройка шлюза приложений для размещения нескольких веб-сайтов с помощью портал Azure

Чтобы настроить размещение нескольких веб-сайтов при создании шлюза приложений, можно использовать портал Azure. В этом руководстве описано, как определить внутренние пулы адресов с помощью виртуальных машин. Затем вы настроите прослушиватели и правила на основе двух доменов, чтобы обеспечить передачу веб-трафика на соответствующие серверы в пулах. В этом руководстве используются примеры и www.fabrikam.comпримерыwww.contoso.com.

В этом руководстве описано следующее:

  • Создание Шлюза приложений
  • создание виртуальных машин для внутренних серверов;
  • создание серверных пулов с внутренними серверами;
  • Создание прослушивателей
  • Создание правил маршрутизации
  • Изменение файла узлов для разрешения имен

Схема, на которой показан шлюз приложений с несколькими сайтами.

Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.

Необходимые компоненты

  • Подписка Azure

Вход в Azure

Войдите на портал Azure.

Создание Шлюза приложений

  1. В меню портал Azure выберите пункт +Создать сеть ресурсов>> Шлюз приложений или найдите Шлюз приложений в поле поиска на портале.

  2. Нажмите кнопку создания.

Вкладка "Основные сведения"

  1. На вкладке "Основные сведения" введите следующие значения:

    • Группа ресурсов: выберите myResourceGroupAG для группы ресурсов. Выберите Создать для создания группы ресурсов, если она еще не существует.

    • Имя шлюза приложений: введите myAppGateway для имени шлюза приложений.

      Снимок экрана: страница

  2. В Azure для обмена между создаваемыми ресурсами необходима виртуальная сеть. Вы можете создать новую виртуальную сеть или использовать существующую. В этом примере вы можете создать виртуальную сеть одновременно со шлюзом приложений. Экземпляры шлюза приложений создаются в отдельных подсетях. В этом примере создаются две подсети: одна — для шлюза приложений, а вторая — для внутренних серверов.

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

    • Имя. Введите myVNet для имени виртуальной сети.

    • Имя подсети (подсеть шлюза приложений): сетка подсетей будет отображать подсеть с именем Default. Измените имя этой подсети на myAGSubnet.
      Подсеть шлюза приложений может содержать только шлюзы приложений. Другие ресурсы запрещены. Диапазон IP-адресов по умолчанию— 10.0.0.0/24.

    Выберите ОК, чтобы закрыть окно Создание виртуальной сети и сохранить настройки виртуальной сети.

    Создание виртуальной сети

  3. На вкладке "Основные сведения" примите значения по умолчанию для других параметров, а затем нажмите кнопку Next: Frontends.

Вкладка "Интерфейсные серверы"

  1. На вкладке Интерфейсные серверы убедитесь, что для параметра Тип IP-адреса интерфейсных серверов установлено значение Общедоступный.
    Вы можете настроить общедоступный интерфейсный или частный IP-адрес, согласно вашему варианту использования. В этом примере мы будем использовать общедоступный интерфейсный IP-адрес.

    Примечание.

    Для SKU шлюза приложений версии 2 можно выбрать только общедоступную конфигурацию IP-адресов внешнего интерфейса. Использование конфигурации частного внешнего IP-адреса в настоящее время находится в общедоступной предварительной версии. Дополнительные сведения см. в статье "Частное Шлюз приложений развертывание".

  2. Выберите команду Добавить новый для параметра Общедоступный IP-адрес и введите myAGPublicIPAddress в качестве имени общедоступного IP-адреса. Затем нажмите кнопку ОК.

    Создание другой виртуальной сети

  3. По завершении выберите Далее: серверные компоненты.

Вкладка "Серверные компоненты"

Серверный пул используется для перенаправления запросов на внутренние серверы, на которых обслуживается запрос. Серверные пулы могут быть сетевыми адаптерами, масштабируемыми наборами виртуальных машин, общедоступными IP-адресами, внутренними IP-адресами, полными доменными именами (FQDN) и серверными серверами с несколькими клиентами, такими как служба приложение Azure. В этом примере вы создадите пустой серверный пул со своим шлюзом приложений, а затем добавите в этот серверный пул целевые объекты.

  1. На вкладке Серверные компоненты выберите элемент Добавление серверного пула.

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

    • Имя: введите contosoPool для имени внутреннего пула.
    • Добавьте внутренний пул без целевых объектов: выберите "Да ", чтобы создать внутренний пул без целевых объектов. После создания шлюза приложения вы добавите серверные целевые объекты.
  3. В окне Добавление внутреннего пула выберите Добавить, чтобы сохранить конфигурацию внутреннего пула и вернуться на вкладку Серверные компоненты.

  4. Теперь добавьте еще один внутренний пул с именем fabrikamPool так же, как и предыдущий.

  5. Выберите Добавить.

    Создание серверных компонентов

  6. На вкладке "Серверные части" нажмите кнопку "Далее: конфигурация".

Вкладка конфигурации

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

  1. Выберите элемент Добавление правила маршрутизации в столбце Правила маршрутизации.

  2. В открывшемся окне Добавление правила маршрутизации введите myRoutingRule в поле Имя правила.

  3. Для правила маршрутизации требуется прослушиватель. На вкладке Прослушиватель в окне Добавление правила маршрутизации введите следующие значения для прослушивателя.

    • Имя правила: contosoRule.
    • Имя прослушивателя: contosoListener.
    • Внешний IP-адрес: выберите общедоступный IP-адрес, созданный для внешнего интерфейса.

    В разделе Дополнительные параметры укажите следующие значения.

    • Тип прослушивателя: несколько сайтов
    • Имя узла: www.contoso.com

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

    Создание правила маршрутизации

  4. На вкладке Серверные целевые объекты выберите значение contosoPool для параметра Серверный целевой объект.

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

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

  7. Выберите " Добавить правило маршрутизации" и добавьте аналогичное правило , прослушиватель, целевой объект серверной части и параметр серверной части для Fabrikam.

    Правило Fabrikam

  8. Выберите Далее: теги и щелкните Далее: просмотр и создание.

Вкладка "Просмотр и создание"

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

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

Добавление серверных целевых объектов

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

Чтобы добавить серверные целевые объекты, сделайте следующее:

  1. Добавьте серверную подсеть.
  2. Создайте две новые виртуальные машины contosoVM и fabrikamVM, которые будут использоваться в качестве внутренних серверов.
  3. Установить службы IIS на виртуальных машинах, чтобы убедиться, что шлюз приложений успешно создан.
  4. Добавьте внутренние серверы к внутренним пулам.

Добавление внутренней подсети

  1. На портал Azure найдите виртуальные сети и выберите *myVNet.
  2. В разделе Параметры выберите Подсети.
  3. Выберите +Подсеть и в области "Добавить подсеть", введите myBackendSubnet для имени и примите 10.0.1.0/24 в качестве диапазона адресов подсети.
  4. Примите все остальные параметры по умолчанию и нажмите кнопку "Сохранить".

Создание виртуальной машины

  1. На портале Azure выберите Создать ресурс. Появится окно Создать.

  2. Выберите Windows Server 2016 Datacenter в списке Популярные. Появится страница Создание виртуальной машины.
    Шлюз приложений может осуществлять маршрутизацию трафика для любого типа виртуальной машины, используемой в этом внутреннем пуле. В этом примере используется Windows Server 2016 Datacenter.

  3. На вкладке Основы введите для следующих параметров виртуальной машины такие значения:

    • Подписка. Выберите нужную подписку.
    • Группа ресурсов: выберите myResourceGroupAG для имени группы ресурсов.
    • Имя виртуальной машины: введите contosoVM для имени виртуальной машины.
    • Регион. Выберите тот же регион, который вы указали ранее.
    • Имя пользователя: введите имя пользователя администратора.
    • Пароль. Введите пароль для администратора.
  4. Примите другие значения по умолчанию и нажмите кнопку Далее: Диски.

  5. Примите вкладку "Диски" по умолчанию и нажмите кнопку "Далее: Сеть".

  6. На вкладке Сети убедитесь, что для параметра Виртуальная сеть выбрано значение myVNet, а для параметра Подсеть — значение myBackendSubnet. Примите другие значения по умолчанию и нажмите кнопку "Далее: управление".
    Шлюз приложений может взаимодействовать с экземплярами за пределами виртуальной сети, к которой он относится, при наличии подключения по IP-адресу.

  7. На вкладке Управление для параметра Диагностика загрузки задайте значение Отключить. Примите другие значения по умолчанию и выберите Review + create (Просмотр и создание).

  8. На вкладке Review + create (Просмотр и создание) проверьте параметры, устраните ошибки проверки, а затем выберите Создать.

  9. Прежде чем продолжить, дождитесь завершения создания виртуальной машины.

Установка служб IIS для тестирования

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

  1. Откройте Azure PowerShell. Для этого выберите Cloud Shell в верхней панели навигации портала Azure, а затем выберите PowerShell из раскрывающегося списка.

    Установка пользовательского расширения

  2. Выполните следующую команду, чтобы установить IIS на виртуальной машине, подставив регион группы ресурсов для <расположения>:

    Set-AzVMExtension `
      -ResourceGroupName myResourceGroupAG `
      -ExtensionName IIS `
      -VMName contosoVM `
      -Publisher Microsoft.Compute `
      -ExtensionType CustomScriptExtension `
      -TypeHandlerVersion 1.4 `
      -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
      -Location <location>
    
  3. Создайте вторую виртуальную машину и установите IIS, следуя только что выполненным инструкциям. Используйте fabrikamVM в качестве имени виртуальной машины и параметр VMName для командлета Set-AzVMExtension.

Добавление серверов в серверные пулы

  1. Выберите Все ресурсы, а затем — myAppGateway.

  2. Выберите Серверные пулы в меню слева.

  3. Выберите contosoPool.

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

  5. В разделе Цель выберите сетевой интерфейс виртуальной машины contosoVM из раскрывающегося списка.

    Добавление внутренних серверов

  6. Выберите Сохранить.

  7. Повторите, чтобы добавить fabrikamVM и интерфейс в fabrikamPool.

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

Изменение файла hosts для разрешения имен

После создания шлюза приложений с общедоступным IP-адресом вы можете получить IP-адрес и использовать его для изменения файла узлов для разрешения www.contoso.com и www.fabrikam.com. В рабочей среде можно создать CNAME в DNS для разрешения имен.

  1. Выберите Все ресурсы, а затем щелкните myAGPublicIPAddress.

    Запись DNS-адреса шлюза приложений

  2. Скопируйте IP-адрес и используйте его в качестве значения для новых записей в файле hosts.

  3. На локальном компьютере откройте командную строку администратора и перейдите по адресу c:\Windows\System32\drivers\etc.

  4. Откройте файл hosts и добавьте следующие записи, где x.x.x.x — общедоступный IP-адрес шлюза приложений:

    # Copyright (c) 1993-2009 Microsoft Corp.
    #
    # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
    #
    # This file contains the mappings of IP addresses to host names. Each
    # entry should be kept on an individual line. The IP address should
    # be placed in the first column followed by the corresponding host name.
    # The IP address and the host name should be separated by at least one
    # space.
    #
    # Additionally, comments (such as these) may be inserted on individual
    # lines or following the machine name denoted by a '#' symbol.
    #
    # For example:
    #
    #      102.54.94.97     rhino.acme.com          # source server
    #       38.25.63.10     x.acme.com              # x client host
    
    # localhost name resolution is handled within DNS itself.
    #	127.0.0.1       localhost
    #	::1             localhost
    x.x.x.x www.contoso.com
    x.x.x.x www.fabrikam.com
    
    
  5. Сохраните файл.

  6. Выполните следующие команды, чтобы загрузить и отобразить изменения в файле hosts:

     ipconfig/registerdns
     ipconfig/displaydns
    

Тестирование шлюза приложений

  1. В адресной строке браузера введите имя домена. Например, http://www.contoso.com.

    Проверка сайта contoso в шлюзе приложений

  2. Введите адрес другого домена. Результат должен быть примерно таким:

    Проверка сайта fabrikam в шлюзе приложений

Очистка ресурсов

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

Чтобы удалить группу ресурсов:

  1. На портале Azure в меню слева выберите Группы ресурсов.
  2. На странице Группы ресурсов выполните поиск группы myResourceGroupAG в списке и выберите ее.
  3. На странице myResourceGroupAG выберите "Удалить группу ресурсов".
  4. Введите myResourceGroupAG в поле Введите имя группы ресурсов, а затем выберите Удалить.

Чтобы восстановить файл hosts, сделайте следующее:

  1. www.contoso.com Удалите из файла строки и www.fabrikam.com строкиhosts.
  2. Запустите ipconfig/registerdns и ipconfig/flushdns из командной строки.

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

Изучив это руководство, вы:

  • Создание шлюза приложений с прослушивателями и правилами на основе двух доменов
  • Протестировал шлюз приложений после редактирования файлов узлов внутренних серверов

Дополнительные сведения о размещении нескольких сайтов см. в статье "Шлюз приложений" с несколькими сайтами.

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