Разрешать частные доменные имена в управляемом экземпляре SQL Azure
Область применения: Управляемый экземпляр SQL Azure
В этой статье вы узнаете, как Управляемый экземпляр Azure SQL разрешает частные доменные имена.
Обзор
В некоторых ситуациях ядру базы данных SQL Server необходимо, чтобы выполнять разрешение доменных имен, которые отсутствуют в общедоступных записях DNS. Например, следующие сценарии могут включать частные доменные имена:
- Отправка сообщений электронной почты с помощью Database Mail
- Доступ к удаленным источникам данных с помощью связанных серверов
- Репликация данных в облако с помощью Управляемой связи экземпляра.
Управляемый экземпляр SQL Azure развертывается в виртуальной сети Azure и использует разрешение имен Azure по умолчанию для разрешения интернет-адресов.
Чтобы изменить поведение разрешения имен по умолчанию и включить разрешение частных доменных имен, можно:
- Используйте частные зоны DNS Azure: что такое Azure Частная зона DNS?
- Использование пользовательского DNS-сервера: разрешение имен для ресурсов в виртуальных сетях Azure
Внимание
При изменении DNS-сервера виртуальной сети с Azure на пользовательские или наоборот, Управляемые экземпляры SQL в этой виртуальной сети также должны быть уведомлены об изменении. Это описано в разделе Обновление управляемых экземпляров SQL.
Это не нужно делать, если вы только подключаете или обновляете частные зоны DNS Azure к виртуальной сети управляемых инстансов. Эти изменения автоматически внедряются в управляемые экземпляры.
Рекомендации
- Не следует переопределять или отключать разрешение доменных имен, которые Azure SQL Управляемый экземпляр использует внутренне, как указано в сетевых ограничениях. Всегда настраивайте пользовательский DNS-сервер так, чтобы он мог разрешать имена общедоступных доменов.
- Всегда используйте полное доменное имя (FQDN) для служб, которые должен разрешить Управляемый экземпляр Azure SQL, например, ваш почтовый сервер или экземпляр SQL Server, расположенный на вашем оборудовании. Используйте полные доменные имена, даже если эти службы находятся в частной зоне DNS. Например, укажите
smtp.contoso.com
. Создание связанного сервера или настройка репликации, ссылающейся на виртуальные машины SQL Server в той же виртуальной сети, также требует полное доменное имя и DNS-суффикс по умолчанию; например,SQLVM.internal.cloudapp.net
.
Обновление управляемых экземпляров SQL
Если параметр DNS-сервера изменяется в виртуальной сети с существующими управляемыми экземплярами SQL, то виртуальный кластер, на котором размещаются эти экземпляры, и базовые группы компьютеров, необходимо синхронизировать с изменениями в конфигурации DNS. Обновление виртуального кластера влияет на все управляемые экземпляры SQL, размещенные в нём.
При обновлении параметров DNS-сервера виртуального кластера настраиваемые IP-адреса DNS-сервера, заданные в виртуальной сети, становятся предпочтительными DNS-серверами для экземпляров в этом кластере. Экземпляры все еще сохраняют адрес резольвера DNS Azure как резервную копию, но теперь сначала разрешают адреса с помощью пользовательских DNS-серверов.
Используйте портал Azure для обновления параметров DNS-сервера для существующего виртуального кластера.
- Откройте портал Azure.
- Откройте группу ресурсов с управляемым экземпляром в подсети, для которой вы настраиваете, и выберите управляемый экземпляр SQL, для которого нужно обновить параметры DNS-сервера.
- В обзоре выберите виртуальный кластер , к которому принадлежит экземпляр.
- Выберите "Синхронизировать параметры DNS-сервера", чтобы обновить кластер.
Проверить конфигурацию
После обновления параметров DNS-сервера в виртуальном кластере можно убедиться, что он действует для управляемых экземпляров в этом кластере. Одним из способов этого является создание и запуск задания агент SQL Server, которое выводит список DNS-серверов, настроенных в настоящее время в сетевом интерфейсе.
Чтобы просмотреть список DNS-серверов, настроенных в сетевом интерфейсе управляемого экземпляра:
- Запустите среду SQL Server Management Studio.
- Подключитесь к управляемому экземпляру в кластере, для который вы обновили параметры DNS.
- В Обозревателе объектов разверните SQL Server Agent.
- Щелкните правой кнопкой мыши Задания и выберите Новое задание....
- В общем случае напишите имя задания, например "Проверка параметров DNS".
- В шагах выберите Новый....
- Напишите имя шага; например, "бег".
- Установите значение Type на PowerShell.
- В команде вставьте следующую команду:
Get-DnsClientServerAddress
- Нажмите кнопку "ОК", а затем нажмите кнопку "ОК", чтобы закрыть оба диалоговых окна.
- В обозреватель объектов щелкните правой кнопкой мыши созданное задание и нажмите кнопку "Запустить задание на шаге...". Задание будет выполняться.
- Когда задание завершится, щелкните его правой кнопкой мыши и выберите Просмотреть журнал.
- В Сводке файла журнала разверните задание и выберите первую и единственную нижележащую операцию.
- В деталях выбранной строки просмотрите выходные данные команды и убедитесь, что они содержат IP-адреса вашего DNS-сервера.
Разрешения
Пользователь, синхронизирующий конфигурации DNS-сервера в виртуальной сети:
- Должен быть членом роли "Участник подписки" или
- Создайте пользовательскую роль с разрешением
Microsoft.Sql/virtualClusters/updateManagedInstanceDnsServers/action
.
Следующие шаги
- Общие сведения см. в разделе "Что такое Управляемый экземпляр SQL Azure?".
- Сведения о том, как управляемый экземпляр разрешает и направляет трафик, см. в архитектуре подключения для Azure SQL Managed Instance.
- Дополнительные сведения см. в разделе "Архитектура виртуального кластера управляемого экземпляра SQL"
- Дополнительные сведения о разрешении DNS в виртуальных сетях Azure см. в статье "Разрешение имен" для ресурсов в виртуальных сетях Azure.
- См. инструкцию по созданию управляемого экземпляра.
- Сведения о настройке виртуальной сети для управляемого экземпляра см. в разделе "Архитектура подключения".