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

Область применения: Управляемый экземпляр SQL Azure

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

Обзор

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

Как частные конечные точки отличаются от локальных конечных точек виртуальной сети

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

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

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

Когда использовать частные конечные точки

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

  • Airlock: частные конечные точки в Управляемом экземпляре SQL Azure развертываются в виртуальной сети с серверами переходов и шлюзом ExpressRoute, обеспечивая безопасность и изоляцию между локальными и облачными ресурсами.
  • Топология концентратора и периферийной топологии. Частные конечные точки в периферийных виртуальных сетях проводят трафик от клиентов и приложений SQL Azure к управляемым экземплярам SQL Azure в виртуальной сети концентратора, устанавливая четкую сетевую изоляцию и разделение ответственности.
  • Издатель-потребитель: клиент издателя (например, поставщик программного обеспечения) управляет несколькими управляемыми экземплярами SQL в своих виртуальных сетях. Издатель создает частные конечные точки в виртуальных сетях других клиентов, чтобы сделать экземпляры доступными для своих потребителей.
  • Интеграция служб Azure PaaS и SaaS: некоторые службы PaaS и SaaS, такие как фабрика данных Azure, могут создавать частные конечные точки и управлять ими в Управляемом экземпляре SQL Azure.

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

  • Прогнозируемость IP-адресов: для частной конечной точки для управляемого экземпляра Azure SQL назначается фиксированный IP-адрес из диапазона адресов подсети. Этот IP-адрес остается статическим, даже если IP-адреса локальных и общедоступных конечных точек виртуальной сети изменяются.
  • Гранулированный доступ к сети: частная конечная точка доступа отображается только внутри виртуальной сети.
  • Строгающая сетевая изоляция. В сценарии пиринга пиринговые виртуальные сети устанавливают двустороннее подключение, а частные конечные точки являются однонаправленными и не предоставляют сетевые ресурсы внутри сети управляемому экземпляру SQL Azure.
  • Избегание перекрытия адресов: Пиринг нескольких виртуальных сетей требует тщательного выделения пространств IP-адресов и может привести к проблемам в случае перекрытия адресов.
  • Сохранение IP-адресного пространства: частная конечная точка использует только один IP-адрес из адресного пространства подсети.

Ограничения

  • Управляемый экземпляр Azure SQL требует, чтобы точное имя узла hostname отображалось в строке подключения, отправленной клиентом SQL. Использование IP-адреса частной конечной точки не поддерживается и завершается ошибкой. Чтобы устранить эту проблему, настройте DNS-сервер или используйте частную зону DNS, как описано в разделе "Настройка разрешения доменных имен для частной конечной точки".
  • Автоматическая регистрация DNS-имен пока не поддерживается. Выполните действия, описанные в разделе "Настройка разрешения доменных имен для частной конечной точки ".
  • Частные конечные точки для Управляемого экземпляра SQL можно использовать только для подключения к порту 1433, который является стандартным портом TDS для трафика SQL. Более сложные сценарии подключения, требующие коммуникации на других портах, необходимо установить через локальную конечную точку виртуальной сети этого экземпляра.
  • Для частных конечных точек в Управляемом экземпляре SQL Azure требуется специальная конфигурация для обеспечения необходимого разрешения DNS, как описано в разделе "Настройка разрешения доменных имен для частной конечной точки".
  • Частные конечные точки всегда используют тип прокси-подключения независимо от параметра типа подключения.

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

Чтобы создать частную конечную точку для Управляемого экземпляра SQL Azure, вам понадобится идентификатор ресурса экземпляра и тип целевого подресурса (managedInstance). При использовании портала Azure выберите Microsoft.Sql/managedInstances в качестве типа ресурса и управляемого экземпляра в качестве целевого ресурса. Мастер портала обрабатывает остальные компоненты.

Создайте частную конечную точку с помощью портал Azure, Azure PowerShell или Azure CLI:

Внимание

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

После создания частной конечной точки также может потребоваться утвердить его создание в целевой виртуальной сети; см. статью "Проверка и утверждение запроса на создание частной конечной точки".

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

Создание частной конечной точки в службе PaaS или SaaS

Некоторые службы PaaS и SaaS Azure могут использовать частные конечные точки для доступа к данным из их сред. Процедура настройки частной конечной точки в такой службе (иногда называется "управляемой частной конечной точкой" или "частной конечной точкой в управляемой виртуальной сети") зависит от служб. Администратору по-прежнему необходимо рассмотреть и одобрить запрос на SQL Управляемый экземпляр Azure, как это описано в разделе «Проверка и утверждение запроса на создание частной конечной точки».

Примечание.

Управляемый экземпляр SQL Azure требует, чтобы строка подключения для SQL-клиента содержала имя экземпляра в качестве первого сегмента доменного имени (например: <instance-name>.<dns-zone>.database.windows.net). Службы PaaS и SaaS, которые пытаются подключиться к частной конечной точке Управляемого экземпляра SQL Azure через его IP-адрес, не смогут подключаться.

Создание частной конечной точки между клиентами

Частные конечные точки для Azure SQL Managed Instance также можно создавать в разных тенантах Azure. Для этого администратор виртуальной сети, в которой должна появиться частная конечная точка, сначала должен получить полный идентификатор ресурса Управляемого экземпляра SQL Azure, из которого он будет запрашивать частную конечную точку. С помощью этой информации можно создать новую приватную конечную точку в Центре Private Link. Как и раньше, администратор Управляемого экземпляра SQL Azure получает запрос, который он может проверить и утвердить или отклонить, как в случае проверки и утверждения запроса на создание частной конечной точки.

Проверка и утверждение запроса на создание частной конечной точки

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

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

  1. Перейдите к управляемому экземпляру Azure SQL в портале Azure.

  2. В разделе "Безопасность" выберите подключения к частной конечной точке.

    Страница портала Azure подключения частной конечной точки с двумя ожидающими подключениями.

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

    Снимок экрана портала Azure: одно соединение с частной конечной точкой выбрано для утверждения.

  4. Выберите "Утвердить" или "Отклонить", а затем нажмите кнопку "Да" в диалоговом окне с проверкой действия.

    Снимок экрана: диалоговое окно с запросом на ответное сообщение, которое будет сопровождать утверждение подключения.

  5. После утверждения или отклонения подключения список подключений к частной конечной точке отражает состояние текущих подключений к частной конечной точке, а также сообщение "Запрос и ответ ".

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

Настройка разрешения доменных имен для частной конечной точки

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

Чтобы настроить разрешение доменных имен для частной конечной точки в экземпляре, чьё доменное имя локальной конечной точки виртуальной сети — <instance-name>.<dns-zone>.database.windows.net, выполните одну из двух процедур, описанных в этом разделе, основываясь на том, находятся ли экземпляр и его частная конечная точка в одной или разных виртуальных сетях.

Внимание

Не изменяйте способ разрешения имени домена локальной конечной точки управляемого экземпляра Azure SQL в пределах его виртуальной сети. Это нарушает способность экземпляра выполнять операции управления.

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

После выполнения этих действий SQL-клиенты, подключающиеся к <instance-name>.<dns-zone>.database.windows.net из виртуальной сети конечной точки, прозрачно направляются через частную конечную точку.

  1. Получите IP-адрес частной конечной точки, посетив Центр Приватного канала или выполнив следующие действия:

    1. Перейдите к управляемому экземпляру Azure SQL в портале Azure.

    2. В разделе "Безопасность" выберите подключения к частной конечной точке.

    3. Найдите подключение частной конечной точки в таблице и выберите имя частной конечной точки для выбранного подключения.

      Снимок экрана портала Azure: панель подключений к частной конечной точке, имя частной конечной точки выделено.

    4. На странице обзора выберите сетевой интерфейс.

      Снимок экрана, обзор подключения к частной конечной точке на портале Azure с выделением сетевого интерфейса.

    5. На странице "Обзор" установите флажок Essentials, чтобы определить и скопировать частный IP-адрес.

      Снимок экрана портала Azure: сетевой интерфейс подключения к частной конечной точке, с выделением его приватного IP-адреса.

  2. Создайте частную зону Azure DNS с именем privatelink.<dns-zone>.database.windows.net.

  3. Создайте связь между частной зоной DNS и виртуальной сетью конечной точки.

  4. В зоне DNS создайте новый набор записей со следующими значениями:

    • Имя: <instance-name>
    • Тип: A
    • IP-адрес: IP-адрес частной конечной точки, полученной в предыдущем наборе