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

En este tema se describen los diferentes enfoques para configurar la capacidad de Auto Scaling para el entorno de Elastic Beanstalk. Puede utilizar la consola de Elastic Beanstalk, la AWS CLI CLI de EB o las opciones de espacio de nombres.

importante

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 ello, se requieren los permisos necesarios para administrar las plantillas de lanzamiento. Estos permisos están incluidos en nuestra política de gestión. Si utiliza políticas personalizadas en lugar de nuestras políticas administradas, es posible que se produzca un error en la creación o las actualizaciones del entorno al habilitar las instancias puntuales para su entorno. Para obtener más información y otras consideraciones, consulteLance plantillas para su entorno de Elastic Beanstalk.

Configuración usando la consola

Puede configurar la administración de capacidad de un grupo de Auto Scaling editando Capacidad en la página de configuración del entorno en la consola de Elastic Beanstalk.

Para configurar la capacidad de grupo de Auto Scaling en la consola de Elastic Beanstalk
  1. Abra la consola de Elastic Beanstalk y, en la lista 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.

    nota

    Si tiene muchos entornos, utilice la barra de búsqueda para filtrar la lista de entornos.

  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).

    • Instancias mínimas: la cantidad mínima de EC2 instancias que debe contener el grupo en cualquier momento. El grupo comienza con el recuento mínimo y agrega instancias cuando se cumple la condición del desencadenador de aumento.

    • Número máximo de instancias: el número máximo de EC2 instancias que debe contener el grupo 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 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 gestionar las plantillas de lanzamiento. Estos permisos están incluidos en nuestra política de gestión. Si utiliza políticas personalizadas en lugar de nuestras políticas administradas, es posible que se produzca un error en la creación o las actualizaciones del entorno al habilitar las instancias puntuales para su entorno. Para obtener más información y otras consideraciones, consulteLance plantillas para su entorno de Elastic Beanstalk.

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

      • Estrategia de asignación puntual: determina el método utilizado para administrar y aprovisionar las instancias puntuales 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, consulteEstrategia de asignación de instancias puntuales.

      • Precio máximo al contado: para obtener recomendaciones sobre las opciones de precio máximo para las instancias puntuales, consulte el historial de precios de las instancias puntuales en la Guía del EC2 usuario de Amazon.

      • 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 Soporte de instancias puntuales para su entorno de Elastic Beanstalk.

      • Reequilibrio de capacidad: esta opción solo es relevante cuando hay al menos una instancia puntual en su grupo de Auto Scaling. Cuando esta función está habilitada, intenta reemplazar EC2 automáticamente las instancias puntuales en el grupo Auto Scaling antes de que se interrumpan, lo que minimiza las interrupciones de las instancias puntuales en sus aplicaciones. Para obtener más información, consulte Reequilibrio de capacidad en la Guía del usuario de Amazon EC2 Auto Scaling

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

    • Tipos de instancias: los tipos de EC2 instancias de Amazon lanzadas para ejecutar tu aplicación. Para obtener más información, consulte Tipos de instancias.

    • ID de AMI: la imagen de la máquina que Elastic Beanstalk utiliza para EC2 lanzar instancias de Amazon en su 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 escalado): la cantidad de tiempo que debe esperar en segundos a que las instancias se lancen o terminen después del escalado, antes de seguir evaluando disparadores. Para obtener más información, consulte Periodos de recuperación de escalado.

  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). Permite el reequilibrio de la capacidad de las instancias puntuales. Esta EnableCapacityRebalancing opción solo surte efecto si EnableSpot se establece true en el espacio de aws:ec2:instancesnombres, como se muestra en el ejemplo del archivo de configuración que sigue 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

Al actualizar la configuración del entorno y eliminar uno o más tipos de instancias de la InstanceTypes opción, Elastic Beanstalk cancela EC2 cualquier instancia de Amazon que se ejecute 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. Designa tres tipos de instancias posibles que se pueden utilizar. 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 puntual 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 InstanceTypes opción. Si no SpotAllocationStrategy se especifica, el valor predeterminado es. capacity-optimized

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 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 gestionar las plantillas de lanzamiento. Estos permisos están incluidos en nuestra política de gestión. Si utiliza políticas personalizadas en lugar de nuestras políticas administradas, es posible que se produzca un error en la creación o las actualizaciones del entorno al habilitar las instancias puntuales para su entorno. Para obtener más información y otras consideraciones, consulteLance plantillas para su entorno de Elastic Beanstalk.

Configuración mediante el AWS CLI

Esta sección proporciona ejemplos de cómo puede usar el comando AWS CLI create-environment para configurar su entorno con las opciones de Auto Scaling 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:asgy aws:ec2:instances, tal como se describe en la sección anterior de opciones de configuración del espacio de nombres, también se configuran.

La AWS interfaz de línea de comandos proporciona comandos para crear y configurar entornos de Elastic Beanstalk. Con --option-settings esta opción, 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 pasar a los AWS CLI comandos aplicables para configurar el entorno de Elastic Beanstalk.

nota

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

El siguiente ejemplo crea un entorno nuevo. Consulte las opciones de configuración del espacio de nombres del tema anterior para obtener más contexto sobre las opciones que se transfieren.

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

ejemplo — crear un entorno con opciones de Auto Scaling (opciones de namespace 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 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 gestionar las plantillas de lanzamiento. Estos permisos están incluidos en nuestra política de gestión. Si utiliza políticas personalizadas en lugar de nuestras políticas administradas, es posible que se produzca un error en la creación o las actualizaciones del entorno al habilitar las instancias puntuales para su entorno. Para obtener más información y otras consideraciones, consulteLance plantillas para su entorno de Elastic Beanstalk.

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

ejemplo —crear-entorno con opciones de Auto Scaling (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 mediante 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 EC2 instancia de Amazon 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 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 gestionar las plantillas de lanzamiento. Estos permisos están incluidos en nuestra política de gestión. Si utiliza políticas personalizadas en lugar de nuestras políticas administradas, es posible que se produzca un error en la creación o las actualizaciones del entorno al habilitar las instancias puntuales para su entorno. Para obtener más información y otras consideraciones, consulteLance plantillas para su entorno de Elastic Beanstalk.

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

--instance-types

Muestra los tipos de EC2 instancias de Amazon que desea que utilice su 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. Para obtener recomendaciones sobre las opciones de precio máximo para las instancias puntuales, consulte el historial de precios de las instancias puntuales en la Guía del EC2 usuario de Amazon.

--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.