Учебник. Как получить доступ к Управляемому экземпляру SQL из управляемой виртуальной сети Фабрики данных с помощью частной конечной точки

Важно!

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

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

Screenshot that shows the access model of SQL MI.

Примечание.

При использовании этого решения для подключения к База данных SQL Azure Управляемый экземпляр политика подключения "Перенаправление" не поддерживается, необходимо переключиться в режим "Прокси".

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

  • Подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
  • Виртуальная сеть. Если у вас нет виртуальной сети, создайте ее, выполнив действия из этой статьи.
  • Подключение виртуальной сети к локальной сети. Создайте подключение между виртуальной и локальной сетью с помощью ExpressRoute или VPN.
  • Фабрика данных с включенной управляемой виртуальной сетью. Если у вас нет Фабрики данных или управляемая виртуальная сеть не включена, создайте ее, выполнив инструкции из этой статьи.

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

Используйте портал для создания подсетей в виртуальной сети.

Подсеть Description
be-subnet подсеть для внутренних серверов
fe-subnet подсеть для внутренней подсистемы Load Balancer (цен. категория "Стандартный")
pls-subnet подсеть для службы "Приватный канал"

Screenshot that shows the subnets.

Создание подсистемы балансировки нагрузки уровня "Стандартный"

С помощью портала создайте внутреннюю подсистему балансировки нагрузки (цен. категория "Стандартный").

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

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

  3. На странице Создание подсистемы балансировки нагрузки на вкладке Основные сведения введите или выберите следующие значения:

    Параметр Значение
    Отток подписок Выберите свою подписку.
    Группа ресурсов Выберите группу ресурсов.
    Имя. Введите myLoadBalancer.
    Регион Выберите Восточная часть США.
    номер SKU Выберите Стандартное.
    Тип Выберите Внутренний.
  4. На вкладке Конфигурация внешнего IP-адреса страницы Создание подсистемы балансировки нагрузки выберите Добавить конфигурацию внешнего IP-адреса, а затем введите или выберите следующие сведения на панели конфигурации Добавление внешнего IP-адреса.

    Параметр Значение
    Имя внешнего IP-адреса Введите имя внешнего IP-адреса.
    Виртуальная сеть Выберите свою виртуальную сеть.
    Подсеть Выберите подсеть fe-subnet, созданную на предыдущем шаге.
    Назначение IP-адресов Выберите Динамический.
    Availability zone Выберите Избыточное в пределах зоны.
  5. Оставьте значения по умолчанию для остальных параметров и нажмите кнопку Просмотр и создание.

  6. На вкладке Отзыв и создание выберите Создать.

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

Создание внутреннего пула.

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

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

  1. В меню слева щелкните Все службы, выберите Все ресурсы, а затем из списка ресурсов выберите myLoadBalancer.
  2. В разделе Параметры выберите Серверные пулы, затем щелкните Добавить.
  3. На странице Добавление серверного пула введите имя myBackEndPool для серверного пула и выберите Добавить.

Создание пробы работоспособности

Подсистема балансировки нагрузки отслеживает состояние приложения, выполняя пробу работоспособности.

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

Создайте зонд работоспособности с именем myHealthProbe, чтобы отслеживать работоспособность виртуальных машин.

  1. В меню слева щелкните Все службы, выберите Все ресурсы, а затем из списка ресурсов выберите myLoadBalancer.

  2. В разделе Параметры выберите Пробы работоспособности, а затем щелкните Добавить.

    Параметр Значение
    Имя. Введите myHealthProbe.
    Протокол Выберите TCP.
    Порт Введите 22.
    Интервал В качестве интервала между попытками выполнения пробы (в секундах) введите 15.
    Порог состояния неработоспособности Выберите 2 в качестве значения порога состояния неработоспособности или количества последовательных сбоев пробы, после которых виртуальная машина будет считаться неработоспособной.
  3. Сохраните остальные значения по умолчанию и нажмите кнопку OK.

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

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

В этом разделе показано, как создать правило подсистемы балансировки нагрузки, которая имеет следующие характеристики:

  1. В меню слева щелкните Все службы, выберите Все ресурсы, а затем из списка ресурсов выберите myLoadBalancer.

  2. В разделе Параметры выберите Правила балансировки нагрузки, а затем щелкните Добавить.

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

    Параметр Значение
    Имя. Введите myRule.
    Версия IP-адреса Выберите IPv4.
    Интерфейсный IP-адрес Выберите LoadBalancerFrontEnd.
    Протокол Выберите TCP.
    Порт Введите 1433.
    Серверный порт Введите 1433.
    Внутренний пул Выберите myBackendPool.
    Проба работоспособности Выберите myHealthProbe.
    Время ожидания простоя (в минутах) Переместите ползунок на 15 минут.
    Сброс TCP Выберите Отключено.
  4. Сохраните остальные значения по умолчанию и нажмите кнопку ОК.

В этом разделе показано, как создать службу приватного канала за подсистемой балансировки нагрузки (цен. категория "Стандартный").

  1. В верхнем левом углу страницы портала Azure щелкните Создать ресурс.

  2. Введите Приватный канал в поле Поиск в Marketplace.

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

  4. В разделе Обзор в Центре Приватного канала нажмите синюю кнопку Создать службу приватного канала.

  5. На вкладке Основные сведения в разделе Создание службы ариватного канала укажите следующее:

    Параметр Значение
    Сведения о проекте
    Отток подписок Выберите свою подписку.
    Группа ресурсов Выберите группу ресурсов.
    Сведения об экземпляре
    Имя. Введите myPrivateLinkService.
    Регион Выберите Восточная часть США.
  6. Выберите вкладку "Параметры исходящего трафика " или нажмите кнопку "Далее: исходящие параметры" в нижней части страницы .

  7. На вкладке Параметры исходящего трафика укажите следующее:

    Параметр Значение
    Подсистема балансировки нагрузки Выберите myLoadBalancer.
    IP-адрес внешнего интерфейса подсистемы балансировки нагрузки Выберите LoadBalancerFrontEnd.
    Исходная подсеть NAT Выберите pls-subnet.
    Включить TCP-прокси версии 2 Оставьте значение по умолчанию Нет.
    Параметры частного IP-адреса
    Оставьте параметры по умолчанию.
  8. Выберите вкладку "Безопасность доступа" или нажмите кнопку "Далее: безопасность доступа" в нижней части страницы.

  9. Оставьте значение по умолчанию для параметра Только управление доступом на основе ролей на вкладке Защита доступа.

  10. Выберите вкладку "Теги" или нажмите кнопку "Далее" в нижней части страницы.

  11. Выберите вкладку "Просмотр и создание " или нажмите кнопку "Далее" и " Просмотреть" и "Создать " в нижней части страницы.

  12. Выберите Создать на вкладке Просмотр и создание.

Создание внутренних серверов

  1. В верхнем левом углу портала последовательно выберите: Создать ресурс > Вычисления > Виртуальная машина.

  2. В разделе Создание виртуальной машины на вкладке Основные сведения укажите следующее.

    Параметр Значение
    Сведения о проекте
    Отток подписок Выберите свою подписку Azure.
    Группа ресурсов Выберите группу ресурсов.
    Сведения об экземпляре
    Virtual machine name Введите myVM1.
    Регион Выберите Восточная часть США.
    Параметры доступности Выберите зоны доступности.
    Availability zone Выберите 1.
    Изображения Выберите Ubuntu Server 18.04LTS — 1-го поколения.
    Точечный экземпляр Azure Выберите Нет.
    Размер Выберите размер виртуальной машины или используйте значение по умолчанию.
    Учетная запись администратора
    Username Введите имя пользователя.
    SSH public key source (Источник открытого ключа SSH) Создайте пару ключей.
    Key pair name (Имя пары ключей) mySSHKey.
    Правила входящего порта
    Общедоступные входящие порты Нет.
  3. Выберите вкладку Сети или Next: Disks (Далее: диски), а затем Next: Networking (Далее: сеть).

  4. На вкладке Сеть укажите следующее.

    Параметр Значение
    Сетевой интерфейс
    Виртуальная сеть Выберите свою виртуальную сеть.
    Подсеть be-subnet.
    Общедоступный IP-адрес Выберите Отсутствует.
    Группа безопасности сети сетевого адаптера Выберите Отсутствует.
    Балансировка нагрузки
    Настроить эту виртуальную машину для работы с существующим решением по балансировке нагрузки? Выберите Да.
    Параметры балансировки нагрузки
    Параметры балансировки нагрузки Выберите Azure load balancing (Балансировка нагрузки Azure).
    Выберите подсистему балансировки нагрузки Выберите myLoadBalancer.
    Выберите серверный пул Выберите myBackendPool.
  5. Выберите Review + create (Просмотреть и создать).

  6. Проверьте параметры, а затем нажмите кнопку Создать.

  7. Вы можете повторно выполнить шаги 1–6, чтобы у вас было несколько виртуальных машин внутреннего сервера для обеспечения высокого уровня доступности.

Создание правила переадресации для конечной точки

  1. Войдите в систему и скопируйте скрипт ip_fwd.sh на виртуальные машины внутреннего сервера.

    Примечание.

    Этот скрипт будет временно задавать IP-пересылку. Чтобы сделать этот параметр постоянным, убедитесь, что строка "net.ipv4.ip_forward=1" раскомментирована в файле /etc/sysctl.conf

  2. Запустите скрипт со следующими параметрами:
    sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
    <FQDN/IP> — это узел Управляемого экземпляра SQL.

    Screenshot that shows SQL MI host.

  3. Запустите указанную ниже команду и проверьте iptables на виртуальных машинах внутреннего сервера. Вы можете видеть одну запись в iptables с вашим целевым IP-адресом.
    sudo iptables -t nat -v -L PREROUTING -n --line-number

    Screenshot that shows the command record.

    Примечание.

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

    Порт в правиле подсистемы балансировки нагрузки Внутренний порт в правиле подсистемы балансировки нагрузки Выполнение команды на виртуальной машине внутреннего сервера
    Управляемый экземпляр SQL 1 1433 1433 sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
    Управляемый экземпляр SQL 2 1434 1434 sudo ./ip_fwd.sh -i eth0 -f 1434 -a <FQDN/IP> -b 1433

    Примечание.

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

  1. В меню слева выберите "Все службы", "Все ресурсы", а затем из списка ресурсов выберите фабрику данных.

  2. Выберите Создание и мониторинг, чтобы запустить на отдельной вкладке пользовательский интерфейс фабрики данных.

  3. Откройте вкладку Управление, а затем перейдите в раздел управляемых частных конечных точек.

  4. В разделе Managed private endpoints (Управляемые частные конечные точки) выберите + Создать.

  5. Выберите в списке элемент Служба приватных каналов Azure, а затем нажмите кнопку Продолжить.

  6. Введите имя частной конечной точки и выберите myPrivateLinkService в списке службы "Приватный канал".

  7. Добавьте полное доменное имя целевого Управляемого экземпляра SQL.

    Screenshot that shows SQL MI host.

    Screenshot that shows the private endpoint settings.

  8. Создайте частную конечную точку.

Создание связанной службы и проверка подключения

  1. Откройте вкладку Управление, а затем перейдите в раздел управляемых частных конечных точек.

  2. В разделе Связанная служба выберите + Создать.

  3. Выберите в списке элемент Управляемый экземпляр базы данных SQL Azure, а затем нажмите кнопку Продолжить.

    Screenshot that shows the linked service creation page.

  4. Включите режим Интерактивная разработка.

    Screenshot that shows how to enable Interactive Authoring.

  5. Введите имя узла Управляемого экземпляра SQL, имя пользователя и пароль.

    Примечание.

    Вручную введите имя узла Управляемого экземпляра SQL. В противном случае оно не будет считаться полным доменным именем в списке выбора.

  6. Далее выберите Проверить подключение.

    Screenshot that shows the SQL MI linked service creation page.

Перейдите к следующему учебнику, чтобы получить дополнительные сведения о доступе к локальному серверу SQL Server из управляемой виртуальной сети Фабрики данных с помощью частной конечной точки: