Compartir a través de


Confiabilidad en Azure Virtual Machines

Azure Virtual Machines proporciona recursos de proceso escalables a petición. Como servicio de infraestructura fundamental, está diseñado para ofrecer confiabilidad y disponibilidad de nivel empresarial para cargas de trabajo críticas.

Cuando se usa Azure, la confiabilidad es una responsabilidad compartida. Microsoft proporciona una variedad de funcionalidades para admitir resistencia y recuperación. Es responsable de comprender cómo funcionan esas funcionalidades dentro de todos los servicios que usa y de seleccionar las funcionalidades que necesita para cumplir los objetivos empresariales y los objetivos de tiempo de actividad.

En este artículo se describe cómo hacer que las máquinas virtuales sean resistentes a una variedad de posibles interrupciones y problemas, incluidos errores transitorios, interrupciones de zona de disponibilidad, interrupciones de regiones y mantenimiento del servicio. También se describe cómo puede usar copias de seguridad para recuperarse de otros tipos de problemas y se resalta cierta información clave sobre el acuerdo de nivel de servicio (SLA) de Virtual Machines.

Importante

Al considerar la confiabilidad de una máquina virtual (VM), también debe tener en cuenta la confiabilidad de los discos, la infraestructura de red y las aplicaciones que se ejecutan en las máquinas virtuales. La mejora de la resistencia de la máquina virtual por sí sola podría tener un impacto limitado si los otros componentes no son igualmente resistentes. En función de los requisitos de resistencia, es posible que tenga que realizar cambios de configuración en varias áreas.

Recomendaciones de implementación de producción

Para más información sobre cómo implementar máquinas virtuales para admitir los requisitos de confiabilidad de la solución y cómo afecta la confiabilidad a otros aspectos de la arquitectura, consulte Procedimientos recomendados de arquitectura para máquinas virtuales y conjuntos de escalado en Azure Well-Architected Framework.

Introducción a la arquitectura de confiabilidad

Las máquinas virtuales son la unidad de proceso fundamental de Azure, tanto si aprovisiona las máquinas virtuales usted mismo como si usa otros servicios de proceso de Azure que aprovisionan y administran de forma transparente.

Una máquina virtual individual también se conoce como una sola máquina virtual de instancia. Se ejecuta en un host específico, que es un servidor físico. La mayoría de las máquinas virtuales comparten su host con otras máquinas virtuales.

Al crear las máquinas virtuales, puede influir en dónde se ejecutan dentro de la infraestructura subyacente. Normalmente, se toman decisiones de selección de ubicación en función de los requisitos de confiabilidad, latencia y aislamiento. Azure proporciona varias opciones de configuración que afectan a cómo se colocan las máquinas virtuales.

  • Región: Puede seleccionar en qué región de Azure se debe ejecutar la máquina virtual. Una región es un área geográfica que puede contener varios centros de datos, cada uno con un gran número de hosts.

  • Zona de disponibilidad:las zonas de disponibilidad son grupos de centros de datos independientes físicamente dentro de cada región de Azure. En regiones que admiten zonas de disponibilidad, puede seleccionar en qué zona se ejecuta la máquina virtual. Para obtener más información, consulte Resilience to availability zone failures (Resistencia a errores de zona de disponibilidad).

  • Conjuntos de disponibilidad: Un conjunto de disponibilidad es una agrupación lógica de máquinas virtuales que permite a Azure comprender cómo se compila la aplicación para proporcionar redundancia y disponibilidad.

    Cuando se usan conjuntos de disponibilidad, Azure distribuye un grupo de máquinas virtuales entre distintos dominios de error. Esta distribución minimiza el riesgo de errores de hardware localizados mediante la agrupación de máquinas virtuales que comparten una fuente de alimentación común y un conmutador de red.

    Los conjuntos de disponibilidad también pueden colocar diferentes máquinas virtuales en distintos dominios de actualización, lo que controla cómo implementa la plataforma Azure las actualizaciones de la plataforma. Mediante el uso de dominios de actualización, puede asegurarse de que solo se reinicia un subconjunto de las máquinas virtuales para las actualizaciones al mismo tiempo.

  • Grupos de selección de ubicación por proximidad: En el caso de las cargas de trabajo que necesitan lograr la menor latencia posible entre las máquinas virtuales, puede usar un grupo de selección de ubicación de proximidad para asegurarse de que Azure coloca físicamente las máquinas virtuales físicamente cerca entre sí. Sin embargo, la ubicación de proximidad significa que una interrupción del centro de datos puede afectar a todas las máquinas virtuales del grupo. Para lograr una alta confiabilidad, es posible que tenga que asignar varios grupos de colocación de proximidad en diferentes zonas de disponibilidad.

  • Hosts dedicados: Puede usar El host dedicado de Azure para aprovisionar su propio servidor físico que ejecute una o varias máquinas virtuales, como para requisitos de cumplimiento estrictos. Sin embargo, al aprovisionar un host dedicado, una interrupción en su centro de datos puede afectar a todas las máquinas virtuales de ese host. Para lograr una alta confiabilidad, es posible que tenga que aprovisionar varios hosts dedicados en distintas zonas de disponibilidad.

Si crea un conjunto de máquinas virtuales que realizan funciones similares, considere la posibilidad de usar Conjuntos de escalado de máquinas virtuales de Azure para crear y administrar las máquinas virtuales como un grupo. Los conjuntos de escalado también proporcionan más opciones de confiabilidad, como distribuir las máquinas virtuales entre varias zonas de disponibilidad.

Para más información sobre la disponibilidad de las máquinas virtuales, consulte Opciones de disponibilidad para máquinas virtuales.

Resistencia a errores transitorios

Los errores transitorios son errores breves e intermitentes en los componentes. Se producen con frecuencia en un entorno distribuido como la nube y son una parte normal de las operaciones. Los errores transitorios se corrigen después de un breve período de tiempo. Es importante que las aplicaciones puedan controlar errores transitorios, normalmente mediante el reintento de solicitudes afectadas.

Todas las aplicaciones hospedadas en la nube deben seguir las instrucciones de control de errores transitorios de Azure cuando se comunican con cualquier API, bases de datos y otros componentes hospedados en la nube. Para obtener más información, consulte Recomendaciones para controlar errores transitorios.

Las aplicaciones que se ejecutan en las máquinas virtuales deben implementar estrategias adecuadas de control de errores para asegurarse de que las interrupciones temporales del servicio no afecten a la carga de trabajo.

Resistencia a errores de zona de disponibilidad

Las zonas de disponibilidad son grupos físicamente independientes de centros de datos dentro de una región de Azure. Cuando se produce un error en una zona, los servicios pueden conmutar por error a una de las zonas restantes.

Una máquina virtual individual se puede implementar en una configuración zonal , lo que significa que está anclada a una sola zona de disponibilidad que seleccione. Por sí misma, una máquina virtual zonal no es resistente a interrupciones de zona. Sin embargo, puede crear varias máquinas virtuales y colocarlas en distintas zonas de disponibilidad y, a continuación, distribuir las aplicaciones y los datos en las instancias de máquina virtual. Como alternativa, puede usar conjuntos de escalado de máquinas virtuales para implementar un conjunto de máquinas virtuales en varias zonas de disponibilidad.

Si no configura una máquina virtual para que sea zonal, se considera no zonal o regional. Las máquinas virtuales no zonales se pueden colocar en cualquier zona de disponibilidad dentro de la región. Si alguna zona de disponibilidad de la región experimenta una interrupción, las máquinas virtuales nozonales podrían estar en la zona afectada y pueden experimentar tiempo de inactividad.

Soporte para regiones

Las máquinas virtuales zonales se pueden implementar en cualquier región que admita zonas de disponibilidad.

Sin embargo, algunos tipos y tamaños de máquina virtual solo están disponibles en regiones específicas o zonas específicas dentro de una región. Para comprobar qué regiones y zonas admiten los tipos de máquina virtual que necesita, use los siguientes recursos:

  • Para comprobar los tipos de máquina virtual disponibles en cada región, consulte Productos disponibles por región.

  • Para comprobar los tamaños y tipos de máquina virtual admitidos dentro de cada zona de una región específica, consulte Comprobación de la disponibilidad de la SKU de máquina virtual.

Cost

No hay ninguna diferencia de costo entre una máquina virtual zonal y no zonal.

Configurar soporte de zonas de disponibilidad

En esta sección se explica cómo configurar la compatibilidad con la zona de disponibilidad para la instancia de máquina virtual.

Nota:

Cuando selecciona qué zonas de disponibilidad usar, en realidad está seleccionando la zona de disponibilidad lógica. Si implementa otros componentes de la carga de trabajo en una suscripción de Azure diferente, podrían usar un número de zona de disponibilidad lógica distinto para acceder a la misma zona de disponibilidad física. Para obtener más información, consulte zonas de disponibilidad física y lógica.

Comportamiento cuando todas las zonas están en buen estado

En esta sección se describe qué esperar cuando las instancias de máquina virtual están configuradas con compatibilidad con la zona de disponibilidad y todas las zonas de disponibilidad están operativas.

  • Enrutamiento de tráfico entre zonas: Es responsable del enrutamiento del tráfico entre máquinas virtuales, incluidas las máquinas virtuales que se encuentran en distintas zonas de disponibilidad. Entre los enfoques comunes se incluyen Azure Load Balancer y Azure Application Gateway. Para obtener más información, consulte Opciones de equilibrio de carga.

  • Replicación de datos entre zonas: Es responsable de cualquier replicación de datos que necesite producirse entre máquinas virtuales, incluidas las máquinas virtuales de diferentes zonas de disponibilidad. Las bases de datos y otras aplicaciones con estado similares que se ejecutan en máquinas virtuales suelen proporcionar funcionalidades para replicar datos.

Comportamiento durante un fallo de zona

En esta sección se describe qué esperar cuando las instancias de máquina virtual están configuradas con compatibilidad con la zona de disponibilidad y hay una interrupción en sus zonas de disponibilidad.

  • Detección y respuesta: Es responsable de detectar y responder a errores de zona que afectan a las máquinas virtuales.

  • Notificación: use Azure Resource Health para detectar fallos en la zona y desencadenar procesos de conmutación por error.

  • Solicitudes activas: Es probable que se finalicen las solicitudes activas u otro trabajo que se produzca en la máquina virtual durante el error de zona.

  • Pérdida de datos esperada: Es posible que los discos de máquina virtual zonales no estén disponibles durante un error de zona.

    Si utiliza discos de almacenamiento redundante por zonas (ZRS) y una interrupción afecta a su máquina virtual, puede desconectar forzosamente sus discos ZRS de la máquina virtual que ha fallado. Este enfoque permite conectar los discos ZRS a otra máquina virtual.

  • Tiempo de inactividad esperado: Las máquinas virtuales permanecen inactivas hasta que se recupera la zona de disponibilidad.

  • Reenrutamiento del tráfico: Es responsable de redirigir el tráfico a otras máquinas virtuales en zonas correctas.

    Si configura un equilibrador de carga resistente a zonas y realiza comprobaciones de estado, el equilibrador de carga normalmente detecta máquinas virtuales con errores y puede enrutar el tráfico a otras instancias de máquina virtual en zonas correctas.

Recuperación de zona

Después de que la zona esté en buen estado, las máquinas virtuales de la zona se reinician. Es responsable de cualquier procedimiento de recuperación de zona y sincronización de datos que requieran las cargas de trabajo.

Prueba de fallos de zona

Puede usar Azure Chaos Studio para simular la pérdida de una máquina virtual como parte de un experimento. Chaos Studio proporciona errores integrados para las máquinas virtuales, incluida la capacidad de apagar una máquina virtual. Puede usar estas capacidades para simular fallos a nivel de zona y probar los procesos de conmutación por error.

Soluciones personalizadas multizona para la resiliencia

Al implementar múltiples máquinas virtuales en distintas zonas, usted es responsable de configurar y administrar la replicación, el equilibrio de carga, la conmutación por error y los procesos de conmutación por recuperación.

Algunas aplicaciones proporcionan funcionalidades integradas que pueden ayudar al implementar en varias máquinas virtuales. Por ejemplo, SQL Server en máquinas virtuales de Azure proporciona un conjunto de funcionalidades para simplificar los procesos de configuración y administración en todas las zonas de disponibilidad.

Puede considerar el uso de la recuperación ante desastres de zona a zona (DR) de Azure Site Recovery cuando la aplicación se ejecuta en una sola zona a la vez y no se requiere conmutación por error casi instantánea entre zonas. La recuperación ante desastres de zona a zona tiene algunas limitaciones importantes, por lo que debe revisar los requisitos exhaustivamente.

Resistencia a errores en toda la región

Las máquinas virtuales son recursos de una sola región. Si la región deja de estar disponible, la máquina virtual tampoco está disponible.

Soluciones personalizadas de varias regiones para la resistencia

Puede implementar varias máquinas virtuales en diferentes regiones, pero debe implementar procesos de replicación, equilibrio de carga y conmutación por error.

Site Recovery es un servicio que permite la recuperación ante desastres mediante la replicación de máquinas virtuales y sus datos en una región secundaria. Puede seleccionar casi cualquier región de Azure como región secundaria, incluidas combinaciones de regiones no emparejada. Para obtener más información, consulte Arquitectura de recuperación ante desastres de Azure a Azure.

Algunas aplicaciones crean clústeres u otras construcciones para replicar datos y distribuir el trabajo entre varias máquinas virtuales, incluidas en regiones diferentes. Estas aplicaciones pueden simplificar la configuración de una solución de varias regiones.

Para obtener una arquitectura de ejemplo que ilustra el uso de máquinas virtuales en varias regiones, consulte Equilibrio de carga de varias regiones con Azure Traffic Manager, Azure Firewall y Application Gateway.

Resistencia al mantenimiento del servicio

Azure realiza un mantenimiento periódico normal en máquinas virtuales para garantizar la confiabilidad. Hay varias maneras de asegurarse de que las cargas de trabajo permanecen operativas durante las actividades de mantenimiento:

  • Al usar conjuntos de disponibilidad o conjuntos de escalado de máquinas virtuales, puede configurar dominios de actualización. Los dominios de actualización ayudan a distribuir las actividades de mantenimiento en diferentes máquinas virtuales en momentos diferentes, por lo que las máquinas virtuales no se reinician simultáneamente.

  • Puede personalizar el tiempo que se aplica el mantenimiento a las máquinas virtuales mediante el control de mantenimiento. Puede usar configuraciones de mantenimiento para programarla en un momento que se adapte a la carga de trabajo.

  • Puede recibir notificaciones de las próximas actividades de mantenimiento.

Para obtener más información, consulte Información general sobre las actualizaciones de invitado y el mantenimiento del host.

Copias de seguridad y restauración

Virtual Machines admite de forma nativa la copia de seguridad mediante Azure Backup. Azure Backup proporciona una solución nativa para proteger las máquinas virtuales mediante la creación y administración de copias de seguridad, con protección coherente con la aplicación para toda la máquina virtual, incluidos todos los discos conectados. Este enfoque es ideal cuando se necesita una copia de seguridad coordinada de varios discos o copias de seguridad compatibles con aplicaciones. En el caso de las cargas de trabajo de base de datos, considere las soluciones de copia de seguridad específicas de la aplicación que proporcionan una protección coherente con las transacciones y opciones de recuperación más rápidas.

Puede personalizar la frecuencia de copia de seguridad, la duración de retención y la configuración de almacenamiento para satisfacer sus necesidades. Para más información, consulte Azure Backup para VM.

La copia de seguridad también admite discos conectados a máquinas virtuales. Para más información, consulte Introducción a Azure Disk Backup.

Acuerdo de nivel de servicio

El contrato de nivel de servicio (SLA) para los servicios de Azure describe la disponibilidad esperada de cada servicio y las condiciones que la solución deberá cumplir para lograr esa expectativa de disponibilidad. Para obtener más información, consulte Acuerdos de Nivel de Servicio para servicios en línea.

En el caso de las máquinas virtuales, el Acuerdo de Nivel de Servicio proporciona un nivel de disponibilidad base. El porcentaje de tiempo de actividad definido en el Acuerdo de Nivel de Servicio aumenta cuando tiene dos o más máquinas virtuales y realiza las siguientes acciones:

  • Configure esas máquinas virtuales para que se implementen en dos o más zonas de disponibilidad.
  • Configure esas máquinas virtuales para su implementación en un grupo de disponibilidad.

Para obtener más información, consulte Acuerdos de Nivel de Servicio para servicios en línea.

Pasos siguientes