Amazon MWAA ネットワークアーキテクチャを試す
次のセクションでは、Amazon MWAA 環境を構成する主要なコンポーネント及び、各環境がそのリソースを管理し、データの安全性の確保、ワークフローに対する監視と可視性を提供するために統合される AWS のサービスセットについて説明します。
Amazon MWAA コンポーネント
Amazon MWAA 環境は、次の 4 つの主要コンポーネントで構成されます。
-
スケジューラー — すべての DAG を解析及び監視し、DAG の依存関係が満たされた場合に実行するタスクをキューに入れます。Amazon MWAA は、スケジューラーを少なくとも 2 つのスケジューラーを持つ AWS Fargate クラスターとしてデプロイします。ワークロードに応じて、スケジューラーの数を最大 5 つまで増やすことができます。Amazon MWAA 環境クラスの詳細については、「Amazon MWAA 環境クラス」を参照してください。
-
ワーカー — スケジュールされたタスクを実行する 1 つ以上の Fargate タスク。環境のワーカー数は、指定した最小数と最大数の間の範囲によって決まります。Amazon MWAA は、キューに入れられたタスクと実行中のタスクの数が既存のワーカーが処理できる数を超えると、自動スケーリングワーカーを開始します。実行中のタスクとキューに入れられたタスクの合計が 2 分を超えてゼロになると、Amazon MWAA はワーカーの数を最小値まで縮小します。Amazon MWAA が自動スケーリングワーカーを処理する方法の詳細については、「Amazon MWAA 自動スケーリング」を参照してください。
-
ウェブサーバー — Apache Airflow ウェブ UI を実行します。プライベートまたはパブリックネットワークアクセスを使用してウェブサーバーを設定できます。いずれの場合も、Apache Airflow ユーザーへのアクセスは AWS Identity and Access Management (IAM) で定義したアクセス制御ポリシーによって制御されます。環境に合わせた IAM アクセスポリシーの設定の詳細については、「Amazon MWAA 環境へのアクセス」を参照してください。
-
データベース — DAG 実行履歴を含む、Apache Airflow 環境とワークフローに関するメタデータを保存します。データベースは、AWSによって管理されるシングルテナントのAurora PostgreSQLデータベースであり、プライベートで保護されたAmazon VPC エンドポイントを介してスケジューラーとワーカーの Fargate コンテナにアクセスできます。
すべての Amazon MWAA 環境は、DAG とタスクの依存関係の保存とアクセス、保存中のデータの保護、環境のログ記録とモニタリングなど、さまざまなタスクを処理する一連の AWS サービスと相互作用します。次の図は、Amazon MWAA 環境のさまざまなコンポーネントを示しています。
注記
Amazon VPC サービスは共有 VPC ではありません。Amazon MWAAは、作成する環境ごとにAWSの専有VPCを作成します。
-
Amazon S3 — Amazon MWAA は、DAG、要件、プラグインファイルなど、すべてのワークフローリソースを Amazon S3 バケットに保存します。環境作成の一環としてバケットを作成し、Amazon MWAA リソースをアップロードする方法の詳細については、Amazon MWAA ユーザーガイドの「Amazon MWAA 用の Amazon S3 バケットの作成」を参照してください。
-
Amazon SQS — Amazon MWAA は Amazon SQS を使用して、Celery エグゼキューター
を用いワークフロータスクをキューイングします。 -
Amazon ECR — Amazon ECR はすべてのApache Airflow イメージをホストします。Amazon MWAAは、AWSの管理されたApache Airflowイメージのみをサポートしています。
-
AWS KMS— Amazon MWAAは、AWS KMSを使用してデータが安全に静的に保管されることを確認します。デフォルトでは、Amazon MWAAは、 AWSで管理されたAWS KMS鍵を使用しますが、環境を構成して独自の顧客管理型 AWS KMSキーを使用することもできます。独自のカスタマー管理型AWS KMSキーの使用に関する詳細については、Amazon MWAA ユーザーガイドの「データ暗号化用のカスタマー管理キー」を参照してください。
-
CloudWatch — Amazon MWAA は CloudWatch と統合され、Apache Airflow ログと環境メトリクスをCloudWatch に送信します。これにより、Amazon MWAA リソースを監視し、問題をトラブルシューティングできるようになります。
接続
Amazon MWAA 環境は、統合されているすべてのAWSサービスにアクセスする必要があります。Amazon MWAA 実行ロールは、ユーザーに代わって他のAWSサービスに接続するためのアクセス権限を Amazon MWAA に付与する方法を制御します。ネットワーク接続については、Amazon VPC へのパブリックインターネットアクセスを提供するか、Amazon VPC エンドポイントを作成できます。環境に合わせた Amazon VPC エンドポイント (AWS PrivateLink) の設定の詳細については、Amazon MWAA ユーザーガイドの「Amazon MWAA での VPC エンドポイントへのアクセスの管理」を参照してください。
Amazon MWAA はスケジューラーとワーカーに要件をインストールします。要件がパブリックPyPi.whl
ファイルにバンドルできます。
Apache Airflow をプライベートモードで設定すると、Apache Airflow UI には Amazon VPC エンドポイントを介してのみ Amazon VPC からアクセスできます。
ネットワークの詳細については、「Amazon MWAA User Guide」の「Networking」を参照してください。