AWSIT

AWS Batchとは|AWS認定試験対策

当ブログの内容は筆者の経験と知識に基づいていますが、AWSのサービスおよび認定試験は定期的にアップデートされています。もし記事に誤りや古い情報がある場合、お手数ですが「コメント」や「お問い合わせ」からお知らせいただければ幸いです。読者の皆様からの貴重なフィードバックを歓迎しており、正確かつ有益な情報を提供できるよう努めてまいります。
どうぞよろしくお願いいたします。

スポンサーリンク

AWS Batchとは

AWS Batchとは、その名の通りバッチ処理の実行環境を提供するフルマネージドサービスです。

ここでのバッチ処理とは、予め定義した定型処理をジョブスケジューラによって実行していく「夜間バッチ」のようなものではなく、膨大な量のコンピューティングリソースを使用する負荷の高い「大規模バッチ」というイメージです。よって、AWS Batchは主にスーパーコンピュータ等で行う大規模科学計算や、高負荷なシミュレーション、画像処理、CGレンダリングといった用途でよく利用されます。

AWS Batchを利用したアーキテクチャの例

AWS Batchの活用例として、「ゲノム配列の分析基盤」のアーキテクチャを挙げます。

ユーザー(生物学者)がS3バケットにアップロードした生ファイルをAWS Batchで解析し、その結果を別のS3バケットに格納しています。

AWS Batchを活用したアーキテクチャの例

①ユーザーが生ファイルをS3バケットへアップロードします。

②S3の「イベント通知」によりLambdaまたはEventBridgeを起動し、AWS Batchをトリガーします。
※S3から直接AWS Batchを呼び出すことはできないため、サービスを間に挟みます。

③AWS Batchがコンピューティング環境(Amazon ECS)を構築し、EC2インスタンスまたはFargateで生ファイルの解析を実行します。
※コンピューティングリソースは自動でスケールされます。

④解析結果を別のS3バケットへ格納します。

AWS Lambdaとの違い

改めてAWS Batchとは、バッチ処理や大規模な計算作業を行うためのサービスです。主に、長時間かかる計算タスクやデータ処理など、高負荷のジョブを実行する際に使用されます。

一方でAWS Lambdaとは、イベント駆動型のコンピューティングサービスであり、特定のトリガーに応じてコードを実行します。例えば、API呼び出し、データの変更、メッセージキューからのメッセージなどがトリガーとして使用されます。主に、短時間で実行されるイベント駆動型のアプリケーションやマイクロサービスに利用されます。

AWS BatchとAWS Lambdaの最大の違いは、「実行時間」にあります。

AWS Lambdaは関数のタイムアウト値が「15分」となっており、その時間を過ぎれば強制的に処理が停止します。よって、長時間の処理には適しません。15分を超えることが想定される処理がある場合には、AWS Batchを採用します。

認定試験でこれらのサービスを選択させる際には、問題文中に処理時間が必ず記載されているので、長時間とあれば「AWS Batch」、短時間とあれば「AWS Lambda」を選択するようにしましょう。

AWS Batchとは一言で

AWS Batchとは|AWS認定試験対策

AWS Batchとは、「大規模バッチ処理の環境を提供するマネージドサービス」です。

参考

・AWS公式ガイド
https://docs.aws.amazon.com/ja_jp/batch/latest/userguide/Batch_GetStarted.html

・AWS Batch 入門編(PDF/AWS Black Belt Online Seminar)
https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_AWS-Batch_0929_v1.pdf

【おすすめの参考書】

リンク先からご購入いただき、サイト運営をご支援いただけますと幸いです…

\タイムセール中/
Amazonで探す
\お買い物マラソン開催中/
楽天市場で探す

コメント

タイトルとURLをコピーしました