

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

# Substituir valores de previsão usando ações programadas
<a name="predictive-scaling-overriding-forecast-capacity"></a>

Às vezes, você pode ter informações adicionais sobre seus futuros requisitos de aplicações que o cálculo de previsão não pode levar em conta. Por exemplo, os cálculos de previsão podem subestimar a capacidade necessária para um evento de marketing futuro. Você pode usar ações programadas para substituir temporariamente a previsão durante períodos futuros. As ações programadas podem ser executadas de forma recorrente ou em uma data e hora específicas quando houver flutuações de demanda únicas. 

Por exemplo, você pode criar uma ação programada com uma capacidade mínima maior do que a prevista. Em runtime, o Amazon EC2 Auto Scaling atualiza a capacidade mínima do grupo do Auto Scaling. Como a escalabilidade preditiva otimiza a capacidade, uma ação agendada com uma capacidade mínima maior que os valores de previsão é honrada. Isso impede que a capacidade seja menor do que o esperado. Para interromper a substituição da previsão, use uma segunda ação programada para retornar a capacidade mínima à configuração original.

O procedimento a seguir descreve as etapas necessárias para substituir a previsão durante períodos futuros. 

**Topics**
+ [Etapa 1: (Opcional) Analisar dados de séries temporais](#analyzing-time-series-data)
+ [Etapa 2: Criar duas ações programadas](#scheduling-capacity)

**Importante**  
Este tópico pressupõe que você esteja tentando substituir a previsão para escalar para uma capacidade maior do que a prevista. Se você precisar diminuir temporariamente a capacidade sem interferência de uma política de escala preditiva, use o modo *somente de previsão*. Enquanto estiver no modo somente de previsão, a escala preditiva continuará a gerar previsões, mas não aumentará automaticamente a capacidade. Em seguida, você pode monitorar a utilização dos recursos e diminuir manualmente o tamanho do grupo, conforme necessário. Para obter mais informações sobre a escalabilidade manual, consulte [Escalabilidade manual para o Amazon EC2 Auto Scaling](ec2-auto-scaling-scaling-manually.md). 

## Etapa 1: (Opcional) Analisar dados de séries temporais
<a name="analyzing-time-series-data"></a>

Comece analisando os dados de séries temporais de previsão. Essa é uma etapa opcional, mas é útil quando você deseja entender os detalhes da previsão.

1. **Recuperar a previsão**

   Após a criação da previsão, é possível consultar um período específico na previsão. O objetivo da consulta é obter uma visão completa dos dados de séries temporais para um período específico. 

   Sua consulta pode incluir até dois dias de dados de previsão futura. Se você usa a escalabilidade preditiva há algum tempo, também pode acessar seus dados de previsão anteriores. No entanto, a duração máxima de tempo entre as horas inicial e final é de 30 dias. 

   Para obter a previsão usando o [get-predictive-scaling-forecast](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/get-predictive-scaling-forecast.html) AWS CLI comando, forneça os seguintes parâmetros no comando: 
   + Insira o nome do grupo do Auto Scaling no parâmetro `--auto-scaling-group-name`. 
   + Insira o nome da política no parâmetro `--policy-name`. 
   + Insira a hora de início no parâmetro `--start-time` para retornar apenas os dados de previsão para depois ou no horário especificado.
   + Insira a hora de término no parâmetro `--end-time` para retornar apenas os dados de previsão para antes do horário especificado. 

   ```
   aws autoscaling get-predictive-scaling-forecast --auto-scaling-group-name my-asg \
       --policy-name cpu40-predictive-scaling-policy \
       --start-time "2021-05-19T17:00:00Z" \
       --end-time "2021-05-19T23:00:00Z"
   ```

   Se bem-sucedido, o comando retornará uma resposta semelhante à seguinte. 

   ```
   {
       "LoadForecast": [
           {
               "Timestamps": [
                   "2021-05-19T17:00:00+00:00",
                   "2021-05-19T18:00:00+00:00",
                   "2021-05-19T19:00:00+00:00",
                   "2021-05-19T20:00:00+00:00",
                   "2021-05-19T21:00:00+00:00",
                   "2021-05-19T22:00:00+00:00",
                   "2021-05-19T23:00:00+00:00"
               ],
               "Values": [
                   153.0655799339254,
                   128.8288551285919,
                   107.1179447150675,
                   197.3601844551528,
                   626.4039934516954,
                   596.9441277518481,
                   677.9675713779869
               ],
               "MetricSpecification": {
                   "TargetValue": 40.0,
                   "PredefinedMetricPairSpecification": {
                       "PredefinedMetricType": "ASGCPUUtilization"
                   }
               }
           }
       ],
       "CapacityForecast": {
           "Timestamps": [
               "2021-05-19T17:00:00+00:00",
               "2021-05-19T18:00:00+00:00",
               "2021-05-19T19:00:00+00:00",
               "2021-05-19T20:00:00+00:00",
               "2021-05-19T21:00:00+00:00",
               "2021-05-19T22:00:00+00:00",
               "2021-05-19T23:00:00+00:00"
           ],
           "Values": [
               2.0,
               2.0,
               2.0,
               2.0,
               4.0,
               4.0,
               4.0
           ]
       },
       "UpdateTime": "2021-05-19T01:52:50.118000+00:00"
   }
   ```

   A resposta inclui duas previsões: `LoadForecast` e `CapacityForecast`. `LoadForecast` mostra a previsão de carga horária. `CapacityForecast` mostra os valores de previsão para a capacidade que é necessária em uma base horária para lidar com a carga prevista enquanto mantém um `TargetValue` de 40,0 (40% de utilização média da CPU).

1. **Identificar o período-alvo**

   Identifique a hora ou horas em que a flutuação de demanda única deverá ocorrer. Lembre-se de que as datas e os horários mostrados na previsão estão em UTC.

## Etapa 2: Criar duas ações programadas
<a name="scheduling-capacity"></a>

Em seguida, crie duas ações programadas para um período específico em que sua aplicação terá uma carga maior do que a prevista. Por exemplo, se você tiver um evento de marketing que irá direcionar o tráfego para seu site por um período limitado, poderá programar uma ação única para atualizar a capacidade mínima quando ele começar. Em seguida, agende outra ação para retornar a capacidade mínima para a configuração original quando o evento terminar. 

**Para criar duas ações programadas para eventos únicos (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 seu grupo do Auto Scaling.

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

1. Na guia **Automatic scaling (Escalabilidade automática)**, em **Scheduled actions (Ações programadas)**, escolha **Create scheduled action (Criar ação programada)**.

1. Preencha as seguintes configurações de ações programadas:

   1. Insira um **Name** (Nome) para a ação programada.

   1. Em **Min** (Mínima) insira a nova capacidade mínima para seu grupo do Auto Scaling. A capacidade **Min** (Mínima) deve ser menor ou igual ao tamanho máximo do grupo. Se o valor de **Min** (Mínima) for maior que o tamanho máximo do grupo, será necessário atualizar o valor de **Max** (Máxima). 

   1. Em **Recurrence (Recorrência)**, escolha **Once (Uma vez)**.

   1. Em **Time zone** (Fuso horário), escolha um fuso horário. Se nenhum fuso horário for escolhido, `ETC/UTC` será usado por padrão.

   1. Defina uma **Specific start time** (Hora de início específica). 

1. Escolha **Criar**.

   O console exibe as ações programadas para o grupo do Auto Scaling. 

1. Configure uma segunda ação programada para retornar a capacidade mínima para a configuração original no final do evento. A escalabilidade preditiva pode escalar a capacidade somente quando o valor definido para **Min** (Mínima) é menor que os valores da previsão.

**Para criar duas ações programadas para eventos únicos (AWS CLI)**  
Para usar o AWS CLI para criar as ações agendadas, use o comando [put-scheduled-update-group-action](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scheduled-update-group-action.html). 

Por exemplo, vamos definir uma programação que mantenha uma capacidade mínima de três instâncias em 19 de maio às 17h por oito horas. Os comandos a seguir mostram como implementar esse cenário.

O primeiro comando [put-scheduled-update-group-action](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/put-scheduled-update-group-action.html) instrui o Amazon EC2 Auto Scaling a atualizar a capacidade mínima do grupo de Auto Scaling especificado às 17h UTC de 19 de maio de 2021. 

```
aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-event-start \
  --auto-scaling-group-name my-asg --start-time "2021-05-19T17:00:00Z" --minimum-capacity 3
```

O segundo comando instrui o Amazon EC2 Auto Scaling a definir a capacidade mínima do grupo como um à 1h da manhã UTC em 20 de maio de 2021. 

```
aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-event-end \
  --auto-scaling-group-name my-asg --start-time "2021-05-20T01:00:00Z" --minimum-capacity 1
```

Após você adicionar essas ações programadas ao grupo do Auto Scaling, o Amazon EC2 Auto Scaling fará o seguinte: 
+ Às 17h UTC em 19 de maio de 2021, a primeira ação programada é executada. Se o grupo tiver menos de três instâncias, ele será expandido para três instâncias. Durante esse período e nas próximas oito horas, o Amazon EC2 Auto Scaling poderá continuar a aumentar a escala na horizontal se a capacidade prevista for maior do que a capacidade real ou se houver uma política de escalabilidade dinâmica em vigor. 
+ À 1h da manhã UTC em 20 de maio de 2021, a segunda ação programada é executada. Isso retorna a capacidade mínima para sua configuração original no final do evento.

### Escalabilidade com base em programações recorrentes
<a name="scheduling-recurring-actions"></a>

Para substituir a previsão para o mesmo período de tempo todas as semanas, crie duas ações programadas e forneça a lógica de hora e data usando uma expressão cron. 

A expressão cron consiste em cinco campos separados por espaços: [Minute] [Hour] [Day\$1of\$1Month] [Month\$1of\$1Year] [Day\$1of\$1Week]. Os campos podem conter quaisquer valores permitidos, incluindo caracteres especiais. 

Por exemplo, esta expressão cron executa a ação todas as terças-feiras às 6h30. O asterisco é usado como um curinga para corresponder a todos os valores de um campo.

```
30 6 * * 2
```

### Consulte também
<a name="scheduling-scaling-see-also"></a>

Para obter mais informações sobre como criar, listar, editar e excluir ações programadas, consulte [Escalabilidade programada para o Amazon EC2 Auto Scaling](ec2-auto-scaling-scheduled-scaling.md).