

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

# Definir o aquecimento padrão da instância para um grupo do Auto Scaling
<a name="ec2-auto-scaling-default-instance-warmup"></a>

CloudWatch coleta e agrega dados de uso, como CPU e E/S de rede, em suas instâncias do Auto Scaling. Use essas métricas para criar políticas de escalabilidade que ajustam o número de instâncias no grupo do Auto Scaling à medida que o valor da métrica selecionada aumenta e diminui.

O aquecimento padrão da instância permite que você especifique quanto tempo depois de uma instância atingir o estado `InService` ela espera antes de contribuir com dados de uso para as métricas agregadas. Esse tempo especificado é chamado de *aquecimento padrão da instância*. Isso impede que a escalabilidade dinâmica seja afetada por métricas para instâncias individuais que ainda não estão lidando com o tráfego de aplicações e que podem estar passando temporariamente por um uso alto de recursos de computação. 

Para otimizar o desempenho de suas políticas de escalabilidade de destino e de escalabilidade de etapas, é altamente recomendável habilitar o aquecimento padrão da instância. Ele não está ativado nem configurado por padrão. 

Se seu grupo do Auto Scaling estiver configurado para usar uma política de manutenção de instâncias ou se você usa uma atualização de instância para substituir instâncias, você também pode evitar que as instâncias sejam contabilizadas na porcentagem íntegra mínima antes de terminarem de inicializar quando você habilita o aquecimento padrão da instância. 

**Topics**
+ [Considerações sobre o desempenho de escalabilidade](#scaling-performance-considerations)
+ [Escolha o tempo para o aquecimento de instância padrão](#choose-the-default-instance-warmup)
+ [Habilitar o aquecimento de instância padrão para um grupo](enable-default-instance-warmup.md)
+ [Verificar o aquecimento de instância padrão para um grupo](verify-default-instance-warmup.md)
+ [Encontre políticas de escalabilidade com um tempo de aquecimento da instância definido anteriormente](find-policies-with-a-previously-set-instance-warmup.md)
+ [Limpe o aquecimento da instância definido anteriormente para uma política de escalabilidade](clearing-the-previously-set-instance-warmup.md)

## Considerações sobre o desempenho de escalabilidade
<a name="scaling-performance-considerations"></a>

A maioria das aplicações se beneficiará de ter um tempo de aquecimento de instância padrão que se aplica a todos os atributos, em vez de tempos de aquecimento diferentes para atributos diferentes. Por exemplo, se você não definir um aquecimento padrão da instância, o atributo de atualização da instância usará o período de carência da verificação de integridade como o tempo de aquecimento padrão. Se você tiver alguma política de rastreamento de destino e escalabilidade de etapas, ela usará o valor definido para o tempo de desaquecimento padrão como o tempo de aquecimento padrão. Se você tiver alguma política de escalabilidade preditiva, ela não terá um tempo de aquecimento padrão. 

Enquanto as instâncias estiverem no período de aquecimento, suas políticas dinâmicas de escalabilidade só aumentarão a escala horizontalmente se o valor da métrica de instâncias que não estiver aquecendo for maior do que o limite alto de alarme da política (ou a utilização do target de uma política de escalabilidade com rastreamento do destino). Se a demanda aumentar, a intenção será reduzir a escala na horizontal de forma conservadora para proteger a disponibilidade de sua aplicação. Isto bloqueia a redução da escala horizontalmente para escalabilidade dinâmica até que as instâncias terminem de aquecer. 

Ao aumentar a escala horizontalmente, o Amazon EC2 Auto Scaling considera as instâncias que estão em aquecimento como parte da capacidade do grupo ao decidir quantas instâncias adicionar ao grupo. Portanto, várias violações de alarme que exigem a adição de uma quantidade semelhante de capacidade resultam em uma única atividade de escala. A intenção é expandir de forma contínua (mas não excessivamente).

Se o aquecimento padrão da instância não estiver ativado, a quantidade de tempo que uma instância espera antes de enviar métricas CloudWatch e contá-las para a capacidade atual variará de instância para instância. Nesse caso, existe a possibilidade de suas políticas de escalabilidade funcionarem de forma imprevisível em comparação com o workload real que está ocorrendo. 

Por exemplo, considere um aplicativo com um padrão de on-and-off carga de trabalho recorrente. Uma política de escalabilidade preditiva é usada para tomar decisões recorrentes sobre o aumento do número de instâncias. Como não há um tempo de aquecimento padrão para as políticas de escalabilidade preditiva, as instâncias começam a contribuir imediatamente para as métricas agregadas. Se essas instâncias tiverem maior uso de recursos no startup, a adição de instâncias poderá fazer com que as métricas agregadas tenham um pico. Dependendo do tempo necessário para o uso se estabilizar, isso pode afetar qualquer política de escalabilidade dinâmica que use essas métricas. Se o limite alto de alarme de uma política de escalabilidade dinâmica for violado, o grupo aumentará de tamanho novamente. Enquanto as novas instâncias estiverem se aquecendo, as atividades para reduzir a escala horizontalmente serão bloqueadas.

## Escolha o tempo para o aquecimento de instância padrão
<a name="choose-the-default-instance-warmup"></a>

A chave para definir o aquecimento padrão da instância é determinar quanto tempo suas instâncias precisam terminar a inicialização e para que o consumo de recursos se estabilize após atingirem o estado`InService`. Ao escolher um tempo de aquecimento da instância, procure um equilíbrio ideal entre coletar dados de uso para tráfego legítimo, mas minimizando a coleta de dados associada a picos de uso temporário no startup. 

Suponha que você tenha um grupo do Auto Scaling vinculado a um balanceador de carga do Elastic Load Balancing. Quando as instâncias concluem seu lançamento, elas são vinculadas ao balanceador de carga antes de entrarem no estado `InService`. Depois que as instâncias entram no estado `InService`, o consumo de recursos ainda pode passar por picos temporários e precisar de tempo para se estabilizar. Por exemplo, o consumo de recursos para um servidor de aplicações que precisa baixar ativos grandes e armazená-los em cache leva mais tempo para se estabilizar do que um servidor Web leve e sem ativos grandes para baixar. O aquecimento de instâncias fornece o tempo de atraso necessário para que o consumo de recursos se estabilize. 

**Importante**  
Se você não tiver certeza de quanto tempo precisa para o aquecimento, pode começar com 300 segundos. Em seguida, diminua ou aumente gradualmente até obter o melhor desempenho de escala para sua aplicação. Talvez você precise fazer isso algumas vezes para obter os resultados desejados. Como alternativa, se você tiver alguma política de escalabilidade que tenha seu próprio tempo de aquecimento (`EstimatedInstanceWarmup`), poderá usar esse valor para começar. Para obter mais informações, consulte [Encontre políticas de escalabilidade com um tempo de aquecimento da instância definido anteriormente](find-policies-with-a-previously-set-instance-warmup.md).

Também é necessário considerar o uso de ganchos do ciclo de vida para casos de uso em que você tem tarefas de configuração ou scripts para executar no startup. Os ganchos do ciclo de vida também podem atrasar a colocação de instâncias em serviço até que elas tenham concluído a inicialização. Eles são especialmente úteis se você tiver scripts de bootstrapping que demoram um pouco para serem concluídos. Se você adicionar um gancho do ciclo de vida, será possível reduzir o valor do aquecimento de instância padrão. Para obter mais informações sobre hooks de ciclo de vida, consulte [Ganchos do ciclo de vida do Amazon EC2 Auto Scaling](lifecycle-hooks.md).

# Habilitar o aquecimento de instância padrão para um grupo
<a name="enable-default-instance-warmup"></a>

É possível habilitar o aquecimento padrão da instância ao criar um grupo do Auto Scaling. Também é possível habilitar para grupos existentes. 

Ao habilitar o atributo de aquecimento de instância padrão, não é mais necessário especificar valores de parâmetros de aquecimento para os seguintes recursos:
+ [Atualização de instância](instance-refresh-overview.md#instance-refresh-core-concepts)
+ [Escalabilidade de rastreamento de destino](as-scaling-target-tracking.md#as-target-tracking-scaling-warmup)
+ [Escalabilidade em etapas](as-scaling-simple-step.md#as-step-scaling-warmup)

------
#### [ Console ]

**Para habilitar o aquecimento de instância padrão para um novo grupo (console)**  
Ao criar o grupo do Auto Scaling, na página **Configure advanced options** (Configurar opções avançadas), em **Additional settings** (Configurações adicionais), selecione a opção **Enable default instance warmup** (Habilitar aquecimento de instância padrão). Escolha o tempo de aquecimento necessário para sua aplicação.

------
#### [ AWS CLI ]

**Para habilitar o aquecimento de instância padrão para um novo grupo (AWS CLI)**  
Para habilitar o aquecimento de instância padrão para um grupo do Auto Scaling, adicione a opção `--default-instance-warmup` e especifique um valor, em segundos, de 0 a 3600. Depois de habilitado, um valor de `-1` desativará essa configuração.

O [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando a seguir cria um grupo de Auto Scaling com o nome *my-asg* e ativa o aquecimento padrão da instância com um valor de segundos. *120*

```
aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --default-instance-warmup 120 ...
```

**dica**  
Se esse comando gerar um erro, verifique se você atualizou o AWS CLI localmente para a versão mais recente.

------

------
#### [ Console ]

**Para habilitar o aquecimento de instância padrão para um grupo existente (console)**

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. Na barra de navegação na parte superior da tela, escolha a mesma Região da AWS na qual você criou o grupo do Auto Scaling.

1. Marque a caixa de seleção ao lado do grupo do Auto Scaling.

   Um painel dividido é aberto na parte inferior da página. 

1. Na guia **Detalhes**, escolha **Configurações avançadas**, **Editar**.

1. Em **Default instance warmup** (Aquecimento de instância padrão), escolha o tempo de aquecimento necessário para sua aplicação.

1. Selecione **Atualizar**.

------
#### [ AWS CLI ]

**Para habilitar o aquecimento de instância padrão para um grupo existente (AWS CLI)**  
O exemplo a seguir usa o [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)comando para ativar o aquecimento padrão da instância com um valor de *120* segundos para um grupo de Auto Scaling existente chamado. *my-asg*

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --default-instance-warmup 120
```

**dica**  
Se esse comando gerar um erro, verifique se você atualizou o AWS CLI localmente para a versão mais recente.

------

# Verificar o aquecimento de instância padrão para um grupo
<a name="verify-default-instance-warmup"></a>

Use o procedimento a seguir para verificar o tempo de aquecimento padrão da instância para um grupo do Auto Scaling usando a função AWS CLI.

**Para verificar o aquecimento padrão da instância para um grupo do Auto Scaling ()**  
Use o seguinte comando [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html): *my-asg*Substitua pelo nome do seu grupo de Auto Scaling.

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

O seguinte é um exemplo de resposta.

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

# Encontre políticas de escalabilidade com um tempo de aquecimento da instância definido anteriormente
<a name="find-policies-with-a-previously-set-instance-warmup"></a>

Para identificar se você tem políticas que têm seu próprio tempo de aquecimento para,`EstimatedInstanceWarmup` execute o seguinte comando [describe-policies](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-policies.html) usando o AWS CLI. *my-asg*Substitua pelo nome do seu grupo de Auto Scaling.

```
aws autoscaling describe-policies --auto-scaling-group-name my-asg
  --query 'ScalingPolicies[?EstimatedInstanceWarmup!=`null`]'
```

O seguinte é um exemplo de saída. 

```
[
  {
    "AutoScalingGroupName":"my-asg",
    "PolicyName":"cpu50-target-tracking-scaling-policy",
    "PolicyARN":"arn",
    "PolicyType":"TargetTrackingScaling",
    "StepAdjustments":[],
    "EstimatedInstanceWarmup":120,
    "Alarms":[{
        "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e",
        "AlarmName": "TargetTracking-my-asg-AlarmHigh-fc0e4183-23ac-497e-9992-691c9980c38e"
      },
      {
            "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2",
            "AlarmName": "TargetTracking-my-asg-AlarmLow-61a39305-ed0c-47af-bd9e-471a352ee1a2"
    }],
    "TargetTrackingConfiguration":{
      "PredefinedMetricSpecification":{
        "PredefinedMetricType":"ASGAverageCPUUtilization"
      },
      "TargetValue":50.0,
      "DisableScaleIn":false
    },
    "Enabled":true
  },
  
    ... additional policies ...
                        
]
```

# Limpe o aquecimento da instância definido anteriormente para uma política de escalabilidade
<a name="clearing-the-previously-set-instance-warmup"></a>

Depois de ativar o aquecimento padrão da instância, atualize todas as políticas de escalabilidade que ainda tenham seu próprio tempo de aquecimento para limpar o valor definido anteriormente. Caso contrário, ele substituirá o aquecimento padrão da instância.

Você pode atualizar as políticas de escalabilidade usando o console, AWS CLI, ou AWS SDKs. Esta seção aborda as etapas do console. Se você usar o AWS CLI ou AWS SDKs, certifique-se de preservar a configuração de política existente, mas remova a `EstimatedInstanceWarmup` propriedade. Quando você atualiza uma política de escalabilidade existente, a política será substituída pelo que você especifica ao chamar programaticamente. [PutScalingPolicy](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PutScalingPolicy.html) Os valores originais não são mantidos.

**Para limpar o aquecimento da instância definido anteriormente para uma política de escalabilidade (console)**

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 grupo do Auto Scaling. 

   Um painel dividido é aberto na parte inferior da página.

1. Na guia **Escabilidade automática**, em **Políticas de escalabilidade dinâmica**, escolha a política na qual você está interessado e, em seguida, escolha **Ações**, **Editar**.

1. Em **Aquecimento da instância**, limpe o valor de aquecimento da instância para usar o valor padrão de aquecimento da instância.

1. Selecione **Atualizar**.