Amazon Managed Workflows for Apache Airflowとは
Amazon Managed Workflows for Apache Airflow (以下MWAAと呼びます) は、ワークフロー制御ツールであるApache AirflowのAWSマネージドサービスです。
マネージドサービスのため、デプロイの簡易化、オートスケーリング、AWSサービスのプラグインのインテグレーションを行うことができるのが特徴になります。
MWAAのセットアップ方法
事前準備
MWAAのセットアップを行うには事前にMWAAの情報の格納を行うS3のバケットを作成しておく必要があります。
ここでは、airflow-${AWS_ACCOUNT_ID}-${AWS_REGION}-bucket
というバケットを作成して、以下の3つのフォルダも作成しておきます。
- dags
- in0
- out0
MWAAセットアップ
MWAAのサービスに移動しセットアップを行なっていきます。
-
ステップ1 詳細を指定
では以下の内容を指定し「次へ」をクリックします。ここでは基本的にはデフォルト値ですが、S3バケット関連は事前に作成したものを指定するようにします。カテゴリ 入力項目 値 環境の詳細 名前 任意の名称 Airflowバージョン 2.2.2(最新) (デフォルト値) Weekly maintenance window start(UTC) 任意の時間 (デフォルト値) Amazon S3 の DAG コード S3バケット s3://airflow-${AWS_ACCOUNT_ID}-${AWS_REGION}-bucket
DAGフォルダ s3://airflow-${AWS_ACCOUNT_ID}-${AWS_REGION}-bucket/dags
プラグインファイル - オプション 指定なし (デフォルト) 要件ファイル - オプション 指定なし (デフォルト) -
ステップ2 詳細設定を構成
ではまず始めにMWAA用のVPCを作成します。「MWAA VPCを作成」をクリックします。MWAAは既存のVPC上に構築することも可能ですが、VPCの構成についてMWAAが定めるいくつかの要件があります。詳細についてはAWSドキュメントを参照ください。
-
CloudFormationの画面が開くので以下の値を指定して「スタックの作成」をクリックします。
カテゴリ 入力項目 値 スタックの名前 スタックの名前 MWAA-VPC (デフォルト) パラメータ EnvironmentName MWAAEnvironment (デフォルト) PrivateSubnet1CIDR 10.192.20.0/24 (デフォルト) PrivateSubnet2CIDR 10.192.21.0/24 (デフォルト) PublicSubnet1CIDR 10.192.10.0/24 (デフォルト) PublicSubnet2CIDR 10.192.11.0/24 (デフォルト) VpcCIDR 10.192.0.0/16 (デフォルト) -
MWAA-VPC
スタックのステータスがCREATE_COMPLETE
になるまで待機します。(完了まで5分程度かかります) -
MWAA-VPC
スタックの出力でVPCの値をメモしておきます。 -
ステップ2 詳細設定を構成
に戻り、以下の内容を指定し「次へ」をクリックします。カテゴリ 入力項目 値 ネットワーク Virtual Private Cloud (VPC) MWAA-VPC
スタックで作成されたVPCの値サブネット1 MWAA-VPC
スタックで作成されたプライベートサブネットの値 (自動で選択されます)サブネット2 MWAA-VPC
スタックで作成されたプライベートサブネットの値 (自動で選択されます)ウェブサーバーのアクセス 公開ネットワーク (追加の設定は不要です)
を選択セキュリティグループ 新しいセキュリティグループを作成
をチェック (デフォルト)Existing security group(s) 指定なし (デフォルト) 環境クラス インスタンスタイプ mw1.small (デフォルト) 最大ワーカー数 10 (デフォルト) 最小ワーカー数 1 (デフォルト) スケジューラ数 2 (デフォルト) 暗号化 暗号化設定をカスタマイズする (高度)
をチェックしない (デフォルト)モニタリング Airflowログ設定 AirflowタスクログのみONにする (デフォルト) Airflow 設定オプション - オプション 指定しない (デフォルト) タグ - オプション 指定しない (デフォルト) アクセス許可 実行ロール 新しい実行ロールを作成
を選択 (デフォルト)ロール名 AmazonMWAA-[MWAA名]-[ランダム文字列] (デフォルト) -
ステップ3 確認して作成
で指定値を確認し「環境を作成」をクリックします。
MWAAへのアクセス
MWAAはAirflow UI上で各種ワークフローの管理や設定を行なっていきます。