Optimización de la administración de instancias de SQL Server en entornos locales y de varias nubes mediante Azure Arc

Azure
Azure Arc
Azure Kubernetes Service (AKS)
Azure Resource Manager
Instancia administrada de Azure SQL

Esta arquitectura de referencia muestra cómo usar Azure Arc para la administración, el mantenimiento y la supervisión de instancias de SQL Server en entornos locales y de varias nubes.

Architecture

Diagram illustrating different scenarios that leverage Azure Arc to optimize administration of SQL Server instances residing on-premises or hosted by third-party cloud providers. The first group of scenarios consists of SQL Server instances running on physical servers or virtual machines. The second group of scenarios comprises on-premises, third-party cloud hosted Kubernetes clusters, or Azure Kubernetes Service clusters running on Azure Stack HCI, with Azure Arc data controller serving as an intermediary management layer. All of these scenarios offer integration with a range of Azure services, such as Azure Monitor and Log Analytics, Azure Policy, Microsoft Defender for Cloud, and Microsoft Sentinel.

Descargue un archivo Visio de esta arquitectura.

Componentes

La arquitectura consta de los componentes y las funcionalidades siguientes:

  • SQL Server. Esta plataforma de datos proporciona diversas opciones de lenguajes de desarrollo, tipos de datos, entornos locales o de nube, y sistemas operativos.
  • Azure Arc . Este servicio basado en la nube amplía el modelo de administración basado en Azure Resource Manager a recursos que no son de Azure, como máquinas virtuales (VM), clústeres de Kubernetes y bases de datos en contenedor.
  • Servidores habilitados para Azure Arc. Este servicio híbrido permite administrar las máquinas Windows y Linux hospedadas fuera de Azure en la red corporativa o en otro proveedor de nube. El proceso es similar a la administración de VM nativas de Azure.
  • SQL Server habilitado para Azure Arc . Esta parte de los servidores habilitados para Azure Arc extiende los servicios de Azure a instancias de SQL Server hospedadas fuera de Azure en el centro de datos del cliente, en el sistema perimetral o en un entorno de varias nubes.
  • Kubernetes. Se trata de una plataforma de código abierto portable y extensible para la administración y orquestación de cargas de trabajo contenedorizadas.
  • Azure Kubernetes Service. Es un servicio que simplifica la implementación en Azure de clústeres de Kubernetes administrados.
  • Azure Stack HCI (20H2) . Es una solución de clúster de infraestructura hiperconvergida (HCI) que hospeda cargas de trabajo de los sistemas operativos (SO) Windows y Linux, y su almacenamiento en un entorno local híbrido. Un clúster está formado por entre 2 y 16 nodos físicos.
  • Azure Kubernetes Service en Azure Stack HCl . Se trata de una implementación de AKS, que automatiza la ejecución de aplicaciones contenedorizadas a escala en Azure Stack HCl.
  • Kubernetes habilitado para Azure Arc. Este servicio híbrido le permite simplificar la implementación y la administración de clústeres de Kubernetes dentro o fuera de Azure.
  • Servicios de datos habilitados para Azure Arc. Este servicio híbrido permite ejecutar servicios de datos de Azure en el entorno local, en el perímetro y en nubes públicas mediante Kubernetes y la infraestructura de su elección.
  • Azure SQL Managed Instance. Este servicio de base de datos en la nube inteligente y escalable combina la mayor compatibilidad con el motor de base de datos de SQL Server y todas las ventajas de una plataforma como servicio totalmente administrada y permanente.
  • SQL Managed Instance habilitado para Azure Arc . Este servicio de datos de Azure SQL se puede crear en la infraestructura de su elección que hospede los servicios de datos habilitados para Azure Arc.
  • Azure Resource Manager. Azure Resource Manager es el servicio de implementación y administración para Azure. Proporciona una capa de administración que le permite crear, actualizar y eliminar recursos de la cuenta de Azure. Las características de administración, como el control de acceso, los bloqueos y las etiquetas, se utilizan para proteger y organizar los recursos después de la implementación.
  • Azure Monitor. Este servicio basado en la nube maximiza la disponibilidad y el rendimiento de las aplicaciones y los servicios con una completa solución que permite recopilar y analizar datos de telemetría, así como reaccionar a estos, tanto desde Azure como desde otras ubicaciones.
  • Log Analytics. Esta es la herramienta principal de Azure Portal para escribir consultas de registros y analizar sus resultados de forma interactiva.
  • Microsoft Sentinel. Esta es una solución nativa de nube y escalable para la administración de eventos de información de seguridad (SIEM) y la respuesta automatizada de orquestación de seguridad (SOAR).
  • Microsoft Defender for Cloud. Este sistema unificado de administración de la seguridad de infraestructura fortalece el nivel de seguridad de sus centros de datos, y proporciona protección contra amenazas avanzada en su cargas de trabajo híbridas.
  • Azure Backup. El servicio Azure Backup proporciona soluciones sencillas, seguras y rentables tanto para realizar copias de seguridad de datos de la nube de Microsoft Azure como para recuperarlos.

Detalles del escenario

Los usos habituales de esta arquitectura incluyen:

  • Evaluación por medio de Azure Monitor de la configuración, la disponibilidad, el rendimiento y el cumplimiento de SQL Server habilitado para Azure Arc.
  • Detección y corrección de amenazas de seguridad de SQL Server habilitado para Azure Arc mediante Microsoft Defender for Cloud y Microsoft Sentinel.
  • Automatización de la implementación y la administración de SQL Managed Instance habilitado para Azure Arc en Kubernetes habilitado para Azure Arc en entornos locales y de varias nubes.
  • Automatización de la implementación y la administración de SQL Managed Instance habilitado para Azure Arc en Azure Kubernetes Service (AKS) en Azure Stack HCI.

Recomendaciones

Las siguientes recomendaciones sirven para la mayoría de los escenarios. Sígalas a menos que tenga un requisito concreto que las invalide.

Evaluación, supervisión y optimización del rendimiento, la disponibilidad, el cumplimiento y la seguridad de las instancias de SQL Server habilitadas para Azure Arc mediante los servicios de Azure

Sin un modelo de administración y operaciones unificado y coherente, la administración de instancias individuales de SQL Server podría dar lugar a costos generales importantes. Sin un conjunto adecuado de herramientas, necesita aptitudes avanzadas y esfuerzos continuos para identificar y mantener la configuración de alto rendimiento, resistente y segura de SQL Server. Es especialmente importante solucionar estos desafíos a medida que evoluciona el panorama tecnológico empresarial, cada vez más complejo, con varias instancias de SQL Server que se ejecutan en hardware diferente en centros de trabajo locales, varias nubes públicas y privadas, y en el perímetro.

Puede usar las instancias de SQL Server habilitadas para Azure Arc, hospedadas en máquinas físicas y virtuales que se encuentren fuera de Azure, que ejecuten un sistema operativo Windows o Linux con un agente de Connected Machine instalado de forma local. El agente se instala automáticamente al registrar la instancia de SQL Server con Azure. Azure Arc usa el agente para establecer una conexión lógica entre el recurso que no es de Azure y Azure. Después de establecer esta conexión, un recurso que no es de Azure se convierte automáticamente en un recurso híbrido de Azure, con su propia identidad y un identificador de recurso de Azure Resource Manager. Azure Resource Manager actúa como la interfaz de administración que permite crear, modificar y eliminar recursos de Azure. Después de habilitar con Arc un recurso que no es de Azure, puede usar Azure Resource Manager para facilitar la implementación de otros servicios de Azure que mejoran la capacidad de administración de las instancias de SQL Server.

Nota

La instalación del agente de Azure Connected Machine también forma parte de la implementación de servidores habilitados para Azure Arc. En realidad, no es necesario que se instale al implementar la instancia de SQL Server habilitada para Azure Arc en los servidores habilitados para Azure Arc.

Después de cumplir todos los requisitos previos de SQL Server habilitado para Azure Arc, incluida la instalación del agente de Log Analytics, tendrá la opción de usar la siguiente funcionalidad de Azure automáticamente:

  • SQL Assessment a petición de la instancia de SQL Server habilitada para Azure Arc. La evaluación depende del agente de Log Analytics para recopilar los datos pertinentes y cargarlos en el área de trabajo de Log Analytics que designe. Con los registros cargados en el área de trabajo, la solución SQL Server Assessment de Log Analytics administra el análisis de datos y permite revisar los resultados directamente en Azure Portal. Siempre que sea aplicable, la solución también proporciona recomendaciones sobre posibles mejoras. Los resultados del análisis se organizan en cuatro categorías: calidad de la evaluación, seguridad y cumplimiento, disponibilidad y continuidad, y rendimiento y escalabilidad. El agente de Log Analytics busca actualizaciones a intervalos regulares y las carga automáticamente en el área de trabajo de Log Analytics para asegurarse de que los resultados que está revisando están actualizados.

Nota

El agente de Log Analytics suele denominarse Microsoft Monitoring Agent (MMA).

  • Seguridad de datos avanzada para SQL Server habilitado para Azure Arc. Esta funcionalidad le ayuda a detectar y corregir las anomalías y amenazas de seguridad en las instancias de SQL Server habilitadas para Azure Arc. Al igual que SQL Assessment a petición, para habilitar SQL Server habilitado para Azure Arc, debe instalar el agente de Log Analytics en el servidor que hospeda la instancia de SQL Server. También debe habilitar la característica Microsoft Defender for Cloud de Microsoft Defender for Cloud para definir automáticamente el ámbito de la recopilación de datos y analizarlo. Puede revisar los resultados de este análisis en Microsoft Defender for Cloud y, después de incorporar Microsoft Sentinel, usarlo para seguir investigando las alertas de seguridad directamente en Azure Portal.

Automatización de la implementación y la administración de SQL Managed Instance habilitado para Azure Arc en entornos locales y de varias nubes

Azure Arc habilitado SQL Instancia administrada se convierte en una implementación contenedorizada que se ejecuta en los servicios de datos habilitados para Arc de Azure. Para hospedar la implementación, puede usar las siguientes opciones:

  • Servicios de datos habilitados para Azure Arc en un clúster de Kubernetes habilitado para Azure Arc. Kubernetes habilitado para Azure Arc admite una amplia gama de distribuciones de Kubernetes hospedadas en entornos locales o en la nube en servidores físicos o virtuales.
  • Servicios de datos habilitados para Azure Arc en un clúster de AKS hospedado en un clúster de Azure Stack HCI físico local.

Ambas opciones admiten funcionalidades equivalentes relacionadas con SQL Server porque estas funcionalidades se basan en el nivel de servicios de datos habilitados para Azure Arc. Sin embargo, al usar Azure Stack HCl, debe implementar AKS, ya que simplifica la implementación y administración de la infraestructura de Kubernetes y sus cargas de trabajo.

SQL Managed Instance habilitado para Azure Arc ofrece una compatibilidad cercana al 100 % con el motor de base de datos de SQL Server más reciente. Esto facilita las migraciones mediante lift-and-shift a los servicios de datos habilitados para Azure Arc con cambios mínimos en la aplicación y en la base de datos.

SQL Managed Instance habilitado para Azure Arc se basa en el controlador de datos de Azure Arc para establecer y mantener una conexión lógica con el plano de control de Azure Resource Manager. El controlador de datos se convierte en un grupo de pods que se ejecuta en el clúster de Kubernetes o AKS local. Los pods orquestan las tareas operativas y de administración de SQL Managed Instance, como el aprovisionamiento y el desaprovisionamiento, la conmutación por error automática, las actualizaciones, el escalado, la copia de seguridad y la restauración, y la supervisión.

Al planear los servicios de datos habilitados para Azure Arc, debe decidir si el controlador de datos funcionará en el modo de conectividad conectado directamente o indirectamente conectado. La decisión tiene implicaciones importantes para las capacidades de administración y la cantidad de datos que se envían a Azure. Si los servicios de datos habilitados para Azure Arc están conectados directamente a Azure, puede administrarlos mediante las interfaces y herramientas estándar basadas en Azure Resource Manager, que incluyen Azure Portal, la Interfaz de la línea de comandos de Azure (CLI de Azure) o las plantillas de Azure Resource Manager. Si los servicios de datos habilitados para Azure Arc están conectados indirectamente a Azure, Azure Resource Manager proporciona su inventario de solo lectura. De forma similar, el modo conectado directamente es necesario si quiere proporcionar a los servicios de datos habilitados para Azure Arc compatibilidad con Microsoft Entra ID o control de acceso basado en roles (Azure RBAC) de Azure, o bien integrarlos con servicios de Azure como Microsoft Defender for Cloud, Azure Monitor o Azure Backup.

Precaución

El modo de conectividad conectado indirectamente requiere la entrega de una cantidad mínima de datos a Azure con fines de inventario y facturación al menos una vez al mes.

Aunque el modo conectado indirectamente ofrece una funcionalidad reducida, permite acomodar una variedad de escenarios que impiden el uso del modo conectado directamente. Esto se aplica, por ejemplo, a centros de datos locales que bloquean la conectividad externa directa debido a los requisitos empresariales o normativos, o bien debido a problemas de ataques externos o de exfiltración de datos. También proporciona compatibilidad para ubicaciones de sitios perimetrales con conectividad limitada o sin conectividad directa a Internet.

El conjunto común de funcionalidades de SQL Managed Instance habilitado para Azure Arc incluye lo siguiente:

  • Compatibilidad con las actualizaciones automatizadas. Microsoft proporciona con frecuencia actualizaciones a los servicios de datos habilitados para Azure Arc a través de Microsoft Container Registry (MCR). Incluye revisiones de mantenimiento y nuevas características, así como la entrega de una experiencia similar a la de los servicios de datos administrados por Azure. Sin embargo, puede controlar la cadencia y la programación de la implementación.
  • Escalado elástico. La arquitectura basada en contenedores es intrínsecamente compatible con el escalado elástico, cuyos límites dependen de la capacidad de la infraestructura. Esta funcionalidad se adapta a escenarios flexibles con necesidades volátiles, como la ingesta y consulta de datos en tiempo real, a cualquier escala, con un tiempo de respuesta inferior a un segundo.
  • Aprovisionamiento de autoservicio. Gracias a la orquestación basada en Kubernetes, puede aprovisionar una base de datos en cuestión segundos mediante de interfaz gráfica o la CLI de Azure.
  • Supervisión y administración flexibles. Con SQL Managed Instance habilitado para Azure Arc, puede recopilar y analizar los registros y la telemetría de las API de Kubernetes, e implementar la supervisión local con los paneles de Kibana y Grafana. También tiene la capacidad de aprovisionar y administrar SQL Managed Instance habilitado para Azure Arc mediante una serie de herramientas de administración de SQL Server estándar, como Azure Data Studio y la CLI de Azure, y herramientas de administración de Kubernetes, como Helm y kubectl.

Además, dado que SQL Managed Instance habilitado para Azure Arc se ejecuta en Kubernetes habilitado para Azure Arc o AKS en Azure Stack HCI, también puede usar sus funcionalidades de administración, seguridad y cumplimiento, que incluyen:

Precaución

Compruebe que las características de Azure Arc que desea usar en el entorno de producción estén disponibles.

Consideraciones

El Marco de buena arquitectura de Microsoft Azure es un conjunto de principios de orientación que se siguen en esta arquitectura de referencia. Las consideraciones siguientes se enmarcan en el contexto de estos principios.

Optimización de costos

La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

  • Azure Arc ayuda a minimizar o incluso elimina la necesidad de los sistemas de administración y supervisión locales, lo que reduce la complejidad operativa y el costo, especialmente en entornos grandes, diversos y distribuidos. Esto ayuda a desplazar los costos adicionales asociados a los servicios relacionados con Azure Arc. Por ejemplo, la seguridad de datos avanzada de la instancia de SQL Server habilitada para Azure Arc requiere la funcionalidad [Microsoft Defender for Cloud] de Microsoft Defender for Cloud, que tiene implicaciones en los precios.
  • La contenedorización del entorno de SQL Server mediante SQL Managed Instance habilitado para Azure Arc ayuda a aumentar la densidad y la movilidad de la carga de trabajo. Esto facilita el uso de hardware más eficaz, lo que tiende a maximizar el retorno de la inversión (ROI) y a minimizar los costos operativos, lo que ayuda a acelerar las iniciativas de consolidación del centro de datos.

Excelencia operativa

La excelencia operativa abarca los procesos de las operaciones que implementan una aplicación y la mantienen en ejecución en producción. Para más información, consulte Introducción al pilar de excelencia operativa.

  • Para realizar el registro de instancias de SQL Server habilitadas para Azure Arc individuales, puede ejecutar de manera interactiva un script disponible directamente desde Azure Portal. Para implementaciones a gran escala, puede ejecutar el mismo script de forma desatendida y aprovechar una entidad de servicio de Microsoft Entra.

  • Para realizar una evaluación a petición de la configuración y el estado de las instancias de SQL Server habilitadas para Azure Arc mediante Azure Monitor, debe implementar el agente de Log Analytics en el servidor que hospeda esa instancia de SQL Server. A fin de automatizar esta implementación a escala puede habilitar Azure Monitor para VM para servidores habilitados para Azure Arc mediante Azure Policy.

  • SQL Assessment a petición y la seguridad de datos avanzada están disponibles para las instancias de SQL Server que no están habilitadas para Azure Arc. Sin embargo, Azure Arc simplifica el aprovisionamiento y la configuración. Por ejemplo, puede usar la funcionalidad de extensión de VM para automatizar la implementación del agente de Log Analytics en los servidores que hospedan instancias de SQL Server.

  • SQL Managed Instance habilitado para Azure Arc comparte el código base con la versión estable más reciente de SQL Server, lo que proporciona compatibilidad con el mismo conjunto de características de administración.

Eficiencia del rendimiento

La eficiencia del rendimiento es la capacidad de la carga de trabajo para escalar con el fin de satisfacer de manera eficiente las demandas que los usuarios hayan ejercido sobre ella. Para obtener más información, vea Resumen del pilar de eficiencia del rendimiento.

  • SQL Managed Instance habilitado para Azure Arc comparte el código base con la versión estable más reciente de SQL Server, lo que proporciona compatibilidad con el mismo conjunto de características de alto rendimiento y alta escalabilidad.

  • Al planear la implementación de SQL Managed Instance habilitado para Azure Arc, debe identificar la cantidad correcta de recursos de proceso, memoria y almacenamiento que se necesitan para ejecutar el controlador de datos de Azure Arc y los grupos de servidores de SQL Managed Instance previstos. Sin embargo, tenga en cuenta que tiene la flexibilidad de ampliar la capacidad del clúster de Kubernetes o AKS subyacente a lo largo del tiempo mediante la incorporación de más nodos de proceso o almacenamiento.

  • Kubernetes o AKS ofrece una capa de abstracción sobre la pila de virtualización y el hardware subyacentes. Las clases de almacenamiento implementan esta abstracción para el almacenamiento. Al aprovisionar un pod, debe decidir qué clase de almacenamiento se usará para sus volúmenes. Su decisión es importante desde el punto de vista del rendimiento, ya que una elección incorrecta podría dar lugar a un rendimiento por debajo del nivel óptimo. Al planear la implementación de SQL Managed Instance habilitado para Azure Arc, debe tener en cuenta una serie de factores que afectan a la configuración de almacenamiento kubernetes-storage-class-factors tanto para el controlador de datos como para las instancias de base de datos.

Confiabilidad

La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Para más información, consulte Resumen del pilar de fiabilidad.

  • Con SQL Managed Instance habilitado para Azure Arc, la planeación del almacenamiento también es fundamental desde el punto de vista de la resistencia de los datos. Si se produce un error de hardware, una opción incorrecta podría suponer un riesgo de pérdida total de datos. Para evitar este riesgo, debe tener en cuenta una serie de factores que afectan a la configuración de almacenamiento kubernetes-storage-class-factors para el controlador de datos y las instancias de base de datos.

  • Con SQL Managed Instance habilitado para Azure Arc, puede implementar bases de datos individuales en un patrón de uno o varios pods. Por ejemplo, el plan de tarifa de desarrollador o de uso general implementa un patrón de pod único, mientras que un plan de tarifa crítico para la empresa de alta disponibilidad implementa un patrón de varios pods. Una instancia de Azure SQL Managed Instance con alta disponibilidad usa Grupos de disponibilidad Always On para replicar los datos de una instancia a otra de forma sincrónica o asincrónica.

  • SQL Managed Instance habilitado para Azure Arc comparte el código base con la versión estable más reciente de SQL Server, lo que proporciona compatibilidad con la mayoría de sus características de alta disponibilidad.

  • SQL Managed Instance habilitado para Azure Arc proporciona copias de seguridad locales automáticas, independientemente del modo de conectividad. En el modo conectado directamente, también tiene la opción de aplicar Azure Backup para la retención de copias de seguridad fuera del sitio y a largo plazo.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.

  • SQL Managed Instance habilitado para Azure Arc comparte el código base con la versión estable más reciente de SQL Server, lo que proporciona compatibilidad con el mismo conjunto de características de seguridad.

  • Con SQL Managed Instance habilitado para Azure Arc, en el modo conectado directamente, debe proporcionar al controlador de datos acceso directo a MCR para facilitar las actualizaciones y revisiones automáticas. Como alternativa, tiene la opción de importar imágenes de contenedor de MCR y hacer que estén disponibles en un registro de contenedor privado local que sea accesible para el controlador de datos.

  • El agente de Azure Connected Machine comunica el tráfico saliente a Azure Arc a través del puerto TCP 443 mediante el protocolo de seguridad de la capa de transporte (TLS).

  • Con SQL Managed Instance habilitado para Azure Arc en el modo conectado directamente, no es necesario abrir ningún puerto de entrada en el perímetro de los centros de datos locales. El controlador de datos inició la conectividad de salida de forma segura a través del puerto TCP 443 mediante el protocolo de seguridad de la capa de transporte (TLS).

Pasos siguientes