AWS Batch(バッチ処理サービス)

シェアする

  • このエントリーをはてなブックマークに追加

AWSのバッチ処理の専門サービスが「AWS Batch」です。一般的な規模のバッチ処理からハイパフォーマンスコンピューティング(HPC)までカバーするサービスとなります。

AWS Batch を使用することにより、開発者、科学者、およびエンジニアは、数十万件のバッチコンピューティングジョブを AWS で簡単かつ効率的に実行できます。AWS Batch では、送信されたバッチジョブのボリュームと特別なリソース要件に応じて、コンピューティングリソース (CPU やメモリ最適化インスタンス) の最適な数量とタイプを動的にプロビジョニングできます。AWS Batch に対する追加料金はありません。バッチジョブを保存したり実行したりするために作成した AWS リソース (EC2 インスタンスなど) に対してのみ料金が発生します。

AWS Batchの利用イメージ

1 日の取引コスト、レポート作成、市場成果の分析を自動化します。データをS3に格納されたことをトリガにAWS Batchでビックデータ分析データに変換することで、スピーディーな分析を可能にします。

AWS Batchの機能

No 機能 内容
1 完全マネージド型 バッチソフトウェアやサーバーのインストールや管理は必要ありません。AWS Batch では、必要なすべてのインフラストラクチャが管理されます。バッチコンピューティングジョブのプロビジョニング、管理、モニタリング、スケーリングといった複雑な作業がなくなります。
2 AWS との統合 AWS Batch は AWS プラットフォームとネイティブに統合されています。AWS Batchはイベント駆動型のAWSサービスとの相性もよく、例えば元データがS3に格納されたイベントをトリガーとしlambdaからAWS Batchを実行し処理結果をRedshiftに移行することが可能になります。
3 コストを最適化したリソースのプロビジョニング AWS Batch を使用すると、送信されたバッチジョブのボリュームと必要なリソースに応じて、コンピューティングリソースのプロビジョニングと、ジョブディストリビューションの最適化が行われます。AWS Batch を使用すると、ユーザーに代わってスポットインスタンスへ動的に入札できます。こうして、バッチジョブを追加で実行するコストを削減できます。

AWS BatchとLambdaの比較

Lambdaと何が違うの?と感じる人は多いと思います。私もその一人だったので、AWS BatchとLambdaを比較してみました。

項目 AWS Batch Lambda
実行環境 コンテナ実行環境 コード実行環境
トリガー ジョブ投入 イベント(タイマーを含む)
処理能力 VCPU数とメモリに依存 デプロイパッケージに依存
タイムアウト なし 最大5分
料金 EC2の料金(1時間単位) メモリ使用量(100ミリ単位)

ひと言コメント

今まではAWS上に処理能力がスケールするバッチ環境を構築する場合は、EC2+AutoScalingを組み合わせたシステム構築が必要でした。コスト的に効率的な構成とするためには、EC2の特性を理解する必要があり極めて高いスキルが必要でした。この問題を解決したのがAWS Batchです。AWS Batchは完全マネージド型なのでEC2を意識する必要はなく、誰でも自動的に実行環境を準備できるのです。ついにここまで来たかというのが正直な印象です。オンライン処理からバッチ処理までマネージドサービスの組み合わせでシステムが構築できる時代だなーとシミジミ思う今日この頃です。

スポンサーリンク
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする