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

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
Автор
Редакция

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

Как включить субтитры на Shudder
Стриминг

Как включить субтитры на Shudder

Как находить фильмы на Netflix, которые вам понравятся
Рекомендации

Как находить фильмы на Netflix, которые вам понравятся

Как отменить подписку HBO Max
Стриминг

Как отменить подписку HBO Max

Как сменить язык на HBO Max
Инструкции

Как сменить язык на HBO Max

Создание и управление профилями в HBO Max
How-to

Создание и управление профилями в HBO Max

Перезапуск и сброс Nest Thermostat — руководство
Умный дом

Перезапуск и сброс Nest Thermostat — руководство