AWS Batchのオートスケーリング

0

はじめまして。 以下、有識者の皆様のご指導をいただけますと幸いです。 よろしくお願いいたします。

【経緯と現状】 従来、SageMakerの非同期推論とバッチ推論を利用(ml.g4dn.xlargeインスタンス) ドキュメントを参考に、オートスケール機能を利用していましたが、推論完了後も5分程度起動し続けてしまうため不要なコストが発生していました。

その問題を改善するためにAWS Batchを(EC2: g4dn.xlarge)利用し始め デフォルトのスケール機能を利用 常時1台起動し、キューに積まれると2台、3台と起動。 キューに積まれていなければインスタンスが即ターミネートされるので、不要な起動が無くなりコスト削減が出来ました。 ただ、1台で2,3件は続けて処理させることは出来そうなので、キューに積まれ次第インスタンスが立ち上がる必要は無さそうで、こちらも制御出来ればコスト削減出来そうと考えました。

【ご相談事項】 ここからが相談事項になります。 AWS Batchのオートスケーリングをカスタマイズしたいと考えており、条件としては。

  1. 常時1台は起動
  2. スケールアップ条件  (1) キューにXX件以上積まれていたら2台目  (2) キューにYY件以上積まれていたら3台目  (3) 等、N件溜まっていたらZ台立ち上げ
  3. スケールダウン条件  (1) 上記の下位スケールアップ条件に当てはまる場合、処理完了後に即時ターミネート  (2) 不要な起動時間(コスト)を排除したいため

スケールアップの条件は設定イメージができ、検証出来たのですがスケールダウンが上手くいかずSageMakerと同じ状況になってしまいました。 上記条件を実現するための方法を教えて頂きたいです。

質問済み 1ヶ月前165ビュー
1回答
1

AWS Batch コンピューティング環境にて、スケーリングポリシーをカスタマイズされたい状況とお見受けいたしました。

恐れ入りますが、AWS Batch ではコンピューティング環境のスケーリングポリシーをカスタマイズすることは想定されておりません。 AWS Batch ではジョブキューの状況に応じて、自動的にインスタンスのスケールイン・アウトを行います[1]。

また、ジョブが完了した際にインスタンスを即時終了することも保証された動作ではございませんことを予めご了承いただきますようお願い申し上げます。

【参考情報】 [1]AWS Batch のよくある質問 - AWS Batch とは何ですか? https://aws.amazon.com/jp/batch/faqs/

AWS Batch では、コンピューティングリソース (CPU、メモリに最適化されたコンピューティングリソースなど) の最適な数量とタイプが、送信されたバッチジョブの規模と具体的なリソース要件に基づいて、動的にプロビジョニングされます。
AWS
回答済み 1ヶ月前
  • Yusuke_U様、

    明快なご回答有り難うございました。

    鈴木

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン