Гид по технологиям

Azure SQL Managed Instance — развёртывание, подключение и контроль

7 min read Azure SQL Обновлено 29 Oct 2025
Azure SQL Managed Instance: развёртывание и подключение
Azure SQL Managed Instance: развёртывание и подключение

Быстрые ссылки

  • Provisioning an Azure SQL Managed Instance

  • Create a New Database

  • Connecting via Public Endpoint

  • Conclusion

Логотип Azure

Microsoft SQL Server часто требует значительных затрат на администрирование. Чтобы упростить задачи по настройке, масштабированию, обновлениям и резервному копированию, Microsoft предлагает сервис Azure SQL Managed Instance.

Managed Instance предоставляет «evergreen» версию Microsoft SQL — сервер всегда обновлён до актуальной версии и получает новые возможности автоматически. Апгрейды, патчи и базовая защита управляются платформой. Автоматические бэкапы, встроенные возможности для высокой доступности и аварийного восстановления делают Managed Instance удобным решением как для DBA, так и для разработчиков.

Provisioning an Azure SQL Managed Instance

Начнём с портала Azure. Откройте сервис Azure SQL в портале и нажмите “Create Azure SQL resource” чтобы запустить мастера создания.

Кликните

Варианты развёртывания SQL в Azure обычно включают три основных типа:

  • SQL Databases: управляемые одиночные БД и elastic pools — хороший выбор для облачных приложений с переменной нагрузкой.
  • SQL Managed Instances: ближе к классическому SQL Server, упрощают миграцию “lift-and-shift” и поддерживают большинство функций SQL Server.
  • SQL Virtual Machines: полноценный SQL Server в виртуальной машине; даёт полный контроль, но требует администрирования ОС и сервера.

В этом руководстве мы используем SQL Managed Instance. Нажмите “Create” под опцией SQL Managed Instance для запуска мастера развёртывания.

Нажмите

Заполните базовые параметры: имя экземпляра, регион и учётные данные администратора.

Важно: учётная запись администратора — это SQL login (тип SQL authentication). Запишите логин и надёжный пароль. Используйте секретный пул (Key Vault) для хранения этих данных в продакшн-среде.

Укажите данные для аккаунта администратора.

Если нужно изменить вычислительные ресурсы и уровень обслуживания, нажмите “Configure Managed Instance”. Выберите сервисный уровень и конфигурацию процессора/памяти. Managed Instance обычно дороже, чем одиночные БД, но экономит время на управлении и патчах.

Выбор уровня сервиса и вычислительного профиля.

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

Нажмите “Create” для старта развёртывания. Учтите, что создание Managed Instance может занимать несколько часов. В официальной документации указывается до 6 часов; в моём тесте процесс занял около 2 часов.

Создание SQL Managed Instance в портале Azure.

Create a New Database

После создания экземпляра можно добавить базу данных. Создадим простую базу с именем:

testdatabase

Это можно сделать через SQL Server Management Studio (SSMS) или через портал Azure. В портале выберите опцию New Database и укажите имя.

Кликните

В поле укажите имя и нажмите “Create”. После этого база появится в списке.

Укажите имя и нажмите

Connecting via Public Endpoint

Существует несколько способов подключиться к Managed Instance:

  • Через виртуальную машину (VM) с установленным SSMS в той же виртуальной сети.
  • Через приложение/код по строке подключения.
  • Через публичную конечную точку (public endpoint) — если она включена; это позволяет подключаться удалённо с помощью SSMS.

Перед включением публичной точки внимательно оцените риски.

Важно: открытие портов во внешней сети увеличивает риск несанкционированного доступа. Всегда применяйте строгие правила доступа, используйте безопасные пароли и, по возможности, VPN/ExpressRoute.

Если вы решили разрешить публичную конечную точку, откройте страницу Networking вашего Managed Instance и включите опцию Public endpoint (data), затем сохраните изменения.

Выберите

На странице обзора найдите раздел Virtual network/subnet и перейдите по ссылке к конфигурации виртуальной сети, назначенной экземпляру.

Перейдите по ссылке конфигурации Managed Instance — виртуальная сеть и подсеть.

В ресурсе виртуальной сети откройте панель Subnets и обратите внимание на привязанный Security group (NSG). В примере он называется:

nsg-lc-test-sql-instance

Обратите внимание на группу безопасности (NSG).

Проще всего найти этот NSG через поиск в портале Azure — выберите найденный ресурс и перейдите на его страницу.

Найдите NSG через поиск в портале и перейдите на его страницу.

На странице NSG откройте Inbound security rules и нажмите “Add”.

Откройте раздел Inbound security rules и нажмите

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

  • Source: Any
  • Source port ranges: *
  • Destination: Any
  • Destination port ranges: 3342
  • Protocol: TCP
  • Action: Allow
  • Priority: 1300 (должно иметь приоритет выше «deny all»)
  • Name: Port_3342
  • Description: (по желанию)

Создайте правило брандмауэра и нажмите

После добавления правила вернитесь к вашему Managed Instance и откройте Connection Strings. В разделе ADO.NET вторая строка содержит публичную конечную точку. Пример значения:

lc-test-sql-instance.public.1994d7e4f669.database.windows.net,3342

В разделе ADO.NET найдите значение публичной конечной точки.

Примечание: запятая перед портом (“,3342”) используется SQL Server для обозначения порта в строке подключения (не двоеточие).

Скопируйте строку и подключитесь через SSMS, используя ранее созданные учётные данные администратора.

Используя значение публичной конечной точки, подключитесь через SSMS с администраторскими логином и паролем.

В окне SSMS вы увидите базу данных testdatabase и сможете управлять ею так же, как и на обычном SQL Server.

Созданная база test-database доступна для администрирования.

Безопасность и лучшие практики

Важно сочетать удобство публичного доступа с мерами безопасности. Рекомендации:

  • Ограничьте доступ по IP-адресам — используйте NSG правила с конкретными источниками, а не “Any”.
  • По возможности подключайтесь через VPN или Azure Bastion в приватной сети.
  • Храните секреты (пароли, строки подключения) в Azure Key Vault.
  • Включите Threat Detection и Advanced Data Security для мониторинга подозрительной активности.
  • Настройте аудит и логи через Azure Monitor / Log Analytics.
  • Применяйте принцип наименьших прав для SQL-пользователей и ролей.

Когда Managed Instance не подходит

  • Если нужен полный контроль над ОС и служебными компонентами — используйте SQL на виртуальной машине.
  • Если бюджет ограничен и требуется только одна небольшая БД — рассмотрите Azure SQL Database (single database) или elastic pool.
  • Если в приложении используются нестандартные или неподдерживаемые функции SQL Server — проверьте совместимость перед миграцией.

Альтернативные подходы

  • Lift-and-shift миграция на Managed Instance при минимальной изменении приложения.
  • Re-architect в пользу PaaS (подход с Microservices и Azure SQL Database) для более гибкой масштабируемости.
  • Использование Azure Database Migration Service (DMS) для переноса данных и схем.

Мини‑методология развёртывания

  1. Планирование: выберите регион, оцените требования к CPU/RAM/IOPS, согласуйте IP-диапазоны.
  2. Развёртывание: создайте Managed Instance в тестовой подписке, настройте NSG и VNet.
  3. Тестирование: создайте тестовую базу, проверьте восстановление и доступность.
  4. Перенос данных: используйте DMS или bacpac/restore методы.
  5. Эксплуатация: настройте мониторинг, бэкапы и аварийное восстановление.

Role-based чек-листы

Администратор:

  • Создать Managed Instance и проверить статус развёртывания.
  • Настроить NSG, VPN и/или Private Link.
  • Включить мониторинг и аудит.
  • Настроить резервное копирование и retention policy.

Разработчик:

  • Получить тестовую строку подключения и проверить соединение.
  • Выполнить тестовые запросы и инструментальные замеры производительности.
  • Проверить совместимость T-SQL и CLR (если используется).

Инженер безопасности:

  • Проверить правила NSG и лимитировать source IP.
  • Включить Threat Detection и SIEM-интеграцию.
  • Провести ревизию привилегий и паролей.

SOP: Быстрый план действий для подключений через публичную конечную точку

  1. Включить Public endpoint в Networking Managed Instance.
  2. Определить NSG, привязанный к подсети Managed Instance.
  3. Добавить правило Inbound: порт 3342 TCP, source — конкретные IP, priority — выше deny-all.
  4. Проверить строку подключения в Connection Strings (ADO.NET).
  5. Подключиться через SSMS, тестировать с минимальными правами.
  6. После теста сузить NSG правила и зафиксировать конфигурацию.

Критерии приёмки

  • Managed Instance создан и имеет статус “Сервис доступен”.
  • База testdatabase создана и видна в SSMS.
  • Подключение к экземпляру по публичной конечной точке проходит успешно только с разрешённых IP.
  • Мониторинг и аудит включены, тревоги настроены.

Тест-кейсы и сценарии приёмки

  1. Подключение по ADO.NET строке: успешное соединение и выполнение простого SELECT.
  2. Проверка отказоустойчивости: имитация ошибки виртуальной машины и проверка автоматического восстановления сервисов.
  3. Восстановление из резервной копии: создать резерв и восстановить в отдельную базу.
  4. Безопасность: попытка подключиться с неразрешённого IP — доступ должен быть запрещён.

Decision flow (упрощённая схема выбора подхода)

flowchart TD
  A[Нужен SQL в облаке?] --> B{Требуется полный контроль ОС?}
  B -- Да --> C[SQL на VM]
  B -- Нет --> D{Нужна поддержка всех функций SQL Server?}
  D -- Да --> E[Managed Instance]
  D -- Нет --> F[Azure SQL Database 'single/elastic']
  E --> G[Рассмотреть NAT/NSG/VNet]
  C --> G
  F --> G

Глоссарий (1‑строчно)

  • Managed Instance — управляемый экземпляр SQL Server в Azure с минимальным администрированием со стороны клиента.
  • NSG — Network Security Group, правило фильтрации сетевого трафика в Azure.
  • ADO.NET — библиотека .NET для работы с базами данных (используется для примера строки подключения).

Меры безопасности — матрица рисков и смягчения

  • Риск: несанкционированный доступ через публичный порт. Смягчение: ограничить IP, использовать VPN, MFA для администраторов.
  • Риск: утечка секретов. Смягчение: хранить секреты в Key Vault, ротация паролей.
  • Риск: неправильная конфигурация NSG. Смягчение: code review правил, автоматические тесты безопасности.

Заключение

Azure SQL Managed Instance упрощает эксплуатацию Microsoft SQL Server в облаке. Это удобный путь для миграции on-premise нагрузки и для снижения операционных затрат на администрирование. При открытии публичной конечной точки соблюдайте лучшие практики безопасности: ограничивайте IP, храните секреты в Key Vault, включайте аудит и мониторинг.

Ключевые рекомендации: планируйте сеть заранее, тестируйте восстановление, автоматизируйте мониторинг и минимизируйте державные права доступа.

Важно: перед переносом в продакшн выполните оценку совместимости и нагрузочного тестирования, чтобы убедиться, что Managed Instance соответствует требованиям вашего приложения.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Троян Herodotus: как он работает и как защититься
Кибербезопасность

Троян Herodotus: как он работает и как защититься

Включить новое меню «Пуск» в Windows 11
Windows руководство

Включить новое меню «Пуск» в Windows 11

Панель полей сводной таблицы в Excel — руководство
Excel

Панель полей сводной таблицы в Excel — руководство

Включить новое меню «Пуск» в Windows 11
Windows 11

Включить новое меню «Пуск» в Windows 11

Дубликаты Диспетчера задач в Windows 11 — как исправить
Windows

Дубликаты Диспетчера задач в Windows 11 — как исправить

История просмотров Reels в Instagram — как найти
Instagram

История просмотров Reels в Instagram — как найти