Azure SQL Managed Instance — развёртывание, подключение и контроль
Быстрые ссылки
Provisioning an Azure SQL Managed Instance
Create a New Database
Connecting via Public Endpoint
Conclusion

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 часов.

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 и перейдите по ссылке к конфигурации виртуальной сети, назначенной экземпляру.

В ресурсе виртуальной сети откройте панель Subnets и обратите внимание на привязанный Security group (NSG). В примере он называется:
nsg-lc-test-sql-instance
Проще всего найти этот NSG через поиск в портале Azure — выберите найденный ресурс и перейдите на его страницу.

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

Добавьте правило для разрешения входящего трафика на порт 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
Примечание: запятая перед портом (“,3342”) используется SQL Server для обозначения порта в строке подключения (не двоеточие).
Скопируйте строку и подключитесь через SSMS, используя ранее созданные учётные данные администратора.

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

Безопасность и лучшие практики
Важно сочетать удобство публичного доступа с мерами безопасности. Рекомендации:
- Ограничьте доступ по 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) для переноса данных и схем.
Мини‑методология развёртывания
- Планирование: выберите регион, оцените требования к CPU/RAM/IOPS, согласуйте IP-диапазоны.
- Развёртывание: создайте Managed Instance в тестовой подписке, настройте NSG и VNet.
- Тестирование: создайте тестовую базу, проверьте восстановление и доступность.
- Перенос данных: используйте DMS или bacpac/restore методы.
- Эксплуатация: настройте мониторинг, бэкапы и аварийное восстановление.
Role-based чек-листы
Администратор:
- Создать Managed Instance и проверить статус развёртывания.
- Настроить NSG, VPN и/или Private Link.
- Включить мониторинг и аудит.
- Настроить резервное копирование и retention policy.
Разработчик:
- Получить тестовую строку подключения и проверить соединение.
- Выполнить тестовые запросы и инструментальные замеры производительности.
- Проверить совместимость T-SQL и CLR (если используется).
Инженер безопасности:
- Проверить правила NSG и лимитировать source IP.
- Включить Threat Detection и SIEM-интеграцию.
- Провести ревизию привилегий и паролей.
SOP: Быстрый план действий для подключений через публичную конечную точку
- Включить Public endpoint в Networking Managed Instance.
- Определить NSG, привязанный к подсети Managed Instance.
- Добавить правило Inbound: порт 3342 TCP, source — конкретные IP, priority — выше deny-all.
- Проверить строку подключения в Connection Strings (ADO.NET).
- Подключиться через SSMS, тестировать с минимальными правами.
- После теста сузить NSG правила и зафиксировать конфигурацию.
Критерии приёмки
- Managed Instance создан и имеет статус “Сервис доступен”.
- База testdatabase создана и видна в SSMS.
- Подключение к экземпляру по публичной конечной точке проходит успешно только с разрешённых IP.
- Мониторинг и аудит включены, тревоги настроены.
Тест-кейсы и сценарии приёмки
- Подключение по ADO.NET строке: успешное соединение и выполнение простого SELECT.
- Проверка отказоустойчивости: имитация ошибки виртуальной машины и проверка автоматического восстановления сервисов.
- Восстановление из резервной копии: создать резерв и восстановить в отдельную базу.
- Безопасность: попытка подключиться с неразрешённого 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 соответствует требованиям вашего приложения.
Похожие материалы
Троян Herodotus: как он работает и как защититься
Включить новое меню «Пуск» в Windows 11
Панель полей сводной таблицы в Excel — руководство
Включить новое меню «Пуск» в Windows 11
Дубликаты Диспетчера задач в Windows 11 — как исправить