あるデータエンジニアリングチームは、毎日深夜2時から実行される多数のAWS Glue ETLジョブを運用しています。Amazon CloudWatchのメトリクスを確認したところ、各ジョブは割り当てた10 DPUに対して平均25〜35%のリソース使用率で動作しており、ジョブのSLAは「翌朝8時までにデータがAmazon Redshiftに反映されていること」と緩やかです。チームは現在の月間Glueコストを削減したいと考えています。適切なコスト削減策として正しいものを2つ選んでください。
この問題では2つのアプローチが最も適切なコスト削減策です。 【DPU数の削減】 AWS GlueはDPU×実行時間で課金されます。リソース使用率が25〜35%であれば、DPUを10から3〜4程度に削減することで課金額を比例的に削減できます。DPUを減らすと実行時間が延びる可能性があるため、SLAとのバランスをテストして確認することが重要です。 【FLEX実行クラス】 AWS GlueのFLEX実行クラスはAWSの余剰コンピューティング容量を使用するため、STANDARD実行クラスより約34%安く実行できます。ジョブの開始が若干遅れる可能性がありますが、深夜2時開始でSLAが翌朝8時であれば十分な余裕があります。設定変更のみで適用でき、コードの変更は不要です。 選択肢BのPython Shellジョブは単一PythonスクリプトでApache Sparkを使わない軽量タスク向けです。既存のSparkベースETLジョブをPython Shellに変換すると分散処理能力が失われ、SLAを満たせなくなる可能性があります。 選択肢DのAWS Batchへの移行はSpot Instancesによるコスト削減が期待できますが、ETLジョブのDocker化・ジョブブックマーク代替・Data Catalog連携の再実装が必要で、移行・運用コストが大幅に増加します。