Compatibilidad con instancias de spot - AWS Elastic Beanstalk

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.

Compatibilidad con instancias de spot

Para aprovechar las instancias de spot de Amazon EC2, puede habilitar una opción de spot en el entorno. El grupo de Auto Scaling de su entorno combinará entonces las opciones de compra de Amazon EC2 y mantendrá una combinación de instancias en diferido y de spot.

nota

La configuración opcional EnableSpot puede provocar que Elastic Beanstalk cree un entorno con una plantilla de lanzamiento o actualice un entorno existente de configuraciones de lanzamiento a plantillas de lanzamiento. Para obtener más información, consulte Plantillas de lanzamiento.

En este tema se describen los siguientes métodos para habilitar las solicitudes de instancias de spot del entorno:

importante

La demanda de instancias de spot puede variar enormemente de un momento a otro y la disponibilidad de las instancias de spot también puede variar significativamente en función de cuántas instancias de Amazon EC2 no utilizadas haya disponibles. Siempre es posible que la instancia de spot se vea interrumpida.

Para ayudar a minimizar el impacto de estas interrupciones en la aplicación, puede habilitar la opción de reequilibrio de la capacidad incluida con Amazon EC2 Auto Scaling. Con esta característica habilitada, EC2 intenta reemplazar de manera automática las instancias de spot en un grupo de Auto Scaling antes de que se interrumpan. Con la finalidad de habilitar esta característica, utilice la consola de Elastic Beanstalk para configurar el grupo de Auto Scaling. En su defecto, puede establecer la opción de configuración EnableCapacityRebalancing de Elastic Beanstalk en true el espacio de nombres aws:autoscaling:asg.

Con el fin de obtener más información, consulte Reequilibrio de la capacidad en la Guía del usuario de Amazon EC2 Auto Scaling e Interrupciones de instancias de spot en la Guía del usuario de Amazon EC2.

Elastic Beanstalk dispone de varias opciones de configuración que admiten la característica Spot. Estas se tratan en las siguientes secciones relacionadas con la configuración del grupo de Auto Scaling.

Dos de estas opciones, en el espacio de nombres aws:ec2:instances, merecen una atención especial:

  • SpotFleetOnDemandBase

  • SpotFleetOnDemandAboveBasePercentage

Estas dos opciones se correlacionan con la opción MinSize en el espacio de nombres aws:autoscaling:asg:

  • Solo MinSize determina la capacidad inicial del entorno: el número de instancias que debe ejecutar como mínimo.

  • SpotFleetOnDemandBase no afecta a la capacidad inicial. Si se habilita Spot, esta opción solo determina cuántas instancias en diferido se aprovisionan antes de que se considere la posibilidad de utilizar instancias de spot.

  • Tenga en cuenta cuándo SpotFleetOnDemandBase es menor que MinSize. Obtendrá exactamente MinSize instancias como capacidad inicial. Como mínimo SpotFleetOnDemandBase deben ser instancias en diferido.

  • Tenga en cuenta cuándo SpotFleetOnDemandBase es mayor que MinSize. A medida que el entorno escale de forma horizontal, tendrá la seguridad de obtener al menos una cantidad de instancias adicionales igual a la diferencia entre los dos valores. En otras palabras, se garantiza que obtendrá al menos (SpotFleetOnDemandBase - MinSize) instancias adicionales que son en diferido antes de cumplir con el requisito de SpotFleetOnDemandBase.

En entornos de producción, las instancias de spot resultan particularmente útiles en un entorno escalable con equilibrio de carga. No es conveniente utilizar Spot en un entorno con una única instancia. Si no hay instancias de spot disponibles, podría perder toda la capacidad del entorno (una sola instancia). Es posible que desee utilizar una instancia de spot en un entorno con una sola instancia para realizar el desarrollo o las pruebas. Si lo hace, asegúrese de establecer SpotFleetOnDemandBase y SpotFleetOnDemandAboveBasePercentage en cero. Cualquier otra configuración dará como resultado una instancia en diferido.

Notas
  • Algunas cuentas antiguas de AWS pueden proporcionar a Elastic Beanstalk tipos de instancias predeterminados que no son compatibles con las instancias de spot (por ejemplo, t1.micro). Si habilita las solicitudes de instancias de spot y aparece el error None of the instance types you specified supports Spot (Ninguno de los tipos de instancia especificados admite Spot), no olvide configurar los tipos de instancias compatibles con Spot. Para seleccionar tipos de instancias de spot, utilice el Asistente de instancias de spot.

  • Para habilitar las solicitudes de instancias de spot debe usar plantillas de lanzamiento de Amazon EC2. Cuando configura esta característica durante la creación del entorno o las actualizaciones, Elastic Beanstalk intenta configurar el entorno para que utilice plantillas de lanzamiento de Amazon EC2 (si el entorno aún no las está utilizando). En este caso, si la política de usuario carece de los permisos necesarios, la creación del entorno o las actualizaciones podrían producir un error. Por lo tanto, le recomendamos que utilice nuestra política de usuario administrada o que agrega los permisos necesarios a sus políticas personalizadas. Para obtener información detallada acerca de los permisos necesarios, consulte Creación de una política de usuario personalizada.

En los siguientes ejemplos, se muestran diversos escenarios de configuración con distintas opciones de escala. En todos los ejemplos, se presupone que se está utilizando un entorno con balanceo de carga y que las solicitudes de instancias de spot están habilitadas.

ejemplo 1: Instancias en diferido y de spot como parte de la capacidad inicial
Opciones de configuración
Opción Namespace Valor

MinSize

aws:autoscaling:asg

10

MaxSize

aws:autoscaling:asg

24

SpotFleetOnDemandBase

aws:ec2:instances

4

SpotFleetOnDemandAboveBasePercentage

aws:ec2:instances

50

En este ejemplo, el entorno comienza con diez instancias, de las cuales siete son en diferido (cuatro base y el 50 % de las seis que están por encima de la base), mientras que tres son de spot. El entorno puede escalar horizontalmente hasta un máximo de 24 instancias. A medida que se amplía, la parte en diferido de la flota que está por encima de las cuatro instancias base en diferido se mantiene en el 50 %, hasta un máximo total de 24 instancias, de las cuales 14 son en diferido (cuatro base y el 50 % de las 20 que están por encima de la base) y 10 son de spot.

ejemplo 2: Toda la capacidad inicial la conforman instancias en diferido
Opciones de configuración
Opción Namespace Valor

MinSize

aws:autoscaling:asg

4

MaxSize

aws:autoscaling:asg

24

SpotFleetOnDemandBase

aws:ec2:instances

4

SpotFleetOnDemandAboveBasePercentage

aws:ec2:instances

50

En este ejemplo, el entorno comienza con cuatro instancias, todas ellas en diferido. El entorno puede ampliarse hasta un máximo de 24 instancias. A medida que se amplía, la parte en diferido de la flota que está por encima de las cuatro instancias base en diferido se mantiene en el 50 %, hasta un máximo total de 24 instancias, de las cuales 14 son en diferido (cuatro base y el 50 % de las 20 que están por encima de la base) y 10 son de spot.

ejemplo 3: Base en diferido adicional que supera la capacidad inicial
Opciones de configuración
Opción Namespace Valor

MinSize

aws:autoscaling:asg

3

MaxSize

aws:autoscaling:asg

24

SpotFleetOnDemandBase

aws:ec2:instances

4

SpotFleetOnDemandAboveBasePercentage

aws:ec2:instances

50

En este ejemplo, el entorno comienza con tres instancias, todas ellas en diferido. El entorno puede escalar horizontalmente hasta un máximo de 24 instancias. La primera instancia adicional por encima de las tres iniciales es una instancia en diferido y completa las cuatro instancias base en diferido. A medida que sigue ampliándose, la parte en diferido de la flota que está por encima de las cuatro instancias base en diferido se mantiene en el 50 %, hasta un máximo total de 24 instancias, de las cuales 14 son en diferido (cuatro base y el 50 % de las 20 que están por encima de la base), mientras que diez son instancias de spot.