Configuración de la capacidad de su entorno de Elastic Beanstalk - 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.

Configuración de la capacidad de su entorno de Elastic Beanstalk

En este tema se describen los diferentes enfoques para configurar la capacidad de escalado automático en el entorno de Elastic Beanstalk. Puede utilizar la consola de Elastic Beanstalk, la CLI de EB, la AWS CLI o el espacio de nombres.

importante

La configuración opcional de 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 ello, se requieren los permisos necesarios para administrar las plantillas de lanzamiento. Estos permisos están incluidos en nuestra política administrada. Si utiliza políticas personalizadas en lugar de nuestras políticas administradas, es posible que no se pueda crear el entorno o que fallen las actualizaciones cuando se actualice la configuración del entorno. Para obtener más información y conocer otras consideraciones, consulte Migración del entorno de Elastic Beanstalk para lanzar plantillas .

Configuración usando la consola

Puede configurar la administración de la capacidad de un grupo de escalado automático mediante la edición de Capacidad en la página Configuración del entorno en la consola de Elastic Beanstalk.

Cómo configurar el grupo de escalado automático en la consola de Elastic Beanstalk
  1. Abra la consola de Elastic Beanstalk y, en la lista Regions (Regiones), seleccione su Región de AWS.

  2. En el panel de navegación, elija Environments (Entornos) y, a continuación, elija el nombre del entorno en la lista.

  3. En el panel de navegación, elija Configuration (Configuración).

  4. En la categoría de configuración Capacity (Capacidad), elija Edit (Edición de).

  5. En la sección Auto Scaling group (Grupo de Auto Scaling), configure los siguientes ajustes.

    • Environment type (Tipo de entorno): seleccione Load balanced (Con balanceo de carga).

    • Min instances (Número mínimo de instancias): el número mínimo de instancias EC2 que el grupo debe incluir en cualquier momento. El grupo comienza con el recuento mínimo y agrega instancias cuando se cumple la condición del desencadenador de aumento.

    • Max instances (Número máximo de instancias): el número máximo de instancias EC2 que el grupo debe incluir en cualquier momento.

      nota

      Si utiliza las actualizaciones continuas, asegúrese de que el número máximo de instancias es mayor que el ajuste Minimum instances in service (Instancias mínimas en servicio) para las actualizaciones continuas.

    • Composición de flota: el valor predeterminado es instancias en diferido. Para habilitar las solicitudes de instancias de spot, seleccione Combined purchase options and instances (Opciones e instancias de compra combinadas).

      importante

      La configuración opcional de 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 ello, se requieren los permisos necesarios para administrar las plantillas de lanzamiento. Estos permisos están incluidos en nuestra política administrada. Si utiliza políticas personalizadas en lugar de nuestras políticas administradas, es posible que no se pueda crear el entorno o que fallen las actualizaciones cuando se actualice la configuración del entorno. Para obtener más información y conocer otras consideraciones, consulte Migración del entorno de Elastic Beanstalk para lanzar plantillas .

      Las siguientes opciones están habilitadas si selecciona habilitar solicitudes de instancia de Spot:

      • Estrategia de asignación de spot: determina el método utilizado para administrar y aprovisionar las instancias de spot de su entorno, en función de la capacidad disponible, el precio y la selección de tipos de instancias. Seleccione entre Capacidad optimizada (predeterminada), Precio optimizado por capacidad, Capacidad optimizada por prioridad o Precio más bajo. Para obtener una descripción de cada estrategia de asignación y más información, consulte Estrategia de asignación de instancias de spot.

      • Precio de spot máximo: a fin de obtener recomendaciones sobre las opciones de precio máximo de las instancias de spot, consulte Historial de precios de instancias de spot en la Guía del usuario de Amazon EC2.

      • Base en diferido: el número mínimo de instancias en diferido que el grupo de Auto Scaling aprovisiona antes de considerar la posibilidad de utilizar instancias de spot cuando escala de manera horizontal el entorno.

      • En diferido por encima de la base: porcentaje de instancias en diferido que forman parte de la capacidad adicional que el grupo de Auto Scaling aprovisiona después de las instancias base en diferido.

        nota

        Las opciones base bajo demanda y bajo demanda por encima de la base se correlacionan con las opciones de instancias mín. y máx. enumeradas anteriormente. Para obtener más información sobre estas opciones y ejemplos, consulte Compatibilidad de instancias de spot con el entorno de Elastic Beanstalk.

      • Reequilibrio de la capacidad: esta opción solamente es relevante cuando hay, al menos, una instancia de spot en el grupo de escalado automático. Con esta característica habilitada, EC2 intenta reemplazar de manera automática las instancias de spot en el grupo de escalado automático antes de que se interrumpan y así minimizar las interrupciones de las instancias de spot en las aplicaciones. Para obtener más información, consulte Reequilibrio de la capacidad en la Guía del usuario de Amazon EC2 Auto Scaling.

    • Arquitectura: la arquitectura del procesador de las instancias de EC2. La arquitectura del procesador determina los tipos de instancias de EC2 que estarán disponibles en el siguiente campo.

    • Tipos de instancia: tipos de instancia de Amazon EC2 lanzada para ejecutar la aplicación. Para obtener más detalles, consulte Tipos de instancias.

    • AMI ID (ID de AMI): imagen de máquina que Elastic Beanstalk utiliza para lanzar instancias de Amazon EC2 en el entorno. Para obtener más detalles, consulte ID DE AMI.

    • Availability Zones (Zonas de disponibilidad): elija el número de zonas de disponibilidad para distribuir las instancias en su entorno. De forma predeterminada, el grupo de Auto Scaling lanza instancias de manera uniforme en todas las zonas utilizables. Para concentrar sus instancias en menos zonas, elija el número de zonas que se debe usar. Para los entornos de producción, utilice al menos dos zonas para asegurarse de que su aplicación esté disponible si una zona de disponibilidad se queda fuera de servicio.

    • Placement (Ubicación) (opcional): elija las zonas de disponibilidad que va a utilizar. Utilice este ajuste si las instancias deben conectarse a recursos en zonas específicas o si ha comprado instancias reservadas, que son específicas de cada zona. Si lanza su entorno en una VPC personalizada, no puede configurar esta opción. En una VPC personalizada, usted elige zonas de disponibilidad para las subredes que asigna a su entorno.

    • Scaling cooldown (Periodo de recuperación de escala): la cantidad de tiempo que debe esperar en segundos a que las instancias se lancen o terminen después del escala, antes de seguir evaluando desencadenadores. Para obtener más información, consulte Periodos de recuperación de escala.

  6. Para guardar los cambios, elija Aplicar en la parte inferior de la página.

Configuración mediante opciones de espacio de nombres

Elastic Beanstalk dispone de opciones de configuración para configuraciones de Auto Scaling en dos espacios de nombres: aws:autoscaling:asg y aws:ec2:instances.

El espacio de nombres aws:autoscaling:asg

El espacio de nombres aws:autoscaling:asg cuenta con dos opciones de disponibilidad y escala global.

En el siguiente archivo de configuración de ejemplo, el grupo de Auto Scaling se configura para que utilice entre dos y cuatro instancias, zonas de disponibilidad específicas y un periodo de recuperación de 12 minutos (720 segundos). Habilita el reequilibrio de la capacidad para las instancias de spot. Esta opción de EnableCapacityRebalancing tiene efecto solamente si EnableSpot se configura como true en el espacio de nombres aws:ec2:instances, como se muestra en el ejemplo del archivo de configuración siguiente a este.

option_settings: aws:autoscaling:asg: Availability Zones: Any Cooldown: '720' Custom Availability Zones: 'us-west-2a,us-west-2b' MaxSize: '4' MinSize: '2' EnableCapacityRebalancing: true

El espacio de nombres aws:ec2:instances

nota

Cuando actualiza la configuración del entorno y elimina uno o más tipos de instancias de la opción InstanceTypes, Elastic Beanstalk finaliza cualquier Amazon EC2 instance que se esté ejecutando en cualquiera de los tipos de instancias eliminados. A continuación, el grupo de Auto Scaling de su entorno lanza nuevas instancias, según sea necesario, para completar la capacidad deseada mediante sus tipos de instancia especificados actuales.

El espacio de nombres aws:ec2:instances dispone de opciones relacionadas con las instancias del entorno, incluida la administración de instancias de spot. Complementa a aws:autoscaling:launchconfiguration y aws:autoscaling:asg.

El siguiente ejemplo de archivo de configuración, configura el grupo de Auto Scaling para habilitar las solicitudes de instancias de spot en su entorno. Se pueden utilizar tres tipos de instancias posibles. Al menos una instancia en diferido se utiliza para capacidad de línea base y un 33% sostenido de instancias en diferido se utiliza para cualquier capacidad adicional.

La configuración establece la estrategia de asignación de spot en capacity-optimized-prioritized. Esta estrategia de asignación en particular prioriza los lanzamientos de instancias desde el grupo en función del orden de los tipos de instancias especificados en la opción de InstanceTypes. Si no se especifica la SpotAllocationStrategy, toma el valor capacity-optimized como predeterminado.

option_settings: aws:ec2:instances: EnableSpot: true InstanceTypes: 't2.micro,t3.micro,t3.small' SpotAllocationStrategy: capacity-optimized-prioritized SpotFleetOnDemandBase: '1' SpotFleetOnDemandAboveBasePercentage: '33'

Para seleccionar tipos de instancias de spot, utilice el Asistente de instancias de spot.

importante

La configuración opcional de 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 ello, se requieren los permisos necesarios para administrar las plantillas de lanzamiento. Estos permisos están incluidos en nuestra política administrada. Si utiliza políticas personalizadas en lugar de nuestras políticas administradas, es posible que no se pueda crear el entorno o que fallen las actualizaciones cuando se actualice la configuración del entorno. Para obtener más información y conocer otras consideraciones, consulte Migración del entorno de Elastic Beanstalk para lanzar plantillas .

Configuración mediante la AWS CLI

En esta sección se incluyen ejemplos de cómo puede usar el comando de AWS CLI create-environment para configurar su entorno con las opciones de escalado automático y capacidad que se describen en estas secciones. Observará que, en este ejemplo, también se configuran los ajustes del espacio de nombres aws:autoscaling:asg y aws:ec2:instances, tal como se describe en la sección anterior de opciones de configuración del espacio de nombres.

La interfaz de la línea de comandos de AWS proporciona comandos para crear y configurar entornos de Elastic Beanstalk. Con la opción --option-settings, puede transferir opciones de espacio de nombres compatibles con Elastic Beanstalk. Esto significa que las opciones de configuración del espacio de nombres descritas anteriormente se pueden transferir a los comandos de la AWS CLI aplicables para configurar el entorno de Elastic Beanstalk.

nota

También puede usar el comando update-environment con --option-settings para agregar o actualizar las opciones del espacio de nombres. Si necesita eliminar alguna opción del espacio de nombres de su entorno, utilice el comando update-environment con --options-to-remove.

En los siguientes ejemplos se crea un nuevo entorno. Consulte las opciones de configuración del espacio de nombres del tema anterior para obtener más información sobre las opciones que se transfieren.

La primera opción de la lista, IamInstanceProfile en el espacio de nombres aws:autoscaling:launchconfiguration, es el perfil de instancia de Elastic Beanstalk. Es necesario cuando se crea un nuevo entorno.

ejemplo — create-environment con opciones de escalado automático (opciones de espacio de nombres en línea)
aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2023 v4.3.0 running Python 3.12" \ --option-settings \ Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role Namespace=aws:autoscaling:asg,OptionName=Availability Zones,Value=Any \ Namespace=aws:autoscaling:asg,OptionName=Cooldown,Value=720 \ Namespace=aws:autoscaling:asg,OptionName=Custom Availability Zones,Value=us-west-2a,us-west-2b \ Namespace=aws:autoscaling:asg,OptionName=MaxSize,Value=4 \ Namespace=aws:autoscaling:asg,OptionName=MinSize,Value=2 \ Namespace=aws:autoscaling:asg,OptionName=EnableCapacityRebalancing,Value=true \ Namespace=aws:ec2:instances,OptionName=EnableSpot,Value=true \ Namespace=aws:ec2:instances,OptionName=InstanceTypes,Value=t2.micro,t3.micro,t3.small \ Namespace=aws:ec2:instances,OptionName=SpotAllocationStrategy,Value=capacity-optimized-prioritized \ Namespace=aws:ec2:instances,OptionName=SpotFleetOnDemandBase,Value=1 \ Namespace=aws:ec2:instances,OptionName=SpotFleetOnDemandAboveBasePercentage,Value=33

importante

La configuración opcional de 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 ello, se requieren los permisos necesarios para administrar las plantillas de lanzamiento. Estos permisos están incluidos en nuestra política administrada. Si utiliza políticas personalizadas en lugar de nuestras políticas administradas, es posible que no se pueda crear el entorno o que fallen las actualizaciones cuando se actualice la configuración del entorno. Para obtener más información y conocer otras consideraciones, consulte Migración del entorno de Elastic Beanstalk para lanzar plantillas .

Como alternativa, utilice un archivo options.json para especificar las opciones del espacio de nombres en lugar de incluirlas en línea.

ejemplo — create-environment con opciones de escalado automático (opciones de espacio de nombres en el archivo options.json)
aws elasticbeanstalk create-environment \ --region us-east-1 \ --application-name my-app \ --environment-name my-env \ --solution-stack-name "64bit Amazon Linux 2023 v4.3.0 running Python 3.12" --option-settings file://options.json
### example options.json ### [ { "Namespace": "aws:autoscaling:launchconfiguration", "OptionName": "IamInstanceProfile", "Value": "aws-elasticbeanstalk-ec2-role" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "Availability Zones", "Value": "Any" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "Cooldown", "Value": "720" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "Custom Availability Zones", "Value": "us-west-2a,us-west-2b" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "MaxSize", "Value": "4" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "MinSize", "Value": "2" }, { "Namespace": "aws:autoscaling:asg", "OptionName": "EnableCapacityRebalancing", "Value": "true" }, { "Namespace": "aws:ec2:instances", "OptionName": "EnableSpot", "Value": "true" }, { "Namespace": "aws:ec2:instances", "OptionName": "InstanceTypes", "Value": "t2.micro,t3.micro,t3.small" }, { "Namespace": "aws:ec2:instances", "OptionName": "SpotAllocationStrategy", "Value": "capacity-optimized-prioritized" }, { "Namespace": "aws:ec2:instances", "OptionName": "SpotFleetOnDemandBase", "Value": "1" }, { "Namespace": "aws:ec2:instances", "OptionName": "SpotFleetOnDemandAboveBasePercentage", "Value": "33" } ]

Configuración a través de la CLI de EB

Si crea un entorno mediante el comando eb create, puede especificar algunas opciones relacionadas con el grupo de Auto Scaling del entorno. Estas son algunas opciones que lo ayudan a controlar la capacidad del entorno.

--single

Crea el entorno con una Amazon EC2 instance y sin balanceador de carga. Si no utiliza esta opción, un balanceador de carga se agrega al entorno que se ha creado.

--enable-spot

Habilita las solicitudes de instancias de spot para el entorno.

importante

La configuración opcional de enable-spot 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 ello, se requieren los permisos necesarios para administrar las plantillas de lanzamiento. Estos permisos están incluidos en nuestra política administrada. Si utiliza políticas personalizadas en lugar de nuestras políticas administradas, es posible que no se pueda crear el entorno o que fallen las actualizaciones cuando se actualice la configuración del entorno. Para obtener más información y conocer otras consideraciones, consulte Migración del entorno de Elastic Beanstalk para lanzar plantillas .

Las siguientes opciones para el comando eb create solo pueden utilizarse con --enable-spot.

--instance-types

Enumera los tipos de Amazon EC2 instance que desea que se utilice en el entorno.

--spot-max-price

El precio máximo unidad por hora, en dólares estadounidenses, que está dispuesto a pagar por una instancia de Spot. A fin de obtener recomendaciones sobre las opciones de precio máximo de las instancias de spot, consulte el Historial de precios de instancias de spot en la Guía del usuario de Amazon EC2.

--on-demand-base-capacity

Número mínimo de instancias en diferido que el grupo de Auto Scaling aprovisiona antes de considerar la posibilidad de utilizar instancias de spot cuando se amplía el entorno.

--on-demand-above-base-capacity

El porcentaje de instancias en diferido como parte de la capacidad adicional que el grupo de Auto Scaling aprovisiona además del número de instancias especificado mediante la opción --on-demand-base-capacity.

En el siguiente ejemplo, se crea un entorno y se configura el grupo de Auto Scaling para habilitar las solicitudes de instancias de Spot en el nuevo entorno. Para este ejemplo, se pueden utilizar tres tipos de instancias posibles.

$ eb create --enable-spot --instance-types "t2.micro,t3.micro,t3.small"
importante

Hay otra opción con nombre similar que se llama --instance-type(sin “s”) que la CLI de EB solo reconoce al procesar instancias en diferido. No utilice --instance-type (sin “s”) con la opción --enable-spot. Si lo hace, la CLI de EB lo ignora. En su lugar utilice --instance-types (con “s”) con la opción --enable-spot.