[アップデート]AWS GlueでのETLワークロードのコスト削減する実行オプション『Flexジョブ』が登場しました
データアナリティクス事業本部インテグレーション部コンサルティングチーム・新納(にいの)です。
AWS GlueでETLを行っている方に朗報なアップデートです。ETLワークロードのコスト削減可能な新たな実行オプション「Flexジョブ」が使えるようになりました!
Flexジョブとは?
専用ではなく予備のコンピューティングリソースを利用してAWS Glueジョブを実行することで、最大34%コストを削減可能な実行オプションです。
2022年8月10日現在、利用可能なリージョンは以下の通り。
- Asia Pacific (Tokyo)
- Asia Pacific (Seoul)
- Asia Pacific (Mumbai)
- Asia Pacific (Singapore)
- Asia Pacific (Sydney)
- Canada (Central)
- Europe (Frankfurt)
- Europe (Ireland)
- Europe (London)
- Europe (Paris)
- South America (Sao Paulo)
- US East (N. Virginia)
- US East (Ohio)
- US West (N. California)
- US West (Oregon)
ユースケース
優先度の低いジョブ実行、一度だけ実行したいワークロード、開発環境での実行に向いています。
設定方法
AWS Glueの画面に移動し、左ペインのメニューから「Jobs」に移動します。ジョブ作成もしくは編集画面のJob detailsタブから設定します。
- 「Flex execution」チェックボックスにチェックを入れます。
- デフォルトではジョブのタイムアウト時間は2880分に設定されていますが、ここではFlexジョブのデフォルト値である120分に設定しておきます。
- FlexジョブはAWS Glue 3.0で利用可能です。
Flexジョブで実行されているかどうかは実行履歴からも確認できます。Runsタブで「Execution class」がFLEX
になっていれば設定は適用されています。(通常はSTANDARD
と表示される)
AWS CLIからも設定が可能です。コマンド実行方法については以下をご参照ください。
料金
東京リージョンの場合、FlexジョブはDPU時間あたり$0.29課金されます。(通常ジョブではDPU時間あたり$0.44)
ワーカー数で指定した数に満たない数で実行された場合、実際に使われた数のみ課金対象となります。(例:ワーカー数10を指定したが、Flexジョブに割り当て可能なワーカーが5つ分しかなかった場合、5つ分のみが課金対象)
また、使用可能なリソースが無い場合ジョブステータスは「WAITING」となりますが、この段階では課金は発生せず、「RUNNING」に移行してから課金が開始されます。
まとめ
Glueのコストを削減する実行オプション、Flexジョブのご紹介でした。リソースが無い場合は確保できるまでジョブ開始されませんが、特に開発環境でのテスト実行や、時間がかかっても問題ない優先度の低い夜間実行などのケースでコスト削減できるうれしいアップデートですね。設定も簡単ですのでGlue 3.0をお使いでユースケースに当てはまる方はぜひお試しください!