AWS Batchとは? バッチ処理を簡単かつ、効率的に行う


AWS Batchの概要

AWSBatchとはAWS上の各種リソースに、バッチ処理を簡単かつ、効率的に行うことができるサービスです。

バッチ処理とは任意のタイミングでまとめて処理を行うことです。処理の内容は前もって設定をしておくと、自動的に設定どおりに処理を実行してくれます。複数のジョブがある場合は、「Aが終わったらB」などの順番を決めることも可能です。

AWS Batch では、コンピューティング環境とジョブのキューを管理します。これにより、何千ものジョブを、EC2、スポットインスタンス、AWS Fargate を使用して簡単に実行することでき、お客様は、バッチジョブを定義してキューに送信するだけです。ジョブの進捗状況は、AWS Batch でモニタリングすることが可能で、不要になったキャパシティは、AWS Batch で削除されます。

AWS Batchの利点

フルマネージド型

AWS Batchはフルマネージド型であるため、バッチソフトウェアやサーバーの準備や管理は必要ありません。さらにモニタリング、スケーリング、プロビジョニングの必要がないため開発者や管理者は自身の業務に専念することができます。

モニタリングとログ記録

AWS Batchにより、主要なオープンメトリクスはAWSマネジメントコンソールに表示され、コンピューティング性能や、実行中、完了済みなどのジョブの状態も確認することができます。ログ記録はAmazon CloudWatch Logs に書き込まれます。

複数のジョブキューに優先度を設定できる

複数あるジョブキューの中でも優先度を設定することで、ジョブを実行するためのリソースの無駄をなくします。

AWSとの統合

AWS BatchはAWSプラットフォームと統合されていることから、AWSのスケーリング、ネットワーキング、アクセス管理機能を利用することができます。

このため、Amazon S3や Amazon DynamoDBなどのデータストアからデータの取得と書き込みが安全にできます。

コスト最適化

AWS Batchに対する追加料金は発生しません。

バッチジョブを保存したり、実行したりするために作成したAWSリソースに対しての費用が必要で、AWSBatchに対してのコスト必要なく、コスト最適化につなげることができます。

まとめ

AWS BatchとはAWS上の各種リソースを利用してバッチ処理を行います。フルマネージドでありインフラストラクチャの管理が必要ないため、開発者の負担を減らすことができるのです。

参考資料

https://aws.amazon.com/jp/batch/