

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configuração de capacidade para o seu ambiente do Elastic Beanstalk
<a name="environments-cfg-autoscaling-configuration-approaches"></a>

Este tópico descreve as diferentes abordagens para configurar a capacidade de ajuste de escala automático em seu ambiente do Elastic Beanstalk. Você pode usar o console do Elastic Beanstalk, a AWS CLI CLI do EB ou as opções de namespace.

**Importante**  
A configuração da opção `EnableSpot` pode fazer com que o Elastic Beanstalk migre um ambiente existente com configurações de lançamento para modelos de lançamento. Para isso, é necessário ter as permissões necessárias para gerenciar modelos de lançamento. Essas permissões estão incluídas em nossa política gerenciada. Se você usar políticas personalizadas em vez de nossas políticas gerenciadas, a criação ou as atualizações do ambiente poderão falhar quando você atualizar a configuração do ambiente. Para obter mais informações e outras considerações, consulte [Migrar o ambiente do Elastic Beanstalk para modelos de lançamento](environments-cfg-autoscaling-launch-templates.md).

## Configurar usando o console
<a name="environments-cfg-autoscaling-console"></a>

Você pode configurar o gerenciamento de capacidade de um grupo do Auto Scaling editando **Capacidade** na página **Configuração** do ambiente no [console do Elastic Beanstalk.](environments-console.md).

**Para configurar a capacidade do grupo do Auto Scaling no console do Elastic Beanstalk**

1. Abra o console do [Elastic](https://console.aws.amazon.com/elasticbeanstalk) Beanstalk e, **na** lista Regiões, selecione sua. Região da AWS

1. No painel de navegação, selecione **Ambientes** e selecione o nome do ambiente na lista.

1. No painel de navegação, escolha **Configuration (Configuração)**.

1. Na categoria de configuração **Capacity (Capacidade)**, escolha **Edit (Editar)**.

1. Na seção **Grupo do Auto Scaling**, defina as configurações a seguir.
   + **Tipo de ambiente**: selecione **Carga balanceada**.
   + **Mínimo de instâncias**: o número mínimo de instâncias do EC2 que o grupo deve conter a qualquer momento. O grupo começa com o número mínimo de contagens e adiciona instâncias quando a condição de acionador aumentar a escala na vertical é atendida.
   + **Máximo de instâncias**: o número máximo de instâncias do EC2 que o grupo deve conter a qualquer momento.
**nota**  
Se você usar atualizações cumulativas, verifique se a contagem máxima de instância é mais alta que a configuração do [**Minimum instances in service** (Mínimo de instâncias em serviço)](using-features.rollingupdates.md#rollingupdates-configure) para atualizações cumulativas.
   + **Composição da frota**— O padrão é **instâncias sob demanda**. Para habilitar as solicitações de *instância spot* , selecione **Opções e Instâncias de compras combinadas**.
**Importante**  
A configuração da opção `EnableSpot` pode fazer com que o Elastic Beanstalk migre um ambiente existente com configurações de lançamento para modelos de lançamento. Para isso, é necessário ter as permissões necessárias para gerenciar modelos de lançamento. Essas permissões estão incluídas em nossa política gerenciada. Se você usar políticas personalizadas em vez de nossas políticas gerenciadas, a criação ou as atualizações do ambiente poderão falhar quando você atualizar a configuração do ambiente. Para obter mais informações e outras considerações, consulte [Migrar o ambiente do Elastic Beanstalk para modelos de lançamento](environments-cfg-autoscaling-launch-templates.md).

     As opções a seguir são habilitadas se você selecionar Habilitar as solicitações de *Instância Spot*:
     + **Estratégia de alocação spot**: determina o método usado para gerenciar e provisionar as instâncias spot no seu ambiente, com base na capacidade disponível, no preço e na seleção dos tipos de instância. Selecione entre *Capacidade otimizada* (padrão), *Capacidade de preço otimizada*, *Capacidade otimizada priorizada* ou *Preço mais baixo*. Para obter uma descrição de cada estratégia de alocação e obter mais informações, consulte [Estratégia de alocação de instâncias spot](environments-cfg-autoscaling-spot-allocation-strategy.md).
     + **Preço Spot máximo**: para obter recomendações sobre as opções de preço máximo para Instâncias Spot, consulte [Histórico de preços de Instâncias Spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html) no *Guia do usuário do Amazon EC2*.
     + **Base sob demanda** – O número mínimo de instâncias sob demanda que o grupo do Auto Scaling provisiona antes de considerar as instâncias spot à medida que o ambiente tiver aumento de escala.
     + **Sob demanda acima da base** – O percentual de instâncias sob demanda como parte da capacidade adicional que o grupo do Auto Scaling provisiona além das instâncias sob demanda.
**nota**  
As opções **Base sob demanda** e **Sob demanda acima da base** correlacionam-se com as de opções das *instâncias* **Mín.** e **Máx.** listadas anteriormente. Para obter mais informações sobre essas opções e exemplos, consulte [Suporte a instâncias spot para seu ambiente do Elastic Beanstalk](environments-cfg-autoscaling-spot.md). 
     + **Rebalanceamento de capacidade**: essa opção só é relevante quando há pelo menos uma instância spot em seu grupo do Auto Scaling. Quando esse recurso é habilitado, o EC2 tenta automaticamente substituir instâncias spot no grupo do Auto Scaling antes que elas sejam interrompidas, minimizando as interrupções de instância spot em suas aplicações Para obter mais informações, consulte [Rebalanceamento de capacidade](https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html) no *Guia do usuário do Amazon EC2 Auto Scaling*.
   + **Arquitetura**: a arquitetura do processador para as suas instâncias do EC2. A arquitetura do processador determina os tipos de instância do EC2 que se tornam disponíveis no próximo campo.
   + **Tipos de instância**: os tipos de instância do Amazon EC2 executadas para iniciar sua aplicação. Para obter detalhes, consulte [Tipos de instância](using-features.managing.ec2.console.md#using-features.managing.ec2.instancetypes).
   + **ID da AMI**: a imagem da máquina que o Elastic Beanstalk usa para iniciar instâncias do Amazon EC2 no ambiente. Para obter detalhes, consulte [ID DA AMI](using-features.managing.ec2.console.md#using-features.managing.ec2.customami).
   + **Availability Zones (Zonas de disponibilidade)**: escolha o número de zonas de disponibilidade nas quais distribuir as instâncias do ambiente. Por padrão, o grupo de Auto Scaling executa instâncias uniformemente em todas as regiões utilizáveis. Para concentrar suas instâncias em um número menor de zonas, escolha o número de zonas a serem usadas. Para ambientes de produção, use pelo menos duas zonas para garantir que seu aplicativo está disponível caso uma zona de disponibilidade fique fora.
   + **Placement (Posicionamento)** (opcional): escolha as zonas de disponibilidade a serem usadas. Use esta configuração se suas instâncias precisarem se conectar a recursos em regiões específicas ou se você tiver adquirido [instâncias reservadas](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html), que são específicas da região. Se você executar seu ambiente em uma VPC personalizada, não poderá configurar essa opção. Em uma VPC personalizada, é possível escolher as zonas de disponibilidade para as sub-redes que você atribui para o seu ambiente.
   + **Scaling cooldown (Desaquecimento da escalabilidade)**: o tempo de espera, em segundos, para que as instâncias sejam executadas ou encerradas depois da escalabilidade, antes de continuar a avaliar triggers. Para obter mais informações, consulte [Desaquecimento da escalabilidade](https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html).

1. Para salvar as alterações, escolha **Apply (Aplicar)** na parte inferior da página.

## Configuração usando opções de namespace
<a name="environments-cfg-autoscaling-namespace"></a>

O Elastic Beanstalk fornece [opções de configuração](command-options.md) para as configurações do Auto Scaling em dois namespaces: [`aws:autoscaling:asg`](command-options-general.md#command-options-general-autoscalingasg) e [`aws:ec2:instances`](command-options-general.md#command-options-general-ec2instances).

### O namespace aws:autoscaling:asg
<a name="environments-cfg-autoscaling-namespace.asg"></a>

O namespace [`aws:autoscaling:asg`](command-options-general.md#command-options-general-autoscalingasg) fornece opções para escalabilidade e disponibilidade geral.

O [arquivo de configuração](ebextensions.md) demonstrativo a seguir configura o grupo de Auto Scaling para usar de duas a quatro instâncias, zonas de disponibilidade específicas e um período de desaquecimento de 12 minutos (720 segundos). Permite o [Rebalanceamento de capacidade](https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html) para instâncias spot. Essa opção `EnableCapacityRebalancing` só terá efeito se `EnableSpot` for definida como `true` no namespace [`aws:ec2:instances`](command-options-general.md#command-options-general-ec2instances), conforme mostrado no exemplo do arquivo de configuração após 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
```

### O namespace aws:ec2:instances
<a name="environments-cfg-autoscaling-namespace.instances"></a>

**nota**  
Quando você atualiza a configuração do ambiente e remove um ou mais tipos de instância da opção `InstanceTypes`, o Elastic Beanstalk encerra todas as instâncias do Amazon EC2 em execução em qualquer um dos tipos de instância removidos. O grupo d Auto Scaling do seu ambiente executa novas instâncias, conforme necessário, para completar a capacidade desejada, usando os tipos de instância especificados atuais.

O namespace [`aws:ec2:instances`](command-options-general.md#command-options-general-ec2instances) fornece opções relacionadas às instâncias do ambiente, incluindo o gerenciamento de instância spot. Ele complementa [`aws:autoscaling:launchconfiguration`](command-options-general.md#command-options-general-autoscalinglaunchconfiguration) e [`aws:autoscaling:asg`](command-options-general.md#command-options-general-autoscalingasg).

O exemplo a seguir de [arquivo de configuração](ebextensions.md) configura o grupo do Auto Scaling para habilitar solicitações de instância spot para seu ambiente. Ele designa três tipos de instância possíveis que podem ser usados. Pelo menos uma instância sob demanda é usadapara capacidade de linha de base, e um percentual sustentado de 33% de instâncias sob demanda é usado para qualquer capacidade adicional. 

A configuração define a [estratégia de alocação spot](environments-cfg-autoscaling-spot-allocation-strategy.md) como `capacity-optimized-prioritized`. Essa estratégia de alocação específica prioriza as inicializações de instâncias do grupo com base na ordem dos tipos de instância especificados na opção `InstanceTypes`. Se `SpotAllocationStrategy` não for especificado, o padrão será `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 escolher os tipos de instância spot, use o [Spot Instance Advisor](https://aws.amazon.com/ec2/spot/instance-advisor/).

**Importante**  
A configuração da opção `EnableSpot` pode fazer com que o Elastic Beanstalk migre um ambiente existente com configurações de lançamento para modelos de lançamento. Para isso, é necessário ter as permissões necessárias para gerenciar modelos de lançamento. Essas permissões estão incluídas em nossa política gerenciada. Se você usar políticas personalizadas em vez de nossas políticas gerenciadas, a criação ou as atualizações do ambiente poderão falhar quando você atualizar a configuração do ambiente. Para obter mais informações e outras considerações, consulte [Migrar o ambiente do Elastic Beanstalk para modelos de lançamento](environments-cfg-autoscaling-launch-templates.md).

## Configuração usando o AWS CLI
<a name="environments-cfg-autoscaling-aws-cli"></a>

Esta seção fornece exemplos de como você pode usar o comando AWS CLI [create-environment para configurar seu ambiente](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/create-environment.html) com as opções Auto Scaling e Capacity descritas nessas seções. Você notará que as configurações de namespace para [`aws:autoscaling:asg`](command-options-general.md#command-options-general-autoscalingasg) e [`aws:ec2:instances`](command-options-general.md#command-options-general-ec2instances), conforme descrito na seção anterior de [opções de configuração de namespace](#environments-cfg-autoscaling-namespace), também estão definidas com esse exemplo.

A interface de linha de AWS comando fornece comandos para criar e configurar ambientes do Elastic Beanstalk. Com a opção `--option-settings`, você pode transmitir opções de namespace compatíveis com o Elastic Beanstalk. Isso significa que as [opções de configuração do namespace](#environments-cfg-autoscaling-namespace) descritas anteriormente podem ser passadas para AWS CLI comandos aplicáveis para configurar seu ambiente do Elastic Beanstalk.

**nota**  
Você também pode usar o comando [update-environment](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/update-environment.html) com `--option-settings` para adicionar ou atualizar opções de namespace. Se você precisar remover qualquer opção de namespace do seu ambiente, use o **update-environment** comando com `--options-to-remove`.

O exemplo a seguir cria um novo ambiente.₢ Consulte o tópico anterior [Opções de configuração de namespace](#environments-cfg-autoscaling-namespace) para obter mais contexto sobre as opções que são passadas.

A primeira opção listada, `IamInstanceProfile` no namespace [aws:autoscaling:launchconfiguration](command-options-general.md#command-options-general-autoscalinglaunchconfiguration), é o [perfil da instância](concepts-roles-instance.md) do Elastic Beanstalk. Ele é necessário ao criar um novo ambiente.

**Example — create-environment com opções do Auto Scaling (opções de namespace inline)**  

```
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**  
A configuração da opção `EnableSpot` pode fazer com que o Elastic Beanstalk migre um ambiente existente com configurações de lançamento para modelos de lançamento. Para isso, é necessário ter as permissões necessárias para gerenciar modelos de lançamento. Essas permissões estão incluídas em nossa política gerenciada. Se você usar políticas personalizadas em vez de nossas políticas gerenciadas, a criação ou as atualizações do ambiente poderão falhar quando você atualizar a configuração do ambiente. Para obter mais informações e outras considerações, consulte [Migrar o ambiente do Elastic Beanstalk para modelos de lançamento](environments-cfg-autoscaling-launch-templates.md).





Outra opção é usar um arquivo `options.json` para especificar as opções de namespace em vez de incluí-las inline.

**Example —create-environment com opções do Auto Scaling (opções de namespace no arquivo `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**  

```
### 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"
    }
]
```

## Configuração usando a EB CLI
<a name="environments-cfg-autoscaling-ebcli"></a>

Ao criar um ambiente usando o comando [**eb create**](eb3-create.md), você pode especificar algumas opções relacionadas ao grupo do Auto Scaling no seu ambiente. Essas são algumas das opções que ajudam você a controlar a capacidade do seu ambiente.

`--single`  
Cria o ambiente com uma instância do Amazon EC2 e nenhum balanceador de carga. Se você não usa essa opção, um balanceador de carga é adicionado ao ambienteque é criado.

`--enable-spot`  
Habilita solicitações de instância spot para seu ambiente.  
A configuração da opção `enable-spot` pode fazer com que o Elastic Beanstalk migre um ambiente existente com configurações de lançamento para modelos de lançamento. Para isso, é necessário ter as permissões necessárias para gerenciar modelos de lançamento. Essas permissões estão incluídas em nossa política gerenciada. Se você usar políticas personalizadas em vez de nossas políticas gerenciadas, a criação ou as atualizações do ambiente poderão falhar quando você atualizar a configuração do ambiente. Para obter mais informações e outras considerações, consulte [Migrar o ambiente do Elastic Beanstalk para modelos de lançamento](environments-cfg-autoscaling-launch-templates.md).
As opções a seguir para o comando [**eb create**](eb3-create.md) podem ser utilizadas somente com `--enable-spot`.    
`--instance-types`  
Lista os tipos de instâncias do Amazon EC2 que você deseja que seu ambiente use.  
`--spot-max-price`  
O preço máximo por hora, em USD, que você está disposto a pagar por uma instância spot. Para recomendações sobre opções de preço máximo para instâncias Spot, consulte [Histórico de preços de instâncias Spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html), no *Guia do usuário do Amazon EC2*.  
`--on-demand-base-capacity`  
O número mínimo de instâncias sob demanda que o grupo de Auto Scaling provisiona antes de considerar as instâncias spot à medida que o ambiente é dimensionado.  
`--on-demand-above-base-capacity`  
A porcentagem de instâncias sob demanda como parte da capacidade adicional que o grupo de Auto Scaling provisiona além do número de instâncias especificado pela opção `--on-demand-base-capacity`.

O exemplo a seguir cria um ambiente e configura o grupo de Auto Scaling para habilitar solicitações de instância spot para o novo ambiente. Para este exemplo, três tipos de instância podem ser usados.

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

**Importante**  
Há outra opção nomeada de forma semelhante chamada `--instance-type` (sem "s") que a EB CLI reconhece somente ao processar instâncias sob demanda. Não use `--instance-type` (sem "s") com a opção `--enable-spot`. Se você fizer isso, a EB CLI o ignorará. Em vez disso, use `--instance-types` (com "s") com a opção `--enable-spot`. 