Editar

Compartir a través de


Administración del cumplimiento de las máquinas virtuales

Azure Policy

En este artículo se describe cómo administrar el cumplimiento de máquinas virtuales sin afectar a los procedimientos de DevOps. Use Azure VM Image Builder y Azure Compute Gallery para minimizar el riesgo de las imágenes del sistema.

Architecture

La solución consta de dos procesos:

  • El proceso de publicación de imágenes base
  • Proceso de seguimiento del cumplimiento de las máquinas virtuales

Diagrama de arquitectura que muestra cómo la solución gestiona las imágenes de Azure Marketplace. Los pasos que se ilustran son la personalización, el seguimiento, las pruebas y la publicación.

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

El proceso de publicación de imágenes base se ejecuta mensualmente y consta de estos pasos:

  1. El proceso captura una imagen base de Azure Marketplace.
  2. VM Image Builder personaliza la imagen.
  3. El proceso de marcado de imágenes hace un seguimiento de la información de la versión de la imagen, como el origen y la fecha de publicación.
  4. Las pruebas automatizadas validan la imagen.
  5. Si la imagen no supera alguna de las pruebas, vuelve al paso de personalización para llevar a cabo las reparaciones.
  6. El proceso publica la imagen finalizada.
  7. Compute Gallery hace que la imagen esté disponible para los equipos de DevOps.

Diagrama de arquitectura que muestra cómo la solución gestiona el cumplimiento mediante la asignación de definiciones de políticas, la evaluación de las máquinas y la visualización de los datos en un panel.

Descargue un archivo Visio de esta arquitectura.

El proceso de seguimiento del cumplimiento de la máquina virtual consta de estos pasos:

  1. Azure Policy asigna definiciones de directivas a las máquinas virtuales y evalúa el cumplimiento de las mismas.
  2. Azure Policy publica los datos de cumplimiento de las máquinas virtuales y de otros recursos de Azure en el panel de Azure Policy.

Componentes

  • VM Image Builder es un servicio administrado para personalizar imágenes del sistema. Este servicio compila y distribuye las imágenes que utilizan los equipos de DevOps.

  • Compute Gallery le ayuda a estructurar y organizar imágenes personalizadas. Al almacenar imágenes en repositorios, este servicio proporciona acceso controlado a las imágenes. Los usuarios pueden estar dentro y fuera de su organización.

  • Azure Policy ofrece definiciones de directivas. Puede usar estas definiciones para aplicar los estándares de su organización y evaluar el cumplimiento a gran escala. El panel de Azure Policy muestra los resultados de las evaluaciones de Azure Policy. Estos datos le mantienen informado sobre el estado de cumplimiento de los recursos.

  • La característica Azure Automanage Machine Configuration de Azure Policy ofrece una forma de auditar o asignar configuraciones dinámicamente a las máquinas mediante código. Por lo general, las configuraciones incluyen valores del entorno o del sistema operativo.

Alternativas

  • Puede usar una herramienta de terceros para administrar el cumplimiento. Pero con este tipo de herramienta, normalmente deberá instalar un agente en la máquina virtual de destino. También puede que tenga que pagar una cuota de licencia.

  • Puede usar extensiones de script personalizado para instalar software en máquinas virtuales o configurar máquinas virtuales después de la implementación. Pero cada máquina virtual o conjunto de escalado de máquinas virtuales solo puede tener una extensión de script personalizado. Y si usa extensiones de script personalizado, impedirá que los equipos de DevOps personalicen sus aplicaciones.

Detalles del escenario

Cada empresa tiene sus propios estándares y regulaciones de cumplimiento. En lo que respecta a la seguridad, cada empresa tiene su propio apetito de riesgo. Los estándares de seguridad pueden diferir de una organización a otra y de una región a otra.

Seguir estándares diferentes puede ser más complicado en los entornos de nube de escala dinámica que en los sistemas locales. Cuando los equipos usan procedimientos de DevOps, normalmente hay menos restricciones sobre quién puede crear recursos de Azure, como máquinas virtuales. Este hecho complica los desafíos de cumplimiento.

Mediante el uso de Azure Policy y las asignaciones de control de acceso basado en roles, las empresas pueden aplicar estándares en los recursos de Azure. Pero con las máquinas virtuales, estos mecanismos solo afectan al plano de control o a la ruta a la máquina virtual. Las imágenes del sistema que se ejecutan en una máquina virtual siguen planteando una amenaza de seguridad. Algunas empresas impiden que los desarrolladores accedan a las máquinas virtuales. Este enfoque afecta a la agilidad, lo que dificulta el seguimiento de las prácticas DevOps.

En este artículo se presenta una solución para administrar el cumplimiento de las máquinas virtuales que se ejecutan en Azure. Además del seguimiento del cumplimiento, la solución también minimiza el riesgo de las imágenes del sistema que se ejecutan en máquinas virtuales. Al mismo tiempo, la solución es compatible con las prácticas DevOps. Los componentes principales incluyen Azure VM Image Builder, Azure Compute Gallery y Azure Policy.

Posibles casos de uso

Esta solución se aplica a las organizaciones con zonas de aterrizaje de Azure que completan estas tareas:

  • Proporcionar imágenes base a los equipos de DevOps. Una imagen base es la versión publicada de una imagen de marketplace.
  • Probar y validar imágenes antes de que estén disponibles para los equipos de DevOps.
  • Hacer un seguimiento de qué imagen utiliza el equipo de DevOps.
  • Aplicar los estándares de la empresa sin degradar la productividad.
  • Asegurarse de que los equipos de DevOps usan las versiones de imagen más recientes.
  • Administrar el cumplimiento de los servidores tipo mascota, que conllevan mucho mantenimiento, y los servidores tipo ganado, que se pueden reemplazar fácilmente.

Enfoque

En las secciones siguientes se proporciona una descripción detallada del enfoque de la solución.

Identificación de servidores tipo mascota y servidores tipo ganado

Los equipos de DevOps usan la analogía de la mascota y el ganado para definir los modelos de servicio. Para hacer un seguimiento del cumplimiento de una máquina virtual, primero determine si se trata de un servidor tipo mascota o de un servidor tipo ganado:

  • Los servidores tipo mascota requieren una atención significativa. No es fácil prescindir de ellos. La recuperación de un servidor tipo mascota requiere invertir una cantidad considerable de tiempo y de recursos financieros. Por ejemplo, un servidor que ejecuta SAP podría ser un servidor tipo mascota. Además del software que se ejecuta en el servidor, hay otras consideraciones que también pueden determinar el modelo de servicio. Si tiene una tolerancia a errores baja, los servidores de producción en tiempo real y los sistemas casi en tiempo real también pueden ser mascotas.

  • Los servidores tipo ganado forman parte de un grupo idéntico. Puede reemplazarlos fácilmente. Por ejemplo, las máquinas virtuales que se ejecutan en un conjunto de escalado de máquinas virtuales son tipo ganado. Si hay suficientes máquinas virtuales en el conjunto, el sistema sigue ejecutándose y no es necesario conocer el nombre de cada máquina virtual. Los servidores de entorno de prueba que cumplen las condiciones siguientes son otro ejemplo de ganado:

    • Use un procedimiento automatizado para crear los servidores desde cero.
    • Una vez terminada la ejecución de las pruebas, retire los servidores.

Un entorno puede contener solo servidores tipo mascota o solo servidores tipo ganado. Por el contrario, un conjunto de máquinas virtuales en un entorno podría considerarse como mascota. Un conjunto diferente de máquinas virtuales en ese mismo entorno podría ser ganado.

Para administrar el cumplimiento:

  • El cumplimiento de las mascotas puede ser más difícil de seguir que el del ganado. Normalmente, solo los equipos de DevOps pueden hacer un seguimiento y mantener el cumplimiento de los servidores y entornos tipo mascota. Pero la solución de este artículo aumenta la visibilidad del estado de cada servidor tipo mascota, lo que facilita a todos los usuarios de la organización el seguimiento del cumplimiento.
  • Para entornos tipo ganado, actualice las máquinas virtuales y vuelva a generarlas desde cero con frecuencia. Estos pasos deben ser adecuados para el cumplimiento. Puede alinear este ciclo de actualización con la cadencia de lanzamiento regular de su equipo de DevOps.

Restricción de imágenes

No permita que los equipos de DevOps usen imágenes de máquina virtual de Azure Marketplace. Permita solo las imágenes de máquina virtual que publique Compute Gallery. Esta restricción es fundamental para garantizar el cumplimiento de las máquinas virtuales. Puede usar una directiva personalizada en Azure Policy para aplicar esta restricción. Para ver un ejemplo, consulte Allow image publishers (Permitir publicadores de imágenes).

Como parte de esta solución, VM Image Builder debe usar una imagen de Azure Marketplace. Es fundamental usar la imagen más reciente que esté disponible en Azure Marketplace. Aplique cualquier personalización sobre esa imagen. Las imágenes de Azure Marketplace se actualizan a menudo y cada imagen tiene ciertas configuraciones preestablecidas, lo que garantiza que las imágenes son seguras de forma predeterminada.

Personalización de imágenes

Una imagen base es la versión de una imagen de marketplace que se publica en Compute Gallery. Las imágenes base están disponibles para su consumo por parte de los equipos de DevOps. Antes de publicar la imagen, tiene lugar la personalización. Las actividades de personalización son exclusivas de cada empresa. Las actividades más frecuentes son:

  • La seguridad del sistema operativo.
  • La implementación de agentes personalizados para software de terceros.
  • La instalación de certificados raíz de una entidad de certificación empresarial.

Puede usar VM Image Builder para personalizar imágenes ajustando la configuración del sistema operativo y ejecutando scripts y comandos personalizados. VM Image Builder admite imágenes Windows y Linux. Para más información sobre la personalización de imágenes, consulte Controles de Cumplimiento normativo de Azure Policy para Azure Virtual Machines.

Seguimiento del marcado de las imágenes

El marcado de imágenes es el proceso de seguimiento de toda la información de control de versiones de imágenes que usa una máquina virtual. Esta información es muy valiosa durante la solución de problemas y puede incluir:

  • El origen inicial de la imagen, como el nombre y la versión del publicador.
  • La cadena de versión del sistema operativo, que necesitará si hay una actualización local.
  • La versión de su imagen personalizada.
  • La fecha de publicación.

La cantidad y el tipo de información de la que se realiza un seguimiento dependen del nivel de cumplimiento de la organización.

Para el marcado de imágenes en máquinas virtuales de Windows, configure un registro personalizado. Agregue toda la información necesaria a esta ruta de acceso del registro como pares clave-valor. En las máquinas virtuales Linux, escriba los datos del marcado de imágenes en variables de entorno o en un archivo. Coloque el archivo en la carpeta /etc/, donde no entre en conflicto con el trabajo del desarrollador ni con las aplicaciones. Si desea usar Azure Policy para hacer un seguimiento de los datos de marcado o informar sobre ellos, almacene cada fragmento de datos como un par clave-valor único. Para obtener información sobre cómo determinar la versión de una imagen de Marketplace, consulte How to find a Marketplace image version (Cómo buscar una versión de imagen de Marketplace).

Validación de imágenes base con pruebas automatizadas

Por lo general, debe actualizar las imágenes base mensualmente para estar al día con las últimas actualizaciones y cambios en las imágenes de Azure Marketplace. Para ello, use un procedimiento de prueba recurrente. Como parte del proceso de creación de imágenes, use una canalización de Azure u otro flujo de trabajo automatizado para las pruebas. Configure la canalización para implementar una nueva máquina virtual y ejecutar pruebas antes del inicio de cada mes. Las pruebas deben confirmar las imágenes emparejadas antes de publicarlas para su consumo. Automatice las pruebas mediante una solución de automatización de pruebas o mediante la ejecución de comandos o lotes en la máquina virtual.

Algunos de los escenarios de prueba habituales son:

  • Validación del tiempo de arranque de la máquina virtual.
  • Confirmación de cualquier personalización de la imagen, como los valores de configuración del sistema operativo o las implementaciones de agentes.

Una prueba con errores debe interrumpir el proceso. Repita la prueba después de solucionar la causa principal del problema. Si las pruebas se ejecutan sin problemas, la automatización del proceso de pruebas reduce el esfuerzo que supone el mantenimiento de un estado permanente.

Publicación de imágenes base

Publique imágenes finales en Compute Gallery, como una imagen administrada o como un disco duro virtual (VHD) que los equipos de DevOps puedan usar. Marque las imágenes anteriores como antiguas. Si no ha establecido una fecha de fin de ciclo de vida para una versión de imagen en Compute Gallery, es posible que prefiera interrumpir la imagen más antigua. Esta decisión depende de las directivas de su empresa.

Para obtener información sobre los límites que se aplican al usar Compute Gallery, consulte Almacenamiento y uso compartido de imágenes en Azure Compute Gallery.

Otro procedimiento recomendado es publicar las imágenes más recientes en distintas regiones. Con Compute Gallery, puede administrar el ciclo de vida y la replicación de las imágenes en las diferentes regiones de Azure.

Para obtener más información sobre Compute Gallery, consulte Almacenamiento y uso compartido de imágenes en Azure Compute Gallery.

Actualización de imágenes base

Cuando se usa una imagen para una aplicación, puede ser difícil actualizar la imagen del sistema operativo subyacente con cambios recientes de cumplimiento. Los requisitos empresariales estrictos pueden complicar el proceso de actualización de la máquina virtual subyacente. La actualización también es compleja cuando la máquina virtual es fundamental para la empresa.

Dado que los servidores tipo ganado son descartables, puede coordinarse con los equipos de DevOps para actualizar estos servidores en una ventana de mantenimiento planificada como actividad habitual.

Es más difícil actualizar los servidores tipo mascota. La interrupción de una imagen puede poner en peligro las aplicaciones. En escenarios de escalado horizontal, Azure no es capaz de encontrar las imágenes correspondientes, lo que da lugar a errores.

Tenga en cuenta estas directrices al actualizar los servidores tipo mascota:

Mejora de la visibilidad

Por lo general, debe usar Azure Policy para administrar cualquier actividad de cumplimiento del plano de control. También puede usar Azure Policy para:

  • Hacer un seguimiento del cumplimiento de las máquinas virtuales.
  • Instalar agentes de Azure.
  • Captura de registros de diagnóstico.
  • Mejora de la visibilidad del cumplimiento de las máquinas virtuales.

La característica Azure Automanage Machine Configuration de Azure Policy se usa para auditar los cambios de configuración que realice durante la personalización de imágenes. Cuando se produce un desfase, el panel de Azure Policy muestra la máquina virtual afectada como no conforme. Azure Policy puede usar información de marcado de imágenes para hacer un seguimiento cuando se usan imágenes o sistemas operativos obsoletos.

Audite los servidores tipo mascota para cada aplicación. Puede mejorar la visibilidad de estos servidores utilizando directivas de Azure con un efecto de auditoría. Ajuste el proceso de auditoría según el apetito de riesgo de su empresa y los procesos internos de administración de riesgos.

Cada equipo de DevOps puede hacer un seguimiento de los niveles de cumplimiento de sus aplicaciones en el panel de Azure Policy y aplicar las medidas correctivas pertinentes. Cuando asigne estas directivas a un grupo de administración o a una suscripción, asigne a la descripción de la asignación una dirección URL que lleve a una wiki de toda la empresa. También puede usar una dirección URL corta como aka.ms/policy-21. En la wiki, enumere los pasos que los equipos de DevOps deben realizar para que sus máquinas virtuales cumplan los requisitos.

Los responsables de seguridad y administradores de riesgos de TI también pueden usar el panel de Azure Policy para administrar los riesgos de la empresa de acuerdo con el apetito de riesgo de su empresa.

Si la característica Azure Automanage Machine Configuration de Azure Policy se usa con opciones de corrección, se pueden aplicar acciones correctivas automáticamente. No obstante, el rendimiento puede verse degradado si se interroga una máquina virtual con frecuencia o si se hacen cambios en una máquina virtual que se usa para una aplicación crítica para la empresa. Planifique las acciones correctivas cuidadosamente para las cargas de trabajo de producción. Proporcione a un equipo de DevOps la propiedad del cumplimiento de las aplicaciones en todos los entornos. Este enfoque es esencial para los servidores y entornos tipo mascota, que suelen ser componentes de Azure a largo plazo.

Consideraciones

Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Escalabilidad

Puede configurar el número de réplicas que Compute Gallery almacena de cada imagen. Un mayor número de réplicas minimiza el riesgo de limitación al aprovisionar varias máquinas virtuales simultáneamente. Para obtener instrucciones generales sobre el escalado y la configuración de un número adecuado de réplicas, consulte Scaling for Azure Compute Gallery (Escalado para Azure Compute Gallery).

Resistencia

Esta solución usa componentes administrados que son resistentes automáticamente a nivel regional. Para obtener instrucciones generales sobre el diseño de soluciones resistentes, consulte Diseño de aplicaciones resistentes de Azure.

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.

A menos que use un servicio de terceros como Ansible o Terraform, este enfoque es casi gratuito. Podrían aplicarse costos de almacenamiento y salida. Estos componentes implican otros posibles cargos:

  • Azure Policy y Azure Automanage Machine Configuration son gratuitos para los recursos de Azure. Si su empresa utiliza un enfoque híbrido, hay cargos adicionales por los recursos de Azure Arc.

  • Durante el período de versión preliminar pública, VM Image Builder usa un único tipo de instancia de proceso con 1 vCPU y 3,5 GB de RAM. Se pueden aplicar cargos por el almacenamiento y la transferencia de datos.

  • Compute Gallery no tiene ningún cargo, excepto:

    • El costo del almacenamiento de réplicas.
    • Cargos de salida de la red para replicar imágenes.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes