Архитектура подключения к Управляемому экземпляру SQL Azure

Применимо к:Управляемый экземпляр SQL Azure

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

Обзор

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

  • Безопасный IP-адрес локальной виртуальной сети (локальной виртуальной сети).
  • возможность подключения локальной сети к Управляемому экземпляру SQL;
  • Возможность подключения Управляемый экземпляр SQL к связанному серверу или другому локальному хранилищу данных.
  • возможность подключения Управляемого экземпляра SQL к ресурсам Azure.

Примечание.

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

Волна признаков ноября 2022 г.

Волна функций ноября 2022 г. представила следующие изменения в архитектуре подключения Управляемый экземпляр SQL:

  • Удалена конечная точка управления.
  • Упрощенное обязательное правило группы безопасности сети (удалено одно обязательное правило).
  • Изменены обязательные правила группы безопасности сети, чтобы они больше не включали исходящий трафик в AzureCloud через порт 443.
  • Упрощенная таблица маршрутов (сокращены обязательные маршруты с 13 до 5).

Высокоуровневая архитектура подключения

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

Схема, показывющая высокоуровневую архитектуру подключения для Управляемый экземпляр SQL Azure после ноября 2022 года.

Клиентские приложения могут подключаться к Управляемому экземпляру SQL и выполнять запросы, а также обновлять базы данных в виртуальной сети, в одноранговой виртуальной сети или в сети, подключенной через VPN или Azure ExpressRoute.

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

Схема, показывающая сущности в архитектуре подключения для Управляемый экземпляр SQL Azure после ноября 2022 года.

Управляемый экземпляр SQL — это однотенантная платформа как услуга, которая работает в двух плоскостях: плоскость данных и плоскость управления.

Плоскость данных развертывается в подсети клиента для совместимости, подключения и сетевой изоляции. Плоскость данных зависит от служб Azure, таких как служба хранилища Azure, идентификатор Microsoft Entra (ранее Azure Active Directory) для проверки подлинности и служб сбора данных телеметрии. Вы увидите трафик, исходящий в подсетях, которые содержат Управляемый экземпляр SQL переход к этим службам.

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

Общие сведения об обмене данными

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

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

Локальная конечная точка виртуальной сети

Локальная конечная точка виртуальной сети является средством подключения к Управляемому экземпляру SQL по умолчанию. Локальная конечная точка виртуальной сети — это доменное имя в виде <mi_name>.<dns_zone>.database.windows.net разрешения НА IP-адрес из пула адресов подсети, следовательно, локальная виртуальная сеть или конечная точка, локальная в виртуальной сети. Локальная конечная точка виртуальной сети может использоваться для подключения к Управляемый экземпляр SQL во всех стандартных сценариях подключения.

Локальные конечные точки виртуальной сети поддерживают тип подключения перенаправления.

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

Общедоступная конечная точка

Общедоступная конечная точка — это необязательное доменное имя в виде <mi_name>.public.<dns_zone>.database.windows.net разрешения на общедоступный IP-адрес, доступный из Интернета. Общедоступная конечная точка позволяет трафику TDS обращаться только к Управляемый экземпляр SQL через порт 3342 и не может использоваться для сценариев интеграции, таких как группы отработки отказа, Управляемый экземпляр связь и аналогичные технологии.

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

Общедоступная конечная точка всегда работает в типе прокси-подключения.

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

Частные конечные точки

Частная конечная точка — это необязательный фиксированный IP-адрес в другой виртуальной сети, которая ведет трафик к управляемому экземпляру SQL. Одна Управляемый экземпляр SQL Azure может иметь несколько частных конечных точек в нескольких виртуальных сетях. Частные конечные точки позволяют трафику TDS достичь Управляемый экземпляр SQL через порт 1433 и не может использоваться для сценариев интеграции, таких как группы отработки отказа, Управляемый экземпляр связь и другие аналогичные технологии.

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

Частные конечные точки всегда работают в типе прокси-подключения.

Дополнительные сведения о частных конечных точках и их настройке в Приватный канал Azure для Управляемый экземпляр SQL Azure.

Архитектура подключения виртуального кластера

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

Доменное имя локальной конечной точки виртуальной сети разрешает частный IP-адрес внутренней подсистемы балансировки нагрузки. Хотя это доменное имя зарегистрировано в зоне общедоступной системы доменных имен (DNS) и является общедоступным, его IP-адрес принадлежит диапазону адресов подсети и может быть достигнут только из своей виртуальной сети по умолчанию.

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

Значение для этого dns-zone создается автоматически при создании кластера. Если в новом кластере размещается вторичный управляемый экземпляр, он использует идентификатор зоны совместно с основным кластером.

Автоматизированное управление конфигурацией подсети в службе

Для повышения безопасности службы, управляемости и доступности Управляемый экземпляр SQL применяет политику намерения сети к некоторым элементам инфраструктуры виртуальной сети Azure. Политика настраивает подсеть, связанную группу безопасности сети и таблицу маршрутов, чтобы обеспечить соблюдение минимальных требований для Управляемый экземпляр SQL. Этот механизм платформы прозрачно передает пользователям требования к сети. Основная цель политики заключается в предотвращении неправильной настройки сети и обеспечении обычных Управляемый экземпляр SQL операций и обязательств по соглашению об уровне обслуживания. При удалении управляемого экземпляра также удаляется политика намерений сети.

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

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

Внимание

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

Требования к сети

Подсеть, в которой развертывается Управляемый экземпляр SQL, должна иметь следующие характеристики:

  • Выделенная подсеть: Управляемый экземпляр SQL используется подсеть, можно делегировать только службе Управляемый экземпляр SQL. Подсеть не может быть подсетью шлюза, и вы можете развертывать только Управляемый экземпляр SQL ресурсы в подсети.
  • Делегирование подсети: Управляемый экземпляр SQL подсеть должна быть делегирована поставщику Microsoft.Sql/managedInstances ресурсов.
  • Группа безопасности сети: группа безопасности сети должна быть связана с подсетью Управляемый экземпляр SQL. Группу безопасности сети можно использовать для управления доступом к конечной точке данных Управляемый экземпляр SQL путем фильтрации трафика через порт 1433 и порты 11000-11999 при настройке Управляемый экземпляр SQL для подключений перенаправления. Служба автоматически подготавливает правила и сохраняет их в актуальном состоянии, чтобы обеспечить непрерывный поток трафика управления.
  • Таблица маршрутов: таблица маршрутов должна быть связана с подсетью Управляемый экземпляр SQL. Вы можете добавить записи в эту таблицу маршрутов, например для маршрутизации трафика в локальную среду через шлюз виртуальной сети или добавить маршрут по умолчанию 0.0.0.0.0/0, который направляет весь трафик через виртуальную сеть (модуль), например брандмауэр. Управляемый экземпляр SQL Azure автоматически подготавливает и управляет необходимыми записями в таблице маршрутов.
  • Достаточное количество IP-адресов. Подсеть Управляемого экземпляра SQL должна иметь по крайней мере 32 IP-адресов. Дополнительные сведения см. в статье об определении размера подсети для Управляемого экземпляра SQL. Вы можете развернуть управляемые экземпляры в имеющейся сети после ее настройки в соответствии с требованиями к сети для Управляемого экземпляра SQL. В противном случае создайте сеть и подсеть.
  • Разрешено политиками Azure. Если вы используете Политика Azure для предотвращения создания или изменения ресурсов в область, включающего подсеть или виртуальную сеть Управляемый экземпляр SQL, политики не должны препятствовать управлению внутренними ресурсами Управляемый экземпляр SQL. Следующие ресурсы необходимо исключить из эффектов запрета политики для нормальной работы:
    • Ресурсы типа Microsoft.Network/serviceEndpointPolicies, когда имя ресурса начинается с \_e41f87a2\_
    • Все ресурсы типа Microsoft.Network/networkIntentPolicies
    • Все ресурсы типа Microsoft.Network/virtualNetworks/subnets/contextualServiceEndpointPolicies
  • Блокировка виртуальной сети: блокировка виртуальной сети выделенной подсети, родительской группы ресурсов или подписки может иногда влиять на операции управления и обслуживания Управляемый экземпляр SQL. Обратите особое внимание при использовании блокировок ресурсов.
  • Трафик репликации: трафик репликации для групп отработки отказа между двумя управляемыми экземплярами должен быть прямым, а не перенаправлен через сеть концентратора.
  • Пользовательский DNS-сервер: если виртуальная сеть настроена на использование пользовательского DNS-сервера, DNS-сервер должен иметь возможность разрешать общедоступные записи DNS. Использование таких функций, как проверка подлинности Microsoft Entra, может потребовать разрешения более полных доменных имен (FQDN). Дополнительные сведения см. в разделе "Разрешение частных DNS-имен" в Управляемый экземпляр SQL Azure.

Обязательные правила безопасности с конфигурацией подсети с поддержкой службы

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

Имя. Порт Протокол Источник Назначение Действие
healthprobe-in Любой Любой AzureLoadBalancer subnet Разрешить
внутренний вход Любой Любой subnet subnet Разрешить

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

Имя. Порт Протокол Источник Назначение Действие
AAD-out 443 TCP subnet AzureActiveDirectory Разрешить
OneDsCollector-out 443 TCP subnet OneDsCollector Разрешить
внутренний выход Любой Любой subnet subnet Разрешить
служба хранилища P-out 443 Любой subnet служба хранилища.primaryRegion Разрешить
служба хранилища S-out 443 Любой subnet служба хранилища.secondaryRegion Разрешить

Обязательные маршруты с конфигурацией подсети с поддержкой службы

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

Имя. Префикс адреса Следующий прыжок
AzureActiveDirectory AzureActiveDirectory Интернет*
OneDsCollector OneDsCollector Интернет*
служба хранилища.primaryRegion служба хранилища.primaryRegion Интернет*
служба хранилища.secondaryRegion служба хранилища.secondaryRegion Интернет*
subnet-to-vnetlocal subnet Виртуальная сеть

Примечание.

* Значение Интернета в столбце следующего прыжка указывает шлюзу маршрутизировать трафик за пределами виртуальной сети. Однако если целевой адрес предназначен для службы Azure, Azure направляет трафик непосредственно в службу через сеть Azure, а не за пределами облака Azure. Трафик между службами Azure не проходит через Интернет, независимо от того, в каком регионе Azure существует виртуальная сеть или в каком регионе Azure развертывается экземпляр службы Azure. Дополнительные сведения см. в статье о маршрутизации трафика виртуальной сети Azure.

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

Ограничения сети

Протокол TLS 1.2 применяется к исходящим подключениям: начиная с января 2020 года корпорация Майкрософт применяет TLS 1.2 для трафика внутри службы Azure. Для Управляемый экземпляр SQL это привело к принудительному применению TLS 1.2 для исходящих подключений, используемых для реплика подключения к SQL Server и связанного сервера. Если вы используете версию SQL Server ранее 2016 года с Управляемый экземпляр SQL, убедитесь, что вы применяете обновления TLS 1.2.

Следующие функции виртуальной сети сейчас не поддерживаются для Управляемого экземпляра SQL:

  • Почта базы данных во внешние ретрансляторы SMTP через порт 25. Отправка почты базы данных через порт 25 внешним службам электронной почты доступна только для определенных типов подписок в Microsoft Azure. Экземпляры других типов подписок должны использовать другой порт (например, 587) для связи с внешними ретрансляторами SMTP. В противном случае экземпляры могут не доставлять почту базы данных. Подробные сведения см. в статье Устранение проблем с исходящими SMTP-подключениями в Azure.
  • Пиринг Майкрософт. Включение пиринга Майкрософт в каналах ExpressRoute, которые пиринговые каналы напрямую или транзитивно связаны с виртуальной сетью, в которой Управляемый экземпляр SQL находится, влияет на поток трафика между Управляемый экземпляр SQL компонентами в виртуальной сети и службами, от которых она зависит. Результат проблем с доступностью. Управляемый экземпляр SQL развертывания в виртуальной сети, в которую уже включен пиринг Майкрософт, должны завершиться сбоем.
  • Пиринг между виртуальными сетями — глобальный: подключение к пирингу между виртуальными сетями в регионах Azure не работает для экземпляров Управляемый экземпляр SQL, размещенных в подсетях, созданных до 9 сентября 2020 г.
  • Пиринг между виртуальными сетями — конфигурация. При установке пиринга между виртуальными сетями, содержащими подсети с Управляемый экземпляр SQL, такие подсети должны использовать разные таблицы маршрутов и группы безопасности сети (NSG). Повторное использование таблицы маршрутов и группы безопасности сети в двух или нескольких подсетях, участвующих в пиринге виртуальной сети, приведет к проблемам с подключением во всех подсетях с помощью этих таблиц маршрутов или группы безопасности сети, а также приведет к сбою операций управления Управляемый экземпляр SQL.
  • AzurePlatformDNS. Использование тега службы AzurePlatformDNS для блокировки разрешения DNS платформы может сделать преобразование для просмотра Управляемого экземпляра SQL недоступным. Хотя Управляемый экземпляр SQL поддерживает определяемые клиентом DNS для разрешения DNS внутри подсистемы, существует зависимость от платформы DNS для операций платформы.
  • Шлюз NAT. Использование Azure виртуальная сеть NAT для управления исходящим подключением с определенным общедоступным IP-адресом отображается Управляемый экземпляр SQL недоступно. В настоящее время служба Управляемый экземпляр SQL ограничена использованием базовой подсистемы балансировки нагрузки, которая не обеспечивает сосуществование входящих и исходящих потоков с azure виртуальная сеть NAT.
  • IP версии 6 для виртуальной сети Azure. Вероятно, при развертывании Управляемого экземпляра SQL в виртуальных сетях IP версии 4 или  6 с двумя стеками произойдет сбой. Связывание группы безопасности сети или таблицы маршрутов с определяемыми пользователем маршрутами (определяемыми пользователем), содержащими префиксы адресов IPv6 с префиксами Управляемый экземпляр SQL подсети, отрисовывает Управляемый экземпляр SQL недоступно. Кроме того, добавление префиксов IPv6-адресов в группу безопасности сети или UDR, которая уже связана с подсетью управляемого экземпляра, отображает Управляемый экземпляр SQL недоступно. Управляемый экземпляр SQL развертывания в подсети с группой безопасности сети и UDR, у которых уже есть префиксы IPv6, должны завершиться ошибкой.
  • Частные зоны Azure DNS с именем, зарезервированным для службы Майкрософт: следующие доменные имена: windows.net, core.windows.netdatabase.windows.netblob.core.windows.nettable.core.windows.netlogin.microsoftonline.comgraph.windows.netlogin.windows.netmonitoring.core.windows.netqueue.core.windows.netmanagement.core.windows.netи . servicebus.windows.netvault.azure.net Развертывание Управляемый экземпляр SQL в виртуальной сети с связанной частной зоной Azure DNS, которая использует имя, зарезервированное для службы Майкрософт, завершается сбоем. Связывание частной зоны Azure DNS, которая использует зарезервированное имя с виртуальной сетью, содержащей управляемый экземпляр, отрисовывает Управляемый экземпляр SQL недоступно. Сведения о конфигурации Приватный канал см. в разделе "Конфигурация DNS частной конечной точки Azure".

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