[アップデート] Amazon MWAAにServerlessが登場しました!
こんにちは。サービス開発室の武田です。
Amazon MWAA(Managed Workflows for Apache Airflow)に新しいデプロイオプションとしてServerlessが追加されました。
Amazon MWAA Serverlessとは
Amazon MWAA Serverlessは、Apache Airflowのワークフローオーケストレーションをサーバーレスで実行できる新しいデプロイオプションです。従来のMWAAでは環境を常時起動しておく必要がありましたが、Serverlessではタスク実行時のみリソースがプロビジョニングされます。実行時間に対してのみ課金されるため、使用頻度が低いワークロードではコストを抑えられます。
主な特徴をまとめてみます。
- Apache Airflow v3.0ベース、Python 3.12を使用
- 80以上のAWSオペレーターをサポート
- YAML形式でワークフローを定義
- ワークフローごとに独立したIAMロールを設定可能
- タスク実行時間に対する従量課金(最小1分、秒単位)
従来のMWAAとの比較
従来のMWAAとServerlessの違いを表にまとめてみました。
| 項目 | MWAA Serverless | 従来のMWAA |
|---|---|---|
| インフラ管理 | 完全マネージド(設定不要) | 環境サイズの選択が必要 |
| スケーリング | ワークフロー需要に応じて自動 | Worker数の自動スケーリング(環境は固定) |
| 課金モデル | タスク実行時間のみ | 環境稼働時間+追加Worker等 |
| ワークフロー分離 | ワークフローごとにIAMロール分離 | 環境内で共通のアクセス権限 |
| 起動時間 | タスクごとにコンピュートをプロビジョニング | 環境は常時稼働、即時実行可能 |
| ワークフロー定義 | YAML形式(dag-factory形式) | Python DAG |
| Airflow UI | なし(CloudWatch/CloudTrailで監視) | Airflow Web UIにアクセス可能 |
どちらを選ぶべきか
Serverless!コスト削減!となると移行したくなってきますが、現状ではユースケースごとに選択する必要がありそうです。どちらを選ぶか迷ったときの参考にしてください。
MWAA Serverlessが向いているケース
- 実行頻度が低い、または変動が大きいワークロード
- 開発・テスト環境などコスト最適化を重視する場合
- 複数チームでワークフローを分離したい場合
- AWSサービス(S3、Glue、EMR、Redshift等)を中心としたパイプライン
従来のMWAAが向いているケース
- カスタムPythonオペレーターや複雑なDAGロジックが必要
- Airflow Web UIへの直接アクセスが必要
- 常時高頻度で実行されるワークロード
- Serverlessでサポートされていないプラグインや設定が必要
制限事項
MWAA Serverlessにはいくつかの制限があるため注意が必要です。
まず、サポートされるオペレーターはAmazon Provider Packageのみです。カスタムPythonオペレーターは使用できないため、カスタムコードを実行したい場合はAWS Lambdaなどを利用することになります。
また、Airflow Web UIにはアクセスできません。監視はCloudWatch LogsやCloudTrailを使うことになります。
さらに、各タスクは実行前にコンピュートリソースをプロビジョニングするため、常時稼働の従来版に比べて起動に時間がかかります。リアルタイム性が求められるユースケースでは注意が必要ですね。
料金
MWAA Serverlessはタスク実行時間に対する従量課金です。最小課金単位は1分で、秒単位で計算されます。初期費用や最低料金はありません。
東京リージョンの料金は次のとおりです(2025年11月時点)。
| 項目 | 料金 |
|---|---|
| AWS Managed Tasks | $0.104/時間 |
参考までに、バージニア北部リージョンでは$0.080/時間です。東京リージョンは約1.3倍です。
料金の計算例
たとえば、1日に10個のタスクを実行し、各タスクの実行時間が平均5分だとします。
- 1日のタスク実行時間: 10タスク × 5分 = 50分 ≒ 0.83時間
- 1日の料金: 0.83時間 × $0.104 ≒ $0.09
- 1ヵ月の料金: $0.09 × 30日 ≒ $2.7
従来のMWAAでSmall環境を1ヵ月稼働させると東京リージョンで約$360かかります。実行頻度が低いワークロードでは大幅なコスト削減が期待できそうですね。
対応リージョン
対応リージョンを確認してみました。現時点では15リージョンで利用可能です。東京リージョンにも対応しているのはうれしいですね。
- 米国東部(バージニア北部): us-east-1
- 米国東部(オハイオ): us-east-2
- 米国西部(オレゴン): us-west-2
- アジアパシフィック(東京): ap-northeast-1
- アジアパシフィック(ソウル): ap-northeast-2
- アジアパシフィック(ムンバイ): ap-south-1
- アジアパシフィック(シンガポール): ap-southeast-1
- アジアパシフィック(シドニー): ap-southeast-2
- カナダ(中部): ca-central-1
- 欧州(アイルランド): eu-west-1
- 欧州(ロンドン): eu-west-2
- 欧州(パリ): eu-west-3
- 欧州(フランクフルト): eu-central-1
- 欧州(ストックホルム): eu-north-1
- 南米(サンパウロ): sa-east-1
まとめ
MWAA Serverlessは、インフラ管理の手間を省きつつコスト最適化を実現する新しい選択肢です。特に実行頻度が低いワークロードや開発環境では大きなコストメリットが期待できそうです。一方で、カスタムオペレーターが必要な場合やAirflow UIを使いたい場合は従来のMWAAを選ぶことになるでしょう。
ユースケースに応じて検討してみてください。









