Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Los conjuntos de escalado de máquinas virtuales permiten crear y administrar un grupo de instancias de máquinas virtuales (VM). El número de instancias de máquina virtual puede aumentar o disminuir automáticamente según la demanda, o de acuerdo a una programación definida. Permiten la alta disponibilidad y la resistencia de las aplicaciones mediante la distribución de máquinas virtuales entre varias zonas de disponibilidad y dominios de error.
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 los conjuntos de escalado de máquinas virtuales sean resistentes a una variedad de posibles interrupciones y problemas, incluidos errores transitorios, interrupciones de zona de disponibilidad, interrupciones de regiones, reconfiguración de máquinas virtuales 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 Machine Scale Sets.
Importante
Al considerar la confiabilidad de un conjunto de escalado y sus máquinas virtuales (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. Mejorar la resistencia de las máquinas virtuales por sí solas 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
Azure Well-Architected Framework proporciona recomendaciones sobre confiabilidad, rendimiento, seguridad, costo y operaciones. Para comprender cómo estas áreas influyen entre sí y contribuyen a una solución de conjuntos de escalado de máquinas virtuales confiables, 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
Un conjunto de escalado agrupa varias instancias de máquina virtual y aplica la configuración centralizada, las reglas de escalado automático y las actualizaciones graduales.
Los conjuntos de escalas admiten dos modos de orquestación distintos:
- Los conjuntos de escalado flexibles (recomendados) proporcionan más flexibilidad en torno a la implementación y administración de instancias de máquina virtual individuales.
- Los conjuntos de escalado uniforme implementan máquinas virtuales con una configuración idéntica y las administra como un grupo.
Propagación de dominios de error
Los dominios de error son grupos de aislamiento de errores dentro de un centro de datos. Cada dominio de error es como un bastidor de servidor, que es una colección de nodos de hardware que comparten la misma alimentación, redes, enfriamiento y cronograma de mantenimiento de la plataforma. Dado que las instancias de máquina virtual de cada conjunto de escalado se distribuyen entre varios dominios de fallo, no es probable que una interrupción planeada o no planeada que ocurra en un dominio de fallo afecte a las instancias de máquina virtual en otros dominios de fallo.
Al implementar un conjunto de escalado, puede controlar el número de dominios de error entre los que se distribuyen las máquinas virtuales. Para la mayoría de las situaciones, debería utilizar el comportamiento de propagación máxima, el cual utiliza tantos dominios de falla como sea posible. A fin de obtener más información, consulte Elección del número correcto de dominios de error para el conjunto de escalado de máquinas virtuales.
En regiones con zonas de disponibilidad, cada zona tiene un conjunto distinto de dominios de error. Al crear un conjunto de escalado que abarca zonas, las instancias se distribuyen entre dominios de fallo en cada zona que usa el conjunto de escalado.
Equilibrio de carga
Los conjuntos de escalado se pueden integrar con los servicios de equilibrio de carga de Azure, incluido Azure Load Balancer y Azure Application Gateway. Cuando el conjunto de escalado agrega o quita instancias, la integración integrada del equilibrador de carga actualiza automáticamente la configuración del equilibrador de carga. Para más información, consulte Redes para conjuntos de escalado de máquinas virtuales de Azure.
Los conjuntos de escalado incluyen muchos otros controles y funcionalidades que afectan a cómo se implementan, escalan, distribuyen y actualizan las instancias. Para obtener más información, consulte ¿Qué son los conjuntos de escalado de 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.
Resiliencia ante problemas de instancia
Cuando un conjunto de escalado inicia una operación de creación o eliminación de una instancia de máquina virtual, es posible que se produzca un error en la operación. Para reintentar automáticamente las operaciones de creación o eliminación de instancias de máquina virtual con errores, considere usar creación y eliminación resilientes para conjuntos de escalado de máquinas virtuales (versión preliminar).
Mientras se ejecutan instancias, es posible que se produzcan problemas. Por ejemplo, una instancia podría dejar de responder debido a bloqueos de aplicación o agotamiento de recursos. Con las reparaciones automáticas de instancias, la plataforma supervisa el estado de la aplicación y realiza automáticamente las acciones de reparación, como reiniciar, volver a crear o reemplazar una instancia de máquina virtual cuando sea necesario.
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 una zona falla, los servicios pueden transferirse a una de las zonas restantes.
Virtual Machine Scale Sets admite zonas de disponibilidad en configuraciones zonales y de expansión de zona.
Expansión de zona: Un conjunto de escalado de expansión de zona distribuye instancias en varias zonas de disponibilidad que seleccione.
La propagación de instancias de máquina virtual entre zonas de disponibilidad proporciona el Acuerdo de Nivel de Servicio más alto y se recomienda para la mayoría de las cargas de trabajo basadas en máquinas virtuales en Azure.
En un conjunto de escala que abarca zonas, cada instancia de máquina virtual y sus discos están vinculados a una zona de disponibilidad específica. Cuando todas las zonas están en buen estado, las instancias pueden comunicarse entre zonas mediante una red de alto rendimiento y baja latencia. Si una zona experimenta un problema de interrupción o conectividad, las instancias de las otras zonas siguen sin verse afectadas.
De forma predeterminada, el conjunto de escalado realiza un enfoque de mejor esfuerzo para distribuir uniformemente las instancias entre zonas seleccionadas. Sin embargo, si necesita un equilibrio estricto, puede optar por cambiar la configuración de equilibrio de zona.
En el diagrama siguiente se muestra un conjunto de escalado que abarca zonas, distribuido entre tres zonas, con una instancia en cada zona:
La expansión de zona es similar a la redundancia de zona en otros servicios de Azure, pero con ciertas diferencias. Por ejemplo, los conjuntos de escalado no proporcionan replicación automática de datos entre zonas o conmutación por error cuando las zonas están inactivas. También hay situaciones en las que un conjunto de escalado de expansión de zona podría tener todas sus instancias implementadas en una sola zona, como si decide asociar máquinas virtuales individuales a un conjunto de escalado flexible de expansión de zona.
Nota:
Si usa el modo de orquestación flexible y adjunta, desasocia o quita máquinas virtuales individuales, asegúrese de que las máquinas virtuales se reparten entre varias zonas. Si todas las máquinas virtuales están en una sola zona, es posible que el conjunto de escalado no sea resistente a una interrupción en dicha zona.
Zonal: Un conjunto de escalado zonal, también denominado alineado con zonas, coloca todas sus instancias en una sola zona de disponibilidad que especifique. Cada máquina virtual y sus discos son zonales, por lo que se anclan a esa zona específica.
Importante
La asignación a una sola zona de disponibilidad solo se recomienda cuando la latencia entre zonas es demasiado alta para sus necesidades y después de comprobar que la latencia no cumple sus requisitos. Por sí mismo, un recurso zonal no proporciona resistencia a una interrupción de zona de disponibilidad. Para mejorar la resiliencia de un recurso zonal, debe desplegar explícitamente recursos independientes en múltiples zonas de disponibilidad y configurar el enrutamiento del tráfico y la conmutación por error. Para obtener más información, consulte Recursos zonales y resistencia de zona.
En el diagrama siguiente se muestra un conjunto de escalado zonal en una sola zona, con tres instancias en esa zona.
Si no especifica zonas de disponibilidad para el conjunto de escalado, se considera no zonal o regional. En este caso, las instancias se pueden colocar en cualquier zona dentro de la región y no hay ninguna garantía de que se distribuyan uniformemente o se encuentren en la misma zona. Cuando se usa un conjunto de escalado no zonal, se garantiza la colocación de disco en la misma zona para discos Ultra y Premium v2. La colocación se proporciona de la mejor manera posible para los discos Premium V1 y no se garantiza para los discos de SKU estándar (SSD o HDD). Si se produce un error en alguna zona de la región, el conjunto de escalado podría experimentar tiempo de inactividad.
Requisitos
Compatibilidad con regiones: Los conjuntos de escalado zonal y de expansión de zona 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.
Si una SKU de máquina virtual determinada no está disponible en alguna de las zonas que seleccione para el conjunto de escalado, podría ser que el conjunto de escalado no pueda escalar para satisfacer los requisitos de capacidad.
Hosts dedicados: Las implementaciones de hosts dedicados de Azure no admiten conjuntos de escalado que abarcan zonas ni conjuntos de escalado zonal.
Tipos: La compatibilidad con zonas de disponibilidad se ofrece con todos los tipos de conjuntos de escalado, incluidos los conjuntos de escalado flexibles y uniformes.
Consideraciones
Propagación de dominios de error: Cuando el conjunto de escalado usa zonas de disponibilidad, debe seleccionar entre enfoques específicos de propagación de dominios de error. Se recomienda usar la propagación máxima para la mayoría de las cargas de trabajo, que usa tantos dominios de error como sea posible. A fin de obtener más información, consulte Elección del número correcto de dominios de error para el conjunto de escalado de máquinas virtuales.
Equilibrio de zona: el equilibrio de zona determina si las instancias de máquina virtual de un conjunto de escalado se distribuyen uniformemente entre las zonas que seleccione. Un conjunto de escalado se considera equilibrado si cada zona tiene el mismo número de máquinas virtuales, ±1 VM. Puede configurar el modo de balanceo de zona como "mejor esfuerzo" o "estricto". Esta configuración controla si el conjunto de escalado puede escalar horizontalmente de forma desigual, incluidos los escenarios de interrupción de zona.
Grupos de selección de ubicación: Para conjuntos de escalado uniformes, si configura varios grupos de selección de ubicación, Azure implementa varios grupos de selección de ubicación en cada zona que usa el conjunto de escalado.
Cost
No hay ninguna diferencia de costo entre un conjunto de escalado zonal, zonal y no zonal con el mismo número y tipo de instancias de máquina virtual.
Configurar soporte de zonas de disponibilidad
En esta sección se explica cómo configurar la compatibilidad con zonas de disponibilidad para el conjunto de escalas.
Cree un conjunto de escalado zonal o que abarque múltiples zonas. Puede configurar zonas de disponibilidad al crear un nuevo conjunto de escalado. Para obtener instrucciones detalladas, consulte Creación de un conjunto de escalado de máquinas virtuales que usa zonas de disponibilidad.
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.
Convierta los conjuntos de escalado existentes para usar zonas de disponibilidad. Puede convertir un conjunto de escalado no zonal existente para usar zonas de disponibilidad. Para obtener instrucciones detalladas, consulte Actualización del conjunto de escalado para agregar zonas de disponibilidad.
Cambie la configuración de zona de disponibilidad de un conjunto de escalado existente. Puede agregar zonas a un conjunto de escalado existente, pero no puede quitar zonas. Para obtener instrucciones detalladas, consulte Actualización del conjunto de escalado para agregar zonas de disponibilidad.
Importante
Al expandir el conjunto de escalado a zonas adicionales, las instancias de máquina virtual originales no se migran ni cambian inmediatamente. Al escalar, se crean nuevas instancias y se distribuyen uniformemente en las zonas de disponibilidad seleccionadas. Si necesita obtener datos de las instancias originales, será responsable de migrar esos datos a instancias en las nuevas zonas. Al escalar en el conjunto de escalado, las instancias regionales se priorizarán primero para su eliminación. Después, las instancias se quitarán en función de la política de reducción de escala.
Planeamiento y administración de capacidad
Para prepararse para errores de zona de disponibilidad, considere la posibilidad de sobreaprovisionar el número de instancias de máquina virtual del conjunto de escalado. Este enfoque permite a la solución tolerar cierta pérdida de capacidad y seguir funcionando sin degradar el rendimiento, lo que garantiza que las zonas restantes tengan capacidad suficiente para controlar la carga de producción completa. Para obtener más información, consulte Administración de la capacidad mediante el aprovisionamiento excesivo.
Comportamiento cuando todas las zonas están en buen estado
En esta sección se describe qué esperar cuando los conjuntos de escalado están configurados 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 del conjunto de escalado, 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, que proporcionan integración integrada con conjuntos de escalado. Para más información, consulte Redes para conjuntos de escalado de máquinas virtuales de Azure.
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 los conjuntos de escalado están configurados con soporte para zonas de disponibilidad y se produce una interrupción en estas.
Detección y respuesta. Es responsable de detectar la pérdida de una zona de disponibilidad y decidir cómo responder.
En el caso de los conjuntos de escalado que abarcan zonas, las instancias de máquina virtual en la zona afectada podrían no estar disponibles. Las instancias de las zonas saludables permanecen operativas.
En el caso de los conjuntos de escalado zonales implementados en la zona afectada, es posible que todas las instancias de máquina virtual no estén disponibles. Debe planificar cómo responder a una falla de zona. Por ejemplo, puede redirigir el tráfico a otro conjunto de escalado en una zona o región diferente.
- Notificación: Microsoft no le notifica automáticamente cuando una zona está inactiva. Sin embargo, puede usar Azure Resource Health para supervisar el estado de un recurso individual y puede configurar alertas de Resource Health para notificarle problemas. También puede usar Azure Service Health para comprender el estado general del servicio, incluidos los errores de zona, y puede configurar alertas de Service Health para notificarle problemas.
Solicitudes activas. Es posible que las solicitudes activas o cualquier otra tarea que se realice en las máquinas virtuales de la zona de disponibilidad afectada sean finalizadas.
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 usa discos de almacenamiento de zona redundante (ZRS) y una interrupción afecta a su máquina virtual, puede forzar la desasociación de los 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 de la zona afectada permanecen inactivas hasta que se recupere la zona de disponibilidad. Al usar conjuntos de escalado que abarcan zonas, las máquinas virtuales que se encuentran en zonas saludables continúan funcionando.
Redireccionar el tráfico. Usted es responsable de redirigir el tráfico a otras máquinas virtuales en zonas saludables.
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.
Reemplazo de instancia. No se garantiza que los Conjuntos de Escalado de Máquinas Virtuales agreguen automáticamente nuevas instancias a zonas saludables.
Si tiene un conjunto de escalado que abarca zonas, puede escalar horizontalmente para agregar más instancias. Si el error de zona está restringido a conjuntos específicos de servidores dentro de la zona, la operación de escalabilidad horizontal podría agregar instancias correctas a la misma zona o podría agregar instancias a otras zonas. Sin embargo, si el conjunto de escalado utiliza un balanceo de zonas estricto, el conjunto de escalado bloquea las operaciones de escalado horizontal si esto causa un desequilibrio.
Sugerencia
Se recomienda configurar reglas de escalado automático en función del uso de CPU o memoria. Las reglas de escalado automático pueden permitir que el conjunto de escalado responda a una pérdida de las instancias de máquina virtual en una zona aumentando el escalado para agregar nuevas instancias en las zonas operativas restantes.
Recuperación de zona
Cuando 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.
Si agrega instancias temporales al grupo de escalado durante un fallo de zona, cuando la zona se restaure, es posible que tenga que reducir el grupo de escalado a la capacidad original.
Prueba de fallos de zona
Puede usar Azure Chaos Studio para simular la pérdida de máquinas virtuales en una o varias zonas de disponibilidad como parte de un experimento. Chaos Studio proporciona errores integrados para conjuntos de escalado, incluida la capacidad de apagar máquinas virtuales en zonas específicas. Puede usar estas capacidades para simular fallos a nivel de zona y probar los procesos de conmutación por error.
Resistencia a errores en toda la región
Los conjuntos de escalado son recursos de una sola región. Si la región no está disponible, los conjuntos de escalado de la región tampoco están disponibles.
Soluciones personalizadas de varias regiones para la resistencia
Puede implementar varios conjuntos de escalado en diferentes regiones, pero debe implementar procesos de replicación, equilibrio de carga y conmutación por error. Por ejemplo, puede implementar conjuntos de escalado idénticos en varias regiones y usar Azure Front Door o Azure Traffic Manager con sondeos de estado para enrutar el tráfico. Es responsable de replicar el estado mediante mecanismos de aplicación o servicios de datos administrados.
Copias de seguridad y restauración
Azure Backup proporciona compatibilidad nativa con copias de seguridad para máquinas virtuales. Azure Backup crea y administra copias de seguridad y proporciona protección coherente con la aplicación para toda la máquina virtual, incluidos todos los discos conectados. Una solución de copia de seguridad de máquina virtual con Azure Backup es ideal cuando se necesita una copia de seguridad coordinada de varios discos o copias de seguridad compatibles con aplicaciones. Sin embargo, 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 protección coherente con la transacción y opciones de recuperación más rápidas.
Con Azure Backup para vm, 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 obtener más información, consulte Información general sobre Azure Disk Backup.
Para la mayoría de las soluciones, no debe confiar exclusivamente en copias de seguridad. En su lugar, utilice las otras capacidades descritas en esta guía para apoyar los requisitos de resiliencia. Sin embargo, las copias de seguridad protegen contra algunos riesgos que otros enfoques no. Para más información, consulte ¿Qué son la redundancia, la replicación y la copia de seguridad?.
Resistencia a la reconfiguración de máquinas virtuales
Los conjuntos de escalado proporcionan control sobre cómo se aplican los cambios de configuración a las máquinas virtuales, incluido el cambio de la SKU de máquina virtual, el cambio de la imagen que usa cada máquina virtual y la adición o eliminación de extensiones de máquina virtual. Puede controlar el modo de directiva de actualización, que determina cómo se aplican las actualizaciones. Para obtener más información, consulte modos de actualización de la política para conjuntos de máquinas virtuales a escala.
Algunos tipos de actualización pueden requerir la reinstalación o la reimplementación de una instancia. Si tiene instancias específicas que se deben excluir de las actualizaciones automáticas, como las instancias que contienen el estado que necesita conservar o la configuración, no se puede replicar en otras instancias, considere la posibilidad de usar la protección de instancias.
Resistencia al mantenimiento del servicio
Azure realiza periódicamente actualizaciones para mejorar la confiabilidad, el rendimiento y la seguridad de la infraestructura de host para las máquinas virtuales. Los conjuntos de escalado proporcionan varias maneras de comprender y controlar el mantenimiento planeado:
Las notificaciones de mantenimiento planeado le indican cuándo se debe el mantenimiento y le proporciona control sobre cuándo tiene lugar el mantenimiento.
Las configuraciones de mantenimiento permiten programar una ventana de mantenimiento a la vez que se adapte a sus necesidades empresariales.
Los eventos programados para máquinas virtuales Linux y para máquinas virtuales Windows proporcionan a la aplicación tiempo de preparación para el mantenimiento de máquinas virtuales. Proporciona información sobre los próximos eventos de mantenimiento (por ejemplo, reinicio) para que la aplicación pueda prepararse para ellos y limitar la interrupción.
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.
Los conjuntos de escalado de máquinas virtuales comparten el SLA de disponibilidad de las máquinas virtuales. Puede lograr un porcentaje de tiempo de actividad mayor para las máquinas virtuales mediante un conjunto de escalado que cumpla ambos criterios:
- Contiene dos o más instancias.
- Reparta esas instancias en dos o más zonas de disponibilidad.