SAA-C03コストを最適化したアーキテクチャの設計MEDIUM複数選択

ある企業が、毎日大量の ETL ジョブを AWS Glue で実行しており、Glue のコストを削減したい。ジョブは複数あり、一部は数分で完了するが、一部は数時間かかる。コストを削減する方法を 2 つ選択してください。

  1. A. AWS Glue の代わりに Amazon EMR を使用してすべての ETL ジョブを実行する。
  2. B. Glue ジョブの MaxCapacity(DPU 数)を実際に必要な最小値に調整し、過剰プロビジョニングを解消する。
  3. C. AWS Glue ジョブタイプを Spark から Python Shell に変更できる単純なジョブは Python Shell ジョブ(0.0625 DPU)に変更する。小規模なジョブでは Spark の最小 2 DPU より大幅にコストが削減される。
  4. D. Glue ジョブの Worker Type を G.1X から G.2X に変更してジョブを高速化し、実行時間を半分にする。
  5. E. すべての Glue ジョブを常時起動状態(Development Endpoint)で維持して起動時間を削減する。
解答と解説を見る

正解: B, C

AWS Glue のコスト削減には、適切なジョブタイプの選択と DPU の適正化が重要。選択肢CのPython Shell ジョブは 0.0625 DPU で動作し、Spark ジョブの最小 2 DPU と比較して最大 32 分の 1 のコストで実行できる。単純なファイル変換・API 呼び出し・小規模データ処理には Python Shell が適しており、Spark の分散処理は不要な場合が多い。選択肢BのMaxCapacity の調整は、Glue ジョブのコストが DPU 数 × 実行時間で計算されるため、実際に必要な DPU 数に削減することで大幅なコスト削減が可能。多くの場合、デフォルトの 10 DPU より少ない DPU で十分なジョブがある。選択肢EのDevelopment Endpoint の常時起動は課金が継続するためコスト増加になる。Development Endpoint はデバッグ用で本番ジョブには使わない。選択肢DのWorker Type を G.2X に変更することで実行時間が短縮されても、G.2X は G.1X の 2 倍のコストなので、実行時間が半分以下にならなければコストは変わらないか増加する可能性がある。選択肢AのEMR への全面移行はクラスター管理コストが発生し、必ずしも Glue より安くならない。

▸ この試験を本気で演習する(全150問・無料)