

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

# Como configurar o ajuste de escala automático do trabalhador do Amazon MWAA
<a name="mwaa-autoscaling"></a>

O mecanismo de ajuste de escala automático aumenta automaticamente o número de trabalhadores do Apache Airflow em resposta às tarefas em execução e enfileiradas no ambiente de Workflows gerenciados pela Amazon para Apache Airflow e descarta trabalhadores extras quando não há mais tarefas na fila ou em execução. Este tópico descreve como é possível configurar o ajuste de escala automático especificando o número máximo de operadores do Apache Airflow que são executados no seu ambiente usando o console do Amazon MWAA.

**nota**  
O Amazon MWAA usa métricas do Apache Airflow para determinar quando operadores adicionais do [Executor Celery](https://airflow.apache.org/docs/apache-airflow/stable/executor/celery.html) são necessários e, conforme exigido, aumenta o número de operadores da Fargate até o valor especificado por `max-workers`. À medida que os trabalhadores adicionais concluem o trabalho e a workload diminui, o Amazon MWAA os remove, reduzindo assim a escala para o valor definido por `min-workers`.  
Se os trabalhadores realizarem novas tarefas durante a redução da escala, o Amazon MWAA manterá o recurso do Fargate e não removerá o trabalhador. Para obter mais informações, consulte [Como funciona o ajuste de escala automático do Amazon MWAA](#mwaa-autoscaling-how).

**Topics**
+ [Como funciona o ajuste de escala de trabalhadores](#mwaa-autoscaling-how)
+ [Como usar o console do Amazon SNS](#mwaa-autoscaling-console)
+ [Exemplo de caso de uso de alto desempenho](#mwaa-autoscaling-high-volume)
+ [Tarefas de solução de problemas bloqueadas no estado de execução](#mwaa-autoscaling-stranded)
+ [Próximas etapas](#mwaa-autoscaling-next-up)

## Como funciona o ajuste de escala de trabalhadores
<a name="mwaa-autoscaling-how"></a>

O Amazon MWAA usa [métricas](access-metrics-cw.md#available-metrics-cw) `RunningTasks` e `QueuedTasks`, em que *(tarefas em execução \+ tarefas em fila) / ([tarefas por operador](environment-class.md#environment-class-sizes)) = (operadores necessários)*. Se o número necessário de operadores for maior que o número atual, o Amazon MWAA adicionará contêineres de operadores Fargate a esse valor, até o valor máximo especificado em `max-workers`.

À medida que a workload diminui e a soma de `RunningTasks` e `QueuedTasks` da métrica é reduzida, o Amazon MWAA solicita ao Fargate reduzir a escala verticalmente dos trabalhadores do ambiente. Todos os trabalhadores que ainda estão concluindo o trabalho permanecem protegidos durante a redução da escala até concluírem o trabalho. Dependendo da workload, as tarefas podem ficar na fila enquanto os operadores reduzem a escala.

## Como usar o console do Amazon SNS
<a name="mwaa-autoscaling-console"></a>

É possível escolher o número máximo de operadores que podem ser executados em seu ambiente simultaneamente no console do Amazon MWAA. Por padrão, é possível especificar um valor máximo de até 25.

**Para configurar o número de operadores**

1. Abra a página [Environments](https://console.aws.amazon.com/mwaa/home#/environments) (Ambientes) no console do Amazon MWAA.

1. Escolha um ambiente.

1. Escolha **Editar**.

1. Escolha **Próximo**.

1. No painel **Classe de ambiente**, insira um valor em **Contagem máxima de operadores**.

1. Escolha **Salvar**.

**nota**  
Poderá levar alguns minutos para que as alterações sejam aplicadas no seu ambiente.

## Exemplo de caso de uso de alto desempenho
<a name="mwaa-autoscaling-high-volume"></a>

A seção a seguir descreve os tipos de configurações que é possível usar para permitir alto desempenho e paralelismo em um ambiente.

### Apache Airflow on-premises
<a name="mwaa-autoscaling-high-volume-aa"></a>

Normalmente, em uma plataforma on-premises do Apache Airflow, você configura o paralelismo de tarefas, o ajuste de escala automático e a simultaneidade de tarefas no arquivo `airflow.cfg`:
+ `core.parallelism`: o número máximo de instâncias de tarefas que podem ser executadas simultaneamente por agendador.
+ `core.dag_concurrency`: a simultaneidade máxima para DAGs (não operadores).
+ `celery.worker_autoscale`: o número máximo e mínimo de tarefas que podem ser executadas simultaneamente em qualquer operador.

Por exemplo, se `core.parallelism` estivesse definido como `100` e `core.dag_concurrency` estivesse definido como `7`, você só conseguiria executar um total de `14` tarefas simultaneamente se tivesse 2 DAGs. Dado isso, cada DAG está configurado para executar somente sete tarefas simultaneamente (em `core.dag_concurrency`), mesmo que o paralelismo geral esteja definido para `100` (em `core.parallelism`).

**nota**  
`core.dag_concurrency` não está disponível no Apache Airflow v3.

### Um ambiente Amazon MWAA.
<a name="mwaa-autoscaling-high-volume-mwaa"></a>

Em um ambiente do Amazon MWAA, é possível definir essas configurações diretamente no console do Amazon MWAA usando [Como usar opções de configuração do Apache Airflow no Amazon MWAA](configuring-env-variables.md), [Como configurar a classe de ambiente do Amazon MWAA](environment-class.md) e o mecanismo de ajuste de escala automático de **Contagem máxima de trabalhadores**. Embora `core.dag_concurrency` não esteja disponível na lista suspensa como uma **opção de configuração do Apache Airflow** no console do Amazon MWAA, é possível adicioná-la como uma [opção de configuração personalizada do Apache Airflow](configuring-env-variables.md).

Digamos que, ao criar seu ambiente, você tenha escolhido as seguintes configurações:

1. A **classe de ambiente** [mw1.small](environment-class.md), que controla o número máximo de tarefas simultâneas que cada operador pode executar por padrão e a vCPU dos contêineres.

1. A configuração padrão de `10` operadores na **Contagem máxima de operadores**.

1. Uma [opção de configuração do Apache Airflow](configuring-env-variables.md) para `celery.worker_autoscale` de `5,5` tarefas por operador.

Isso significa que é possível executar 50 tarefas simultâneas em seu ambiente. Todas as tarefas além de 50 são colocadas na fila e aguardam a conclusão das tarefas em execução.

**Execute mais tarefas simultâneas**. É possível modificar seu ambiente para executar mais tarefas simultaneamente usando as seguintes configurações:

1. Aumente o número máximo de tarefas simultâneas que cada operador pode executar por padrão e a vCPU dos contêineres escolhendo a [classe de ambiente](environment-class.md) `mw1.medium` (10 tarefas simultâneas por padrão).

1. Acrescente `celery.worker_autoscale` como [opção de configuração do Apache Airflow](configuring-env-variables.md).

1. Aumente a **contagem máxima de operadores**. Neste exemplo, aumentar o número máximo de operadores de `10` para `20` dobra o número de tarefas simultâneas que o ambiente pode executar.

**Especifique o mínimo de operadores**. Também é possível especificar o número mínimo e máximo de operadores do Apache Airflow que são executados em seu ambiente usando a AWS Command Line Interface (AWS CLI). Por exemplo:

```
aws mwaa update-environment --max-workers 10 --min-workers 10 --name {{YOUR_ENVIRONMENT_NAME}}
```

Para saber mais, consulte o comando [update-environment](https://docs.aws.amazon.com/cli/latest/reference/mwaa/update-environment.html) na AWS CLI.

## Tarefas de solução de problemas bloqueadas no estado de execução
<a name="mwaa-autoscaling-stranded"></a>

Em casos raros, o Apache Airflow pode achar que ainda há tarefas em execução. Para resolver esse problema, você precisa limpar a tarefa perdida na sua IU do Apache Airflow. Para obter mais informações, consulte o tópico sobre solução de problemas [Solução de problemas para Amazon Managed Workflows para Apache Airflow](troubleshooting.md).

## Próximas etapas
<a name="mwaa-autoscaling-next-up"></a>
+ Saiba mais sobre as melhores práticas que recomendamos para ajustar o desempenho do seu ambiente em [Ajuste de desempenho para o Apache Airflow no Amazon MWAA](best-practices-tuning.md).