Оптимизация администрирования SQL Server экземпляров в локальных и многооблачных средах с помощью Azure Arc

Azure Arc
SQL Server
Служба Azure Kubernetes (AKS)
Azure Resource Manager
Управляемый экземпляр SQL Azure

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

Архитектура

Диаграммы, иллюстрирующие различные сценарии использования Azure Arc для оптимизации администрирования экземпляров SQL Server, находящихся в локальной среде или размещённых сторонними поставщиками облачных сервисов. Первая группа сценариев включает экземпляры SQL Server, работающие на физических серверах или виртуальных машинах. Вторая группа сценариев охватывает локальные кластеры Kubernetes, кластеры Kubernetes, размещённые в сторонних облаках, или кластеры Служба Azure Kubernetes, работающие с использованием Azure Arc как промежуточного слоя управления. Все сценарии предлагают интеграцию с рядом служб Azure, таких как Azure Monitor и Log Analytics, Политика Azure, Microsoft Defender для облака и Microsoft Sentinel.

Скачайте файл в формате Visio этой архитектуры.

Компоненты

Архитектура состоит из следующих компонентов и возможностей:

  • SQL Server — это реляционная платформа баз данных, которая поддерживает широкий спектр языков разработки, типов данных, локальных или облачных сред и операционных систем. В этой архитектуре он выступает в качестве основного обработчика данных, размещенного вне Azure, и управляется с помощью Azure Arc для единого управления и мониторинга.
  • Azure Arc — это облачная служба, которая расширяет возможности управления Azure на ресурсы, не принадлежащие Azure. В этой архитектуре он обеспечивает централизованное управление экземплярами SQL Server, кластерами Kubernetes и виртуальными машинами в локальных и многооблачных средах.
  • серверы с поддержкой Azure Arc обеспечивают управление компьютерами Windows и Linux за пределами Azure в корпоративной сети или другом поставщике облачных служб. В этой архитектуре они предоставляют основу для управления экземплярами SQL Server в качестве гибридных Azure ресурсов.
  • Azure Arc с поддержкой SQL Server расширяет службы Azure для SQL Server экземпляров, размещенных вне Azure. В этой архитектуре он обеспечивает расширенные возможности мониторинга, безопасности и соответствия требованиям для SQL Server, работающих в центрах обработки данных, пограничных и многооблачных настройках.
  • Kubernetes — это платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и оркестрации. В этой архитектуре он размещает службы данных с поддержкой Azure Arc, включая контейнерные развертывания Управляемый экземпляр SQL Azure.
  • Azure Kubernetes Service (AKS) — это управляемая служба Kubernetes в Azure. В этой архитектуре AKS на Azure Local упрощает развертывание и управление контейнерными рабочими нагрузками SQL в локальных средах.
  • AKS на Azure Local — это локальная реализация AKS. В этой архитектуре масштабное развертывание контейнеризованных приложений выполняется на Azure Local.
  • Kubernetes с поддержкой Azure Arc позволяет Azure управлять кластерами Kubernetes, работающими вне Azure. В этой архитектуре она поддерживает управление, применение политик и мониторинг рабочих нагрузок SQL, развернутых в Kubernetes.
  • службы данных с поддержкой Azure Arc позволяют Azure службам данных выполняться в любой инфраструктуре, включая локальную и многооблачную среду. В этой архитектуре они размещают контейнеризованные экземпляры Управляемый экземпляр SQL, что позволяет использовать собственные возможности облака в гибридных средах.
  • Управляемый экземпляр SQL — это управляемая служба базы данных SQL, которая обеспечивает высокую совместимость с SQL Server. В этой архитектуре она развертывается в контейнеризованной форме с помощью служб данных с поддержкой Azure Arc для обеспечения масштабируемых, безопасных и постоянно защищенных возможностей базы данных.
  • Azure Arc с поддержкой Управляемый экземпляр SQL — это контейнерная версия Управляемый экземпляр SQL, которая работает в службах данных с поддержкой Azure Arc. В этой архитектуре архитектура обеспечивает совместимость с SQL Server почти полную, с гибким развертыванием на Kubernetes или AKS в локальной среде Azure.
  • Azure Arc vSphere с поддержкой VMware расширяет Azure управление средами на основе VMware. В этой архитектуре она обеспечивает управление и мониторинг экземпляров SQL Server, размещенных в vSphere.
  • Azure Arc позволяет использовать System Center Virtual Machine Manager (SCVMM), который интегрирует управляемую SCVMM-инфраструктуру с Azure. В этой архитектуре она поддерживает унифицированное управление рабочими нагрузками SQL Server в SCVMM и Azure.
  • Azure Resource Manager — это платформа развертывания и управления для Azure ресурсов. В этой архитектуре он служит в качестве уровня управления для управления гибридными SQL Server экземплярами и связанными службами. Вы можете использовать такие функции управления, как управление доступом, блокировки и теги, для защиты и упорядочивания ресурсов после развертывания.
  • Azure Monitor — это служба мониторинга, которая собирает и анализирует данные телеметрии из Azure и гибридных ресурсов. В этой архитектуре он отслеживает производительность, доступность и соответствие экземпляров SQL Server, управляемых с помощью Azure Arc.
  • Log Analytics — это функция Azure Monitor, которая позволяет запрашивать и анализировать данные журнала в разных средах. В этой архитектуре она поддерживает оценки SQL и проверки работоспособности для Azure Arc SQL Server.
  • Microsoft Sentinel — это решение для управления событиями информационной безопасности (SIEM) и автоматического реагирования системы безопасности (SOAR) для обнаружения угроз и реагирования. В этой архитектуре он отслеживает события безопасности и оповещения для экземпляров SQL Server, управляемых Azure Arc.
  • Microsoft Defender для облака — это платформа безопасности, которая обеспечивает управление безопасностью и защиту от угроз. В этой архитектуре она повышает уровень безопасности хранилища данных и обеспечивает расширенное обнаружение угроз в гибридных рабочих нагрузках.
  • Azure Backup предоставляет решения для безопасного и масштабируемого резервного копирования для Azure и гибридных сред. В этой архитектуре предусмотрено долгосрочное хранение резервных копий для SQL управляемых экземпляров, подключенных к Azure Arc, развернутых в режиме прямого подключения.

Подробности сценария

Типичные способы использования этой архитектуры:

  • Оценка конфигурации, доступности, производительности и соответствия SQL Server, включенного в Azure Arc, с помощью Azure Monitor.
  • Обнаружение и устранение угроз безопасности, нацеленных на SQL Server с поддержкой Azure Arc, с помощью Microsoft Defender для облака и Microsoft Sentinel.
  • Автоматизация развертывания и управления Управляемый экземпляр SQL с поддержкой Azure Arc в Kubernetes с поддержкой Azure Arc в локальных и многооблачных средах.
  • Автоматизация развертывания и управления экземплярами Управляемый экземпляр SQL, разрешенных с помощью Azure Arc, в службе Azure Kubernetes (AKS) на локальной инфраструктуре Azure.

Рекомендации

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

Оценка, мониторинг и оптимизация производительности, доступности, соответствия и безопасности Azure Arc включенных экземпляров SQL Server с помощью служб Azure

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

Вы можете использовать экземпляры SQL Server, включенные в Azure Arc, размещенные вне облака Azure на физических или виртуальных машинах, работающих под управлением операционной системы Windows или Linux, с локально установленным агентом на подключенном компьютере. Агент устанавливается автоматически при регистрации экземпляра SQL Server с помощью Azure. Azure Arc использует агент для установления логического соединения между не Azure ресурсом и Azure. После установки этого подключения ресурс, отличный от Azure, автоматически становится гибридным ресурсом Azure с собственной идентификацией и идентификатором ресурса в Azure Resource Manager. Azure Resource Manager служит интерфейсом управления, который позволяет создавать, изменять и удалять ресурсы Azure. После включения ресурса, отличного от Azure Arc, можно использовать Azure Resource Manager для упрощения реализации других служб Azure, которые повышают управляемость экземпляров SQL Server.

Примечание.

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

После удовлетворения всех предварительных условий для SQL Server с поддержкой Azure Arc, включая установку агента Log Analytics, вам автоматически предоставляется возможность использовать следующие функции Azure:

  • Оценка SQL по запросу для Server SQL, включенного Azure Arc. Оценка опирается на агента Log Analytics, который собирает соответствующие данные и загружает их в рабочую область Log Analytics, которую вы назначили. С загруженными журналами в рабочую область, решение Log Analytics оценки SQL Server управляет анализом данных и позволяет просматривать его результаты непосредственно на портале Azure. При необходимости решение также предоставляет рекомендации по потенциальным улучшениям. Результаты анализа организованы на четыре категории: качество оценки, безопасность и соответствие, доступность и непрерывность, а также производительность и масштабируемость. Агент Log Analytics проверяет наличие обновлений в регулярных интервалах и автоматически отправляет их в рабочую область Log Analytics, чтобы убедиться, что результаты проверки обновлены.

Примечание.

Log Analytics агент обычно называется Microsoft Monitoring Agent (MMA).

  • Расширенная защита данных для SQL Server с поддержкой Azure Arc. Эта функция помогает обнаруживать и устранять аномалии безопасности и угрозы для Azure Arc включенных экземпляров SQL Server. Как и оценка SQL по запросу, чтобы активировать возможности Azure Arc для SQL Server, необходимо установить агент Log Analytics на сервер, где размещен экземпляр SQL Server. Кроме того, необходимо включить функцию Microsoft Defender для облака Microsoft Defender для облака, чтобы автоматически определить область сбора данных и проанализировать ее. Результаты этого анализа можно просмотреть в Microsoft Defender для облака, а после того как вы подключите Microsoft Sentinel, использовать его для дальнейшего изучения оповещений системы безопасности непосредственно на портале Azure.

Автоматизация развертывания и управления Управляемый экземпляр SQL с поддержкой Azure Arc в локальных и мультиоблачных средах

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

  • Службы данных, включенные Azure Arc, в кластере Kubernetes с поддержкой Azure Arc. Kubernetes с поддержкой Azure Arc поддерживает широкий спектр дистрибутивов Kubernetes, размещенных в облачных или локальных средах на виртуальных или физических серверах.
  • Azure Arc-совместимые службы данных в кластере AKS, размещенном в локальной физической инстанции Azure Local.

Оба варианта поддерживают эквивалентные возможности, связанные с SQL Server, так как эти возможности зависят от уровня служб данных с поддержкой Azure Arc. Однако при использовании Azure Local следует реализовать AKS, так как это упрощает реализацию и управление инфраструктурой Kubernetes и ее рабочими нагрузками.

Управляемый экземпляр SQL с поддержкой Azure Arc предлагает близкую к 100% совместимость с последней версией ядра СУБД SQL Server. Это упрощает миграции по модели "lift and shift" в службы данных, поддерживаемые Azure Arc, требуя минимальных изменений приложений и баз данных.

Управляемый экземпляр SQL, включенная в Azure Arc, использует контроллер данных Azure Arc для установления и поддержания логической связи с управляющей плоскостью Azure Resource Manager. Контроллер данных становится группой подов, работающих в кластере Kubernetes или AKS на локальном уровне. Подмодули оркестрируют задачи управления и эксплуатации для экземпляра Управляемый экземпляр SQL, такие как подготовка и отмена подготовки, автоматическое восстановление после отказа, обновления, масштабирование, резервное копирование, восстановление, а также мониторинг.

При планировании служб данных с поддержкой Azure Arc необходимо решить, работает ли контроллер данных в режиме подключения Непосредственно подключено или Косвенно подключено. Ваше решение имеет важные последствия для возможностей управления и объема данных, отправляемых в Azure. Если службы данных с поддержкой Azure Arc подключены непосредственно к Azure, вы можете управлять ими с помощью стандартных интерфейсов и средств на основе Azure Resource Manager, включая портал Azure, интерфейс командной строки Azure или Azure Resource Manager Шаблоны. Если службы данных с поддержкой Azure Arc косвенно подключены к Azure, то диспетчер ресурсов Azure предоставляет их инвентаризацию в режиме только для чтения. Аналогичным образом, режим прямого подключения необходим, если вы хотите предоставить службы данных Azure Arc с поддержкой Microsoft Entra ID, Azure RBAC (управление доступом на основе ролей Azure) или интегрировать их с такими службами Azure, как Microsoft Defender для облака, Azure Monitor или Azure Backup.

Внимание

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

В то время как режим косвенного подключения предлагает сокращенную функциональность, он позволяет разместить ряд сценариев, которые препятствуют использованию режима прямого подключения. Это относится, например, к локальным центрам обработки данных, которые блокируют прямое внешнее подключение из-за бизнес-требований или нормативных требований или из-за проблем с внешними атаками или кражей данных. Он также обеспечивает поддержку периферийных рабочих площадок с ограниченным или отсутствующим прямым подключением к интернету.

Общий набор функций Azure Arc-enabled Управляемый экземпляр SQL включает:

  • Поддержка автоматических обновлений. Корпорация Майкрософт часто предоставляет обновления для служб данных с поддержкой Azure Arc через реестр контейнеров Майкрософт (MCR). Это включает в себя обслуживание исправлений и добавление новых функций, предоставление аналогичного опыта, такие как управляемые службы данных Azure. Однако вы управляете расписанием развертывания и частотой.
  • Эластичное масштабирование. Архитектура на основе контейнеров изначально поддерживает эластичное масштабирование с ограничениями, зависящими от емкости инфраструктуры. Эта возможность поддерживает сценарии с изменчивыми нагрузками, которые имеют изменчивые потребности, включая прием и запрос данных в режиме реального времени в любом масштабе, с временем отклика менее одной секунды.
  • Самостоятельная подготовка. С помощью оркестрации на основе Kubernetes можно подготовить базу данных в секундах с помощью графического интерфейса или средств Azure CLI.
  • Гибкий мониторинг и управление. С включенным Azure Arc Управляемый экземпляр SQL можно собирать и анализировать журналы и данные телеметрии из API Kubernetes и реализовывать локальное наблюдение с помощью панелей мониторинга Kibana и Grafana. Вы также можете настраивать и управлять Управляемый экземпляр SQL, включенным Azure Arc, с помощью стандартных средств управления SQL Server, таких как Azure CLI, а также средств Kubernetes, таких как Helm и kubectl.

Кроме того, так как Управляемый экземпляр SQL с поддержкой Azure Arc запускается на Kubernetes с поддержкой Azure Arc или AKS на локальной Azure, вы также можете использовать их возможности управления, безопасности и соответствия требованиям, включая:

  • Поддержка принудительного выполнения политик во время выполнения с помощью Политика Azure для Kubernetes и централизованной отчётности о соблюдении этих политик. Это позволяет, например, обеспечить использование HTTPS-инфраструктуры в кластере Kubernetes или гарантировать, что контейнеры прослушивают исключительно разрешённые порты.
  • Поддержка развертывания конфигураций Kubernetes и AKS с помощью GitOps. GitOps — это практика автоматического развертывания кода, размещенного в репозитории Git. В этом сценарии код описывает требуемое состояние конфигурации Kubernetes или AKS. У вас есть возможность применять определенные конфигурации на основе GitOps с помощью Политика Azure, который также предоставляет централизованную отчетность по соблюдению политики.

Внимание

Убедитесь, что доступны Azure Arc функции, которые вы планируете использовать в рабочей среде.

Рекомендации

Эти рекомендации реализуют основы платформы Azure Well-Architected Framework, которая представляет собой набор руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в разделе Microsoft Azure Well-Architected Framework.

Надежность

Надежность гарантирует, что ваше приложение позволит вам выполнить ваши обязательства перед клиентами. Для получения дополнительной информации см. контрольный список проверки проектирования на надежность.

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

  • С включенным Azure Arc Управляемый экземпляр SQL можно развернуть отдельные базы данных в одном или нескольких шаблонах pod. Например, тариф разработчика или общего назначения реализует шаблон с одним pod, тогда как тариф бизнес-класса с высокой доступностью использует шаблон с несколькими pod. Управляемый экземпляр SQL с высокой доступностью использует группы доступности AlwaysOn для репликации данных из одного экземпляра в другой синхронно или асинхронно.

  • Azure Arc включенная Управляемый экземпляр SQL использует базу кода с последней стабильной версией SQL Server, обеспечивая поддержку большинства особенностей высокой доступности .

  • Подключаемый к Azure Arc экземпляр Управляемый экземпляр SQL обеспечивает автоматическое создание локальных резервных копий, независимо от способа подключения. В режиме прямого подключения вы также можете применить Azure Backup для долгосрочного хранения резервных копий вне сайта.

Безопасность

Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в контрольном списке для проверки проектирования безопасности.

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

  • Если Azure Arc включена Управляемый экземпляр SQL, в режиме прямого подключения необходимо предоставить контроллеру данных прямой доступ к MCR, чтобы упростить автоматическое обновление и исправление. Кроме того, вы можете импортировать образы контейнеров из MCR и сделать их доступными в локальном частном реестре контейнеров, доступном контроллером данных.

  • Агент подключенного компьютера Azure передает исходящий трафик Azure Arc через TCP-порт 443 с помощью протокола TLS.

  • При использовании Управляемый экземпляр SQL с поддержкой Azure Arc в режиме непосредственного подключения нет необходимости открывать входящие порты по периметру локальных центров обработки данных. Контроллер данных инициировал исходящие подключения в безопасном режиме через TCP-порт 443 с помощью протокола TLS.

Внимание

Чтобы повысить безопасность передаваемых данных в Azure, следует настроить серверы, на которых размещаются экземпляры SQL Server, чтобы использовать Transport Layer Security (TLS) 1.2.

Оптимизация затрат

Оптимизация затрат заключается в том, чтобы подумать о способах сокращения ненужных расходов и повышения эффективности работы. Дополнительные сведения см. в контрольном списке для проверки проектирования с целью оптимизации затрат.

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

  • Контейнеризация среды SQL Server с помощью Управляемый экземпляр SQL с поддержкой Azure Arc помогает увеличить плотность и мобильность рабочих нагрузок. Это упрощает более эффективное использование оборудования, которое, как правило, обеспечивает максимальную отдачу от инвестиций (ROI) и минимизирует операционные затраты, помогая ускорить инициативы по консолидации центров обработки данных.

Операционное превосходство

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

  • Чтобы выполнить регистрацию отдельных экземпляров с поддержкой Azure Arc, SQL Server можно интерактивно запустить скрипт, доступный непосредственно на портале Azure. Для крупномасштабных развертываний можно запустить тот же скрипт в автоматическом режиме, используя служебный принципал Microsoft Entra.

  • Чтобы выполнить оценку конфигурации и работоспособности экземпляров SQL Server, включенных в систему Azure Arc, с помощью Azure Monitor, необходимо развернуть агент Log Analytics на сервере, размещающем этот экземпляр SQL Server. Это развертывание можно автоматизировать в большом масштабе, используя Политика Azure для включения Azure Monitor для ВМ на серверах с поддержкой Azure Arc.

  • Оценка SQL по запросу и расширенная безопасность данных доступны для экземпляров SQL Server, которые не активированы в Azure Arc. Однако Azure Arc упрощает подготовку и настройку. Например, можно использовать возможность расширения виртуальной машины для автоматизации развертывания агента Log Analytics на серверах, где размещаются экземпляры SQL Server.

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

Эффективность производительности

Эффективность производительности — это возможность вашей рабочей нагрузки отвечать требованиям, заданным пользователями. Для получения дополнительной информации см. контрольный список проверки проекта на эффективность производительности.

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

  • При планировании развертывания Управляемый экземпляр SQL включенной Azure Arc следует определить правильный объем вычислительных ресурсов, памяти и хранилища, необходимых для запуска контроллера данных Azure Arc и предполагаемых групп серверов SQL managed instance. Обратите внимание, что вы можете расширить емкость базового кластера Kubernetes или AKS с течением времени, добавив дополнительные вычислительные узлы или хранилище.

  • Kubernetes или AKS предлагает уровень абстракции над базовой виртуализацией и оборудованием. Для хранилища такая абстракция реализуется с помощью классов хранения. При подготовке pod необходимо решить, какой класс хранения будет использоваться для его томов. Ваше решение важно с точки зрения производительности, поскольку неверный выбор может привести к неоптимальной производительности. При планировании развертывания Azure Arc enabled Управляемый экземпляр SQL следует учитывать ряд факторов, влияющих на конфигурацию хранилища kubernetes-storage-class-factors для data controller и database instances.

Следующие шаги