

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

# Habilitação do rebalanceamento de capacidade para substituir proativamente as instâncias spot em risco
<a name="enable-capacity-rebalancing-console-cli"></a>

Você pode usar o Console de gerenciamento da AWS ou AWS CLI para ativar o rebalanceamento de capacidade para seu grupo de Auto Scaling. Quando o rebalanceamento de capacidade está habilitado, o Amazon EC2 Auto Scaling tenta substituir proativamente as instâncias spot no seu grupo que receberam uma recomendação de rebalanceamento de instância do EC2.

## Habilitar o rebalanceamento de capacidade (console)
<a name="enable-capacity-rebalancing-console"></a>

Você pode habilitar ou desabilitar o rebalanceamento de capacidade quando cria ou atualiza um grupo do Auto Scaling.

**Para habilitar o rebalanceamento de capacidade para um novo grupo do Auto Scaling**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)e escolha **Auto Scaling Groups** no painel de navegação.

1. Selecione **Criar grupo do Auto Scaling**.

1. Para **Etapa 1: escolher modelo de execução ou configuração**, insira um nome para o grupo do Auto Scaling, escolha um modelo de execução e escolha **Próximo** para prosseguir para a próxima etapa.

1. Para a **Etapa 2: escolha as opções de execução da instância**, em **Requisitos do tipo de instância**, escolha as configurações para criar um grupo misto de instâncias. Isso inclui os tipos de instância que ele pode lançar, as opções de compra de instâncias e as estratégias de alocação para instâncias sob demanda e spot. Por padrão, essas configurações não estão definidas. Para configurá-las, é necessário selecionar **Override launch template** (Substituir modelo de execução). Para obter mais informações sobre como criar um grupo de instâncias mistas, consulte [Grupos do Auto Scaling com vários tipos de instâncias e opções de compra](ec2-auto-scaling-mixed-instances-groups.md).

1. Em **Rede**, escolha as opções desejadas. Verifique se as sub-redes que você deseja utilizar se encontram em diferentes zonas de disponibilidade.

1. Na seção **Estratégias de alocação**, escolha uma estratégia de alocação spot. Ative ou desative o rebalanceamento de capacidade marcando ou desmarcando a caixa de seleção em **Rebalanceamento de capacidade**. Você só vê essa opção quando solicita que uma porcentagem do grupo do Auto Scaling seja iniciada como instâncias spot na seção **Opções de compra de instância**.

1. Crie o grupo do Auto Scaling.

1. (Opcional) Adicione gancho do ciclo de vida conforme necessário. Para obter mais informações, consulte [Preparar para adicionar um gancho do ciclo de vida a um grupo do Auto Scaling](adding-lifecycle-hooks.md).

**Para ativar ou desativar o reequilíbrio de capacidade para um grupo existente do Auto Scaling**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)e escolha **Auto Scaling Groups** no painel de navegação.

1. Marque a caixa de seleção ao lado do seu grupo do Auto Scaling. Um painel dividido é aberto na parte inferior da página. 

1. Na guia **Details** (Detalhes), escolha **Allocation strategies** (Estratégias de alocação), **Edit** (Editar).

1. Na seção **Estratégias de alocação**, ative ou desative o rebalanceamento de capacidade marcando ou desmarcando a caixa de seleção em **Rebalanceamento de capacidade.** 

1. Selecione **Atualizar**.

## Habilitar o rebalanceamento de capacidade (AWS CLI)
<a name="enable-capacity-rebalancing-aws-cli"></a>

Os exemplos a seguir mostram como usar o AWS CLI para ativar e desativar o rebalanceamento de capacidade. 

Use o [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)comando [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)ou com o seguinte parâmetro: 
+ `--capacity-rebalance` / `--no-capacity-rebalance`: - valor booleano que indica se o rebalanceamento de capacidade está habilitado.

Antes de chamar o [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando, você precisa do nome de um modelo de execução configurado para uso com um grupo de Auto Scaling. Para obter mais informações, consulte [Criar um modelo de execução para um grupo do Auto Scaling](create-launch-template.md). 

**nota**  
Os procedimentos a seguir mostram como usar um arquivo de configuração formatado em JSON ou YAML. Se você usar a AWS CLI versão 1, deverá especificar um arquivo de configuração formatado em JSON. Se você usar a AWS CLI versão 2, poderá especificar um arquivo de configuração formatado em YAML ou JSON.

### JSON
<a name="enable-capacity-rebalancing-aws-cli-json"></a>

**Para criar e configurar um novo grupo do Auto Scaling**
+ Use o [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando a seguir para criar um novo grupo de Auto Scaling e ativar o rebalanceamento de capacidade. Este comando faz referência a um arquivo JSON como único parâmetro para seu grupo de Auto Scaling.

  ```
  aws autoscaling create-auto-scaling-group --cli-input-json {{file://~/config.json}}
  ```

  Se você ainda não possui um arquivo de configuração da CLI que especifique uma [política de instâncias mistas](ec2-auto-scaling-mixed-instances-groups.md), crie um.

  Adicione a entrada a seguir ao objeto JSON de nível superior no arquivo de configuração. 

  ```
  {
      "CapacityRebalance": true
  }
  ```

  Veja a seguir um exemplo de arquivo `config.json`. 

  ```
  {
      "AutoScalingGroupName": "{{my-asg}}",
      "DesiredCapacity": {{12}},
      "MinSize": {{12}},
      "MaxSize": {{15}},
      "CapacityRebalance": true,
      "MixedInstancesPolicy": {
          "InstancesDistribution": {
              "OnDemandBaseCapacity": {{0}},
              "OnDemandPercentageAboveBaseCapacity": {{25}},
              "SpotAllocationStrategy": "price-capacity-optimized"
          },
          "LaunchTemplate": {
              "LaunchTemplateSpecification": {
                  "LaunchTemplateName": "{{my-launch-template}}",
                  "Version": "{{$Default}}"
              },
              "Overrides": [
                  {
                      "InstanceType": "{{c5.large}}"
                  },
                  {
                      "InstanceType": "{{c5a.large}}"
                  },
                  {
                      "InstanceType": "{{m5.large}}"
                  },
                  {
                      "InstanceType": "{{m5a.large}}"
                  },
                  {
                      "InstanceType": "{{c4.large}}"
                  },
                  {
                      "InstanceType": "{{m4.large}}"
                  },
                  {
                      "InstanceType": "{{c3.large}}"
                  },
                  {
                      "InstanceType": "{{m3.large}}"
                  }
              ]
          }
      },
      "TargetGroupARNs": "{{arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-alb-target-group/943f017f100becff}}",
      "VPCZoneIdentifier": "{{subnet-5ea0c127}},{{subnet-6194ea3b}},{{subnet-c934b782}}"
  }
  ```

### YAML
<a name="enable-capacity-rebalancing-aws-cli-yaml"></a>

**Para criar e configurar um novo grupo do Auto Scaling**
+ Use o [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando a seguir para criar um novo grupo de Auto Scaling e ativar o rebalanceamento de capacidade. Este comando faz referência a um arquivo YAML como único parâmetro para seu grupo do Auto Scaling.

  ```
  aws autoscaling create-auto-scaling-group --cli-input-yaml {{file://~/config.yaml}}
  ```

  Adicione a linha a seguir ao arquivo de configuração formatado em YAML.

  ```
  CapacityRebalance: true
  ```

  Veja a seguir um exemplo de arquivo `config.yaml`. 

  ```
  ---
  AutoScalingGroupName: {{my-asg}}
  DesiredCapacity: {{12}}
  MinSize: {{12}}
  MaxSize: {{15}}
  CapacityRebalance: true
  MixedInstancesPolicy:
    InstancesDistribution:
      OnDemandBaseCapacity: {{0}}
      OnDemandPercentageAboveBaseCapacity: {{25}}
      SpotAllocationStrategy: price-capacity-optimized
    LaunchTemplate:
      LaunchTemplateSpecification:
        LaunchTemplateName: {{my-launch-template}}
        Version: {{$Default}}
      Overrides:
      - InstanceType: {{c5.large}}
      - InstanceType: {{c5a.large}}
      - InstanceType: {{m5.large}}
      - InstanceType: {{m5a.large}}
      - InstanceType: {{c4.large}}
      - InstanceType: {{m4.large}}
      - InstanceType: {{c3.large}}
      - InstanceType: {{m3.large}}
  TargetGroupARNs:
  - {{arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-alb-target-group/943f017f100becff}}
  VPCZoneIdentifier: {{subnet-5ea0c127}},{{subnet-6194ea3b}},{{subnet-c934b782}}
  ```

**Para habilitar o rebalanceamento de capacidade para um grupo do Auto Scaling existente**
+ Use o [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)comando a seguir para ativar o rebalanceamento de capacidade.

  ```
  aws autoscaling update-auto-scaling-group --auto-scaling-group-name {{my-asg}} \
    --capacity-rebalance
  ```

**Para verificar se o rebalanceamento de capacidade está habilitado para um grupo do Auto Scaling**
+ Use o [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html)comando a seguir para verificar se o rebalanceamento de capacidade está ativado e para ver os detalhes. 

  ```
  aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name {{my-asg}}
  ```

  O seguinte é um exemplo de resposta.

  ```
  {
      "AutoScalingGroups": [
          {
              "AutoScalingGroupName": "my-asg",
              "AutoScalingGroupARN": "{{arn}}",
              ...
              "CapacityRebalance": true
          }
      ]
  }
  ```

**Para desabilitar o rebalanceamento de capacidade**  
Use o [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)comando com a `--no-capacity-rebalance` opção de desativar o rebalanceamento de capacidade.

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name {{my-asg}} \
  --no-capacity-rebalance
```

## Recursos relacionados
<a name="capacity-rebalancing-related-resources"></a>

Para obter mais informações sobre o rebalanceamento de capacidade, consulte [Gerenciar proativamente o ciclo de vida da instância spot usando o novo recurso de rebalanceamento de capacidade para Amazon EC2 Auto Scaling](https://aws.amazon.com/blogs/compute/proactively-manage-spot-instance-lifecycle-using-the-new-capacity-rebalancing-feature-for-ec2-auto-scaling/) no blog Compute. AWS 

Para obter mais informações sobre as recomendações de rebalanceamento de instâncias do [EC2, consulte Recomendações de rebalanceamento](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/rebalance-recommendations.html) de *instâncias do EC2 no Guia do usuário do Amazon EC2*.

Para saber mais sobre ganchos do ciclo de vida, consulte os recursos a seguir.
+ [Tutorial: Configurar um gancho do ciclo de vida que invoca uma função do Lambda](tutorial-lifecycle-hook-lambda.md)(usando EventBridge)
+ [Tutorial: Usar script de dados e metadados de instância para recuperar o estado do ciclo de vida](tutorial-lifecycle-hook-instance-metadata.md)

## Limitações
<a name="capacity-rebalancing-limitations"></a>
+ O Amazon EC2 Auto Scaling poderá substituir a instância que recebe a notificação de rebalanceamento somente se a instância não estiver protegida contra redução vertical. No entanto, a proteção escalável não impede o encerramento de uma interrupção Spot. Para obter mais informações, consulte [Use a proteção de redução da escala horizontalmente da instância para controlar a terminação da instância](ec2-auto-scaling-instance-protection.md).
+ O suporte para reequilíbrio de capacidade está disponível em todas as áreas comerciais Regiões da AWS onde o Amazon EC2 Auto Scaling está disponível, exceto na região do Oriente Médio (Emirados Árabes Unidos).