Beneficios de Amazon EC2 Auto Scaling - Amazon EC2 Auto Scaling

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Beneficios de Amazon EC2 Auto Scaling

Añadir Amazon EC2 Auto Scaling a la arquitectura de sus aplicaciones es una forma de maximizar los beneficios de la AWS nube. Cuando se utiliza Amazon EC2 Auto Scaling, sus aplicaciones disfrutan de los siguientes beneficios:

  • Mejor tolerancia a errores. Amazon EC2 Auto Scaling puede detectar cuándo una instancia está en mal estado, terminarla y lanzar una instancia para reemplazarla. También puede configurar Amazon EC2 Auto Scaling para que use varias zonas de disponibilidad. Si una zona de disponibilidad deja de estar disponible, Amazon EC2 Auto Scaling puede lanzar instancias en otra para compensar.

  • Mejor disponibilidad. Amazon EC2 Auto Scaling puede ayudarle a garantizar que la aplicación tiene siempre la capacidad adecuada para gestionar la demanda de tráfico actual.

  • Mejor administración de costes. Amazon EC2 Auto Scaling puede aumentar y reducir de forma dinámica la capacidad según sea necesario. Dado que se paga por las instancias EC2 que se utilizan, es posible ahorrar dinero lanzando instancias cuando se necesitan y terminándolas cuando ya no son necesarias.

Ejemplo: cubrir una demanda variable

Para mostrar algunos de los beneficios de Amazon EC2 Auto Scaling, considere una aplicación web básica que se ejecuta en AWS. Esta aplicación permite a los empleados buscar salas de conferencias para las reuniones. Durante el comienzo y el final de la semana, el uso de esta aplicación es mínimo. A mitad de semana, hay más empleados que programan reuniones, de modo que la demanda de la aplicación aumenta de forma significativa.

En el siguiente gráfico se muestra cuánta capacidad de la aplicación se usa a lo largo de una semana.


					Un ejemplo de la capacidad de demanda de una aplicación.

Tradicionalmente, hay dos formas de planificar estos cambios de capacidad. La primera opción consiste en agregar servidores suficientes para que la aplicación siempre tenga capacidad suficiente para satisfacer la demanda. La desventaja de esta opción, sin embargo, es que hay días en que la aplicación no necesita tanta capacidad. La capacidad adicional permanece sin utilizar y, en esencia, aumenta el costo de mantener la aplicación en ejecución.


					Un ejemplo que ilustra cómo comprar más capacidad de la necesaria es ineficaz desde el punto de vista de la rentabilidad.

La segunda opción es tener capacidad suficiente para gestionar la demanda media de la aplicación. Esta opción es menos cara, ya que no necesita comprar equipos que utilizará solo de vez en cuando. Sin embargo, existe el riesgo de que la experiencia del cliente se vea afectada si la demanda de la aplicación supera su capacidad.


					Un ejemplo que ilustra cómo comprar menos capacidad de la necesaria puede suponer una mala experiencia para los clientes.

Añadiendo Amazon EC2 Auto Scaling a esta aplicación, dispone de una tercera opción. Puede añadir nuevas instancias a la aplicación solo cuando sea necesario y terminarlas cuando ya no las necesite. Como Amazon EC2 Auto Scaling utiliza instancias EC2, solo tiene que pagar por las instancias que utilice, cuando las utilice. Ahora tiene una arquitectura rentable que proporciona la mejor experiencia a los clientes a la vez que se minimizan los gastos.


					Un ejemplo que ilustra cómo Amazon EC2 Auto Scaling puede ajustar la capacidad según sea necesario.

Ejemplo: Arquitectura de aplicaciones web

En un escenario de aplicación web común, ejecuta varias copias de su aplicación de forma simultánea para cubrir el volumen del tráfico de sus clientes. Estas copias múltiples de la aplicación se alojan en instancias EC2 idénticas (servidores en la nube), cada una de las cuales tramita solicitudes de los clientes.

Amazon EC2 Auto Scaling administra el lanzamiento y la terminación de estas instancias EC2 en su nombre. Usted define un conjunto de criterios (como una CloudWatch alarma de Amazon) que determina cuándo el grupo de Auto Scaling lanza o termina las instancias de EC2. Añadir grupos de Auto Scaling a la arquitectura de red ayuda a aumentar la disponibilidad y la tolerancia a errores de la aplicación.


					Arquitectura básica de tres niveles con un grupo de escalado automático.

Puede crear todos los grupos de Auto Scaling que necesite. Por ejemplo, puede crear un grupo de escalado automático para cada capa.

Para distribuir el tráfico entre las instancias del grupo de escalado automático, puede introducir un balanceador de carga en su arquitectura. Para obtener más información, consulte Elastic Load Balancing.

Ejemplo: distribuir instancias entre zonas de disponibilidad

Las zonas de disponibilidad son ubicaciones aisladas en una Región de AWS. Cada región tiene varias zonas de disponibilidad diseñadas para proporcionar alta disponibilidad para la región. Las zonas de disponibilidad son independientes y, por lo tanto, se aumenta la disponibilidad de las aplicaciones al diseñar la aplicación para que utilice varias zonas. Para obtener más información, consulte Resiliencia en Amazon EC2 Auto Scaling.

Una zona de disponibilidad se identifica mediante el Región de AWS código seguido de una letra identificadora (por ejemplo,us-east-1a). Si crea la VPC y las subredes en lugar de utilizar la VPC predeterminada, puede definir una o más subredes en cada zona de disponibilidad. Cada subred debe residir enteramente en una zona de disponibilidad y no puede abarcar otras zonas. Para obtener más información, consulte Cómo funciona Amazon VPC en la Guía del usuario de Amazon VPC.

Al crear un grupo de escalado automático, debe elegir la VPC y las subredes en las que implementará el grupo de escalado automático. Amazon EC2 Auto Scaling crea las instancias en las subredes elegidas. Así, cada instancia está asociada a una zona de disponibilidad específica elegida por Amazon EC2 Auto Scaling. Cuando se lanzan las instancias, Amazon EC2 Auto Scaling intenta distribuirlas de manera uniforme entre las zonas para lograr una alta disponibilidad y fiabilidad.

La siguiente imagen muestra una descripción general de la arquitectura de varios niveles implementada en tres zonas de disponibilidad.


					Un grupo de escalado automático típico que abarca tres zonas de disponibilidad.

Distribución de instancias

Amazon EC2 Auto Scaling intenta mantener automáticamente cantidades equivalentes de instancias en cada zona de disponibilidad habilitada. Para ello, Amazon EC2 Auto Scaling intenta lanzar nuevas instancias en la zona de disponibilidad con el menor número de instancias. Si hay varias subredes seleccionadas para una zona de disponibilidad, Amazon EC2 Auto Scaling selecciona una subred de la zona de disponibilidad aleatoriamente. Sin embargo, si el intento fracasa, Amazon EC2 Auto Scaling intenta lanzar las instancias en otra zona de disponibilidad hasta que lo logra.

En los casos en los que una zona de disponibilidad deja de estar en buen estado o no está disponible, la distribución de instancias puede quedar de manera desigual entre las zonas de disponibilidad. Cuando se recupera la zona de disponibilidad, Amazon EC2 Auto Scaling reequilibra automáticamente el grupo de escalado automático. Para hacerlo, lanza instancias en las zonas de disponibilidad habilitadas con menos instancias y terminando instancias en otros lugares.

Actividades de reequilibrio

Las actividades de reequilibrio se dividen en dos categorías: reequilibrio de zona de disponibilidad y reequilibrio de capacidad.

Reequilibrio de zona de disponibilidad

Cuando se producen determinadas acciones, el grupo de escalado automático puede quedar desequilibrado entre las zonas de disponibilidad. Amazon EC2 Auto Scaling compensa este desequilibrio reequilibrando las zonas de disponibilidad. Las siguientes acciones pueden derivar en una actividad de reequilibrio:

  • Usted cambia las zonas de disponibilidad asociadas a su grupo de escalado automático.

  • Termina o desasocia instancias de forma explícita, o las coloca en espera y entonces el grupo queda desequilibrado.

  • Una zona de disponibilidad que anteriormente tenía capacidad insuficiente se recupera y ahora tiene capacidad adicional.

  • Una zona de disponibilidad que anteriormente tenía un precio de spot superior a su precio máximo ahora tiene un precio de spot inferior a su precio máximo.

Al reequilibrar, Amazon EC2 Auto Scaling lanza nuevas instancias antes de terminar las más antiguas. De esta manera, el reequilibrio no pone en peligro el rendimiento ni la disponibilidad de la aplicación.

Como Amazon EC2 Auto Scaling intenta lanzar nuevas instancias antes de terminar las anteriories, si se está en la capacidad máxima especificada o cerca de ella podría impedir o detener completamente las actividades de reequilibrio.

Para evitar este problema, el sistema puede superar temporalmente la capacidad máxima especificada de un grupo durante una actividad de reequilibrio. De modo predeterminado, puede hacerlo con un margen del 10 por ciento o en una instancia, lo que sea mayor. El margen solo se amplía si el grupo está en su capacidad máxima, o cerca de ella, y necesita un reequilibrio. La extensión se mantiene solamente mientras sea necesaria para reequilibrar el grupo (normalmente unos minutos).

Como alternativa, puede establecer umbrales para un grupo de escalado automático mediante una política de mantenimiento de instancias, y el grupo solo puede aumentar o disminuir la capacidad dentro de ese rango de umbrales. De esta forma, puede controlar la rapidez con la que su grupo se reequilibra. Para obtener más información, consulte Políticas de mantenimiento de instancias.

Reequilibrio de la capacidad

Puede habilitar el reequilibrio de capacidad para los grupos de escalado automático cuando utilice instancias de spot. Esto permite que Amazon EC2 Auto Scaling intente lanzar una instancia de spot siempre que Amazon EC2 notifica que una instancia de spot tiene un riesgo elevado de interrupción. Después de lanzar una nueva instancia, termina una instancia anterior. Para obtener más información, consulte Utilizar el reequilibrio de capacidad para gestionar las interrupciones de spot de Amazon EC2.