

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定 Amazon MWAA 環境類別
<a name="environment-class"></a>

您為 Amazon MWAA 環境選擇的環境類別會決定 [Celery Executor](https://airflow.apache.org/docs/apache-airflow/stable/executor/celery.html) 執行所在的 AWS受管 AWS Fargate 容器大小，以及 Apache Airflow 排程器建立任務執行個體所在的 AWS受管 Amazon Aurora PostgreSQL 中繼資料資料庫。本主題說明每個 Amazon MWAA 環境類別，以及如何更新 Amazon MWAA 主控台上的環境類別。

**Topics**
+ [環境功能](#environment-class-sizes)
+ [Apache Airflow 排程器](#environment-class-schedulers)

## 環境功能
<a name="environment-class-sizes"></a>

下一節包含每個環境類別的預設並行 Apache Airflow 任務、隨機存取記憶體 (RAM) 和虛擬集中式處理單元 (vCPUs)。列出的並行任務假設任務並行不超過環境中的 Apache Airflow 工作者容量。

在下表中，DAG 容量是指 DAG 定義，而不是執行，並假設您的 DAGs是[動態](https://airflow.apache.org/docs/apache-airflow/2.6.3/concepts/dags.html?highlight=dynamic%20dag#dynamic-dags)的，並使用 [Apache Airflow 最佳實務](https://airflow.apache.org/docs/apache-airflow/2.6.3/best-practices.html?highlight=best%20practices)撰寫。

任務執行取決於同時排程的數目，並假設設定為同時啟動的 DAG 執行數目不超過預設 [https://airflow.apache.org/docs/apache-airflow/2.6.3/configurations-ref.html#config-scheduler-max-dagruns-per-loop-to-schedule](https://airflow.apache.org/docs/apache-airflow/2.6.3/configurations-ref.html#config-scheduler-max-dagruns-per-loop-to-schedule)，以及本主題中詳述的工作者大小和數目。

------
#### [ mw1.micro ]
+ 高達 25 DAG 容量
+ 3 個並行任務 （預設）
+ 元件：
  + Web 伺服器：1 個 vCPU、3GB RAM
  + 工作者和排程器：1 個 vCPU、3GB RAM
  + 資料庫：2 個 vCPU、4GB RAM
**注意**  
mw1.micro 不支援自動擴展。

------
#### [ mw1.small ]
+ 高達 50 DAG 容量
+ 5 個並行任務 （預設）
+ 元件：
  + Web 伺服器：1 個 vCPU，每個 2GB RAM
  + 工作者：1 個 vCPU，每個 2GB RAM
  + 排程器：1 個 vCPU，每個 2GB RAM
  + 資料庫：2 個 vCPU、4GB RAM

------
#### [ mw1.medium ]
+ 高達 250 DAG 容量
+ 10 個並行任務 （預設）
+ 元件：
  + Web 伺服器：每個 1 個 vCPU 2GB RAM
  + 工作者：每個 2 個 vCPU 4GB RAM
  + 排程器：每個 2 個 vCPU 4GB RAM
  + 資料庫：2 個 vCPU 8GB RAM

------
#### [ mw1.large ]
+ 高達 1000 DAG 容量
+ 20 個並行任務 （預設）
+ 元件：
  + Web 伺服器：每個 2 個 vCPU 4GB RAM
  + 工作者：每個 4 個 vCPU 8GB RAM
  + 排程器：每個 4 個 vCPU 8GB RAM
  + 資料庫：2 個 vCPU 8GB RAM

------
#### [ mw1.xlarge ]
+ 高達 2000 DAG 容量
+ 40 個並行任務 （預設）
+ 元件：
  + Web 伺服器：4 個 vCPU，每個 12GB RAM
  + 工作者：每個 8 個 vCPU 24GB RAM
  + 排程器：每個 8 個 vCPU 24GB RAM
  + 資料庫：4 個 vCPU 32GB RAM

------
#### [ mw1.2xlarge ]
+ 高達 4000 DAG 容量
+ 80 個並行任務 （預設）
+ Componenets：
  + Web 伺服器：每個 8 個 vCPU 24GB RAM
  + 工作者：每個 16 個 vCPU 48GB RAM
  + 排程器：每個 16 個 vCPU 48GB RAM
  + 資料庫：8 個 vCPU 64GB RAM

------

您可以使用 `celery.worker_autoscale`來增加每個工作者的任務。如需詳細資訊，請參閱 [高效能使用案例範例](mwaa-autoscaling.md#mwaa-autoscaling-high-volume)。

## Apache Airflow 排程器
<a name="environment-class-schedulers"></a>

下一節包含 Amazon MWAA 上可用的 Apache Airflow 排程器選項，以及排程器數目如何影響觸發器數目。

在 Apache Airflow 中，[觸發器](https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/deferring.html)會管理其延遲的任務，直到符合使用觸發指定的特定條件為止。在 Amazon MWAA 中，觸發器會與排程器一起在相同的 Fargate 任務上執行。相應地增加排程器計數會增加可用觸發器的數量，最佳化環境管理延遲任務的方式。這可確保有效處理任務，並在滿足條件時立即排定任務以執行。

------
#### [ Apache Airflow v3 ]
+ **v3** - 對於大於 mw1.micro 的環境， 接受從 `2`到 的值。 `5`除了預設為 的 mw1`2`.micro 之外，所有環境大小預設為 。 `1`

------
#### [ Apache Airflow v2 ]
+ **v2** - 對於大於 mw1.micro 的環境， 接受從 `2`到 的值。 `5`除了預設為 的 mw1`2`.micro 之外，所有環境大小預設為 。 `1`

------