AWS Marketplace製品一覧へ
FerroAir
オブザーバビリティ

FerroAir

Apache Airflow 3.x互換オーケストレータ

単一Rustバイナリ・Airflow 3.x互換 置き換え対象のAWSサービス: セルフマネージドな Apache Airflow
AWS Marketplaceで入手

自分のAmazon EC2で動かすセルフマネージドなワークフローオーケストレータ。単一の静的RustバイナリがApache Airflow 3.xのスケジューラ・Webサーバ・REST API v2・トリガラ・DAGプロセッサを実装します。Airflow 3.0 / 3.1 / 3.2のREST API v2とAIP-72タスク実行インターフェースにワイヤ互換。タスク本体はairflow.sdk経由でCPython上で実行され続けます。

FerroAir は、Apache Airflow 3.xワークロードを自分のEC2上で動かすセルフマネージドなオーケストレータです(AirflowはAWSのサービスではなくOSSプロジェクトです)。本物のWeb UI(Leptos製のSPA、Nodeランタイム不要)をポート8080で提供(DAGのlist / graph / grid / gantt / calendar / task-logビュー)、メトリクス&管理ポート9080でPrometheusメトリクスとhealth / live / readyプローブ、AIP-72を8081で公開。DAGはAmazon S3から同期、メタデータはPostgreSQLまたはSQLite、リーダー選出付きのHAスケジューラを実行します。スケジューラ・Webサーバ・トリガラ・DAGプロセッサを1つの静的バイナリに統合し、堅牢なsystemdユニットで稼働 — マルチプロセスのPythonデプロイの代わりに。

課題

Apache Airflow はオープンソースの優れたワークフローオーケストレーターですが(AWS のサービスではありません)、スケジューラー・ウェブサーバー・トリガラー・DAG プロセッサーが複数の Python プロセスとして動く構成は、運用管理の手間が大きくなりがちです。チームによっては、メタデータ DB・ブローカー・ワーカーを含む多プロセス構成を自前で組み上げ、維持し続ける必要があります。Airflow との互換性は保ちつつ、運用をよりシンプルにしたいというニーズが課題です。

仕組み

  1. 1

    単一の Rust バイナリで稼働

    FerroAir は Apache Airflow 3.x のスケジューラー・ウェブサーバー・REST API v2・トリガラー・DAG プロセッサーを 1 つの静的 Rust バイナリで実装し、ハードニング済みの systemd ユニットで統合稼働させます。多プロセスの Python デプロイの代わりに、お客様自身の Amazon EC2 上で動作します。

  2. 2

    タスクは CPython で実行

    FerroAir は Rust 側でスケジューラーのティックループ、DAG フォルダーの監視、REST API、メタデータアクセス、リーダー選出、エグゼキューターのディスパッチを担います。タスク本体は、Apache Airflow AIP-72 タスク実行インターフェース経由で上流の airflow.sdk を通じ、引き続き CPython 上で実行されます。

  3. 3

    既存の状態と連携

    DAG は Amazon S3 バケット(またはローカルディスク)から同期し、メタデータは PostgreSQL または SQLite に保存します。ウェブ UI はポート 8080、Prometheus メトリクスと各種プローブはポート 9080、AIP-72 はポート 8081 で提供されます。

特長

Airflow 3.x互換: REST API v2 + AIP-72。タスク本体はairflow.sdk経由でCPython上で実行され続ける。

単一の静的Rustバイナリ(スケジューラ + Webサーバ + トリガラ + DAGプロセッサ) — マルチプロセスPythonの代替。本物のLeptos製Web UI(Node不要)。

DAGはS3から同期、メタデータはPostgreSQL / SQLite、リーダー選出付きHAスケジューラ。CloudFormation Quick Start同梱。

含まれるもの

  • Amazon Linux 2023 ベースの AMI(x86_64、c7i / m7i クラスのインスタンスで稼働)
  • Apache Airflow 3.x のスケジューラー・ウェブサーバー・REST API v2・トリガラー・DAG プロセッサーを実装した単一静的 Rust バイナリ(Apache Airflow 3.0/3.1/3.2 の REST API v2 サーフェスおよび AIP-72 タスク実行インターフェースとワイヤ互換)
  • Leptos シングルページアプリの本物のウェブ UI(Node ランタイム不要、ポート 8080)— DAG 一覧・グラフ・グリッド・ガント・カレンダー・タスクログの各ビュー
  • 専用のメトリクス/管理ポート 9080(Prometheus メトリクスと health / live / ready の各プローブ)と、Python ワーカー向けの AIP-72 ポート 8081
  • Amazon S3 からの DAG 同期、PostgreSQL または SQLite のメタデータ(Apache Airflow 3 の Alembic 互換スキーマ)、リーダー選出による HA スケジューラーのフェイルオーバー
  • 既存のマネージド Apache Airflow からコネクション・変数・プールを取り込むインポートツール、ランブック、互換性マトリクス、検証手順を含む購入後ドキュメント
  • 別の制御プレーン・テレメトリ送信・ライセンスキー検証なしの構成(課金は AMI の時間課金と年額オプションのみ、AWS の請求を通じて)

こんな用途に

Apache Airflow のワークフローを、より運用がシンプルな単一バイナリでお客様自身の Amazon EC2 上に動かしたいケース

別の場所で稼働中のマネージド Apache Airflow から、コネクション・変数・プールを取り込んでオーケストレーション層を移行したいチーム

既存の Apache Airflow REST API v2 クライアントとの互換性を保ったまま運用したい既存ワークロード

別の制御プレーンやテレメトリ送信なしで、自社 VPC 内に閉じたオーケストレーターを動かしたいケース

よくある質問

Apache Airflow とどの程度互換性がありますか?

FerroAir は Apache Airflow 3.0/3.1/3.2 の REST API v2 サーフェスと Apache Airflow AIP-72 タスク実行インターフェースとワイヤ互換です。REST API v2 サーフェスを実装しているため、既存の Apache Airflow REST API v2 クライアントがそのまま利用できます。詳しい互換性マトリクスは製品ドキュメントを参照してください。

タスクの Python コードはそのまま動きますか?

はい。タスク本体は Apache Airflow AIP-72 タスク実行インターフェース経由で上流の airflow.sdk を通じ、引き続き CPython 上で実行されます。Rust バイナリが担うのはスケジューラーのティックループ、DAG フォルダーの監視、REST API、メタデータアクセス、リーダー選出、エグゼキューターのディスパッチで、タスクの実行ランタイム自体は CPython のままです。

これは AWS のサービスを置き換えるものですか?

Apache Airflow はオープンソースのプロジェクトであり、AWS のサービスではありません。FerroAir はその Apache Airflow 3.x のワークロードを、お客様自身の Amazon EC2 上で動かす自己管理型のワークフローオーケストレーターです。お客様の VPC 内で動作する通常の Amazon Linux 2023 AMI として提供されます。

既存の Airflow デプロイから移行できますか?

できます。FerroAir は既存のマネージド Apache Airflow からコネクション・変数・プールをインポートし、DAG フォルダーを同期できます。メタデータは Apache Airflow 3 の Alembic 互換スキーマで PostgreSQL または SQLite に保存されます。AMI 上の購入後ドキュメントが、インポートツール・ランブック・互換性マトリクス・検証の手順を案内します。

高可用性とシークレット管理はどうなっていますか?

HA スケジューラーはリーダー選出(openraft)によるフェイルオーバーを行い、複数インスタンスを稼働させるとリーダー選出がスタンバイを昇格させます。シークレットは環境変数・AWS Secrets Manager・GCP Secret Manager・Azure Key Vault・Vault から解決でき、コネクションと変数は Fernet で暗号化されます。認証は FAB 認証・OAuth・OIDC・SAML・LDAP に対応します。

料金モデル

時間課金のソフトウェア利用料 + EC2(c7i / m7i 級、x86)。インスタンスタイプ別の従量課金、年額オプションあり。

AWS Marketplaceで入手