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


Предоставление доступа к Azure Облачные службы (расширенная поддержка) виртуальной сети

В этой статье описывается, как ограничить доступ в Облачные службы Microsoft Azure (расширенная поддержка) только указанной виртуальной сети. В нем описывается, как использовать Azure Load Balancer для создания внутренней (или частной) подсистемы балансировки нагрузки для блокировки клиентов, которые пытаются взаимодействовать через другие виртуальные сети или Интернет.

Взаимодействие между Load Balancer и Облачные службы (расширенная поддержка)

Azure Load Balancer — это служба, которая отвечает за автоматическую балансировку нагрузки и маршрутизацию входящего трафика на разные внутренние серверы. Для Облачные службы (расширенная поддержка) эти серверы являются различными экземплярами WebRole и WorkerRole. Load Balancer работает на уровне 4 системы Open System Interconnection (OSI).

В следующей таблице описаны важные компоненты в Load Balancer.

Компонент Description
Внешний IP-адрес Интерфейсный IP-адрес — это способ предоставления подсистемы балансировки нагрузки своим клиентам. В зависимости от конфигурации подсистема балансировки нагрузки может иметь несколько внешних IP-адресов. Кроме того, может быть общедоступный внешний IP-адрес, частный внешний IP-адрес или оба.
Внутренний пул Серверный пул — это место, в котором подсистема балансировки нагрузки группирует внутренние экземпляры сервера. Для Облачные службы подсистема балансировки нагрузки создает внутренний пул для каждой роли. Затем Load Balancer добавляет экземпляры той же роли в тот же внутренний пул.

На следующей схеме приведен пример настройки Load Balancer в облачной службе, открытой только для общедоступного Интернета.

Схема примера конфигурации Azure Load Balancer для облачной службы, открытой только для общедоступного Интернета.

Когда Load Balancer получает запрос клиента, он принимает следующие действия, чтобы определить, какой внутренний экземпляр направляет трафик:

  • Load Balancer проверяет правило балансировки нагрузки, которое проверяет внешний IP-адрес и порт входящего запроса. В каждом правиле балансировки нагрузки можно указать, как направлять трафик в внутренние пулы, настраивая определенное сочетание интерфейсного IP-адреса и порта входящих запросов. Так как наша облачная служба обычно имеет только один общедоступный IP-адрес, основное различие в правиле балансировки нагрузки — это конфигурация порта.

  • После проверки правила балансировки нагрузки подсистема балансировки нагрузки распределяет трафик с помощью правила 5 кортежей. Это правило применяет хэш из пяти разных значений:

    • Исходный IP-адрес
    • Исходный порт
    • IP-адрес назначения
    • Порт назначения
    • Тип протокола

    Обрабатывает ли облачная служба только HTTP-запросы и имеет ли он только один общедоступный IP-адрес? В этом случае запросы, отправляемые из одного клиента, всегда будут обрабатываться тем же экземпляром серверного сервера.

Как внутренняя подсистема балансировки нагрузки может ограничить доступ

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

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

Ниже приведена схема этой архитектуры облачной подсистемы балансировки нагрузки.

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

Реализация ограничения доступа с помощью неэкспонизованной общедоступной подсистемы балансировки нагрузки

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

  1. Следуйте инструкциям в подзаголовок шага 1. Этот шаг изменяет файл конфигурации службы (CSCFG) облачной службы, чтобы включить внешний IP-адрес внутренней подсистемы балансировки нагрузки. Добавленный XML-код — это <LoadBalancers> блок кода, содержащий только один <LoadBalancers> элемент, который предназначен для внутреннего балансировщика кода (не общедоступного). Этот блок должен следовать элементу <AddressAssignments> в элементе <NetworkConfiguration. . Он указывает следующие элементы:

    • Имя внутренней подсистемы балансировки нагрузки
    • Тип внешнего IP-адреса (который должен быть private)
    • Внутренний IP-адрес
    • Подсеть, в которую находится IP-адрес

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

  2. Следуйте инструкциям в подзаголовок шага 2. Этот шаг изменяет файл определения службы (CSDEF) облачной службы, чтобы включить входную конечную точку внутреннего балансировщика нагрузки. Добавленный XML-код является элементом <InputEndpoint> в элементе <Endpoints> . Этот элемент находится внутри <WebRole> элемента или <WorkerRole> элемента. Добавленный код указывает следующие элементы:

    • Имя входной конечной точки
    • тип протокола;
    • Номер локального порта, используемый для взаимодействия с экземплярами серверного сервера
    • Номер порта для входящих запросов клиента (рекомендуется использовать номер локального порта)
    • Имя внутренней подсистемы балансировки нагрузки, указанной в файле конфигурации службы (CSCFG)
  3. После изменения файла конфигурации службы (CSCFG) и файла определения службы (CSDEF) повторно разверните проект.

Проверка установки ограничения доступа

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

  1. На портале Azure найдите и выберите элемент Группы ресурсов.

  2. В списке групп ресурсов выберите имя группы ресурсов, содержащей облачную службу. Откроется страница обзора группы ресурсов. На вкладке "Ресурсы" перечислены следующие ресурсы:

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

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

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

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

    • Конфигурация IP внешнего интерфейса
    • Серверные пулы
    • Правила балансировки нагрузки