【中学生でもわかるIT用語】AWS Batchとは 物語と実際の事例でわかりやすく解説

AWS

AWS Batch

  • AWS Batchの基本的な概念を理解できます。
  • AWS Batchがどのような場面で役立つかを知ることができます。
  • AWS Batchと他のAWSサービスとの違いを把握できます。

① ストーリー性を取り入れた説明

旅行会社の新規事業開発部では、大量の旅行写真の加工処理に頭を悩ませていました。月末のパンフレット作成の締切が迫る中、手作業での画像処理がボトルネックとなり、プロジェクトの進行が遅れていました。特に、高解像度の写真を大量にリサイズする必要があり、時間と手間がかかっていました。

ケンイチは焦っていました。このままでは締切に間に合わないかもしれない。何か良い解決策はないかと、彼は上司である課長に相談することにしました。

ケンイチ:
「課長、ご相談があります。
月末のパンフレット作成で、旅行写真のリサイズが全然終わらなくて困っています。
何か良い方法はないでしょうか?」

課長:
「うーん、それは大変だね。
AWS Batch を検討してみるのはどうだろう?
大量の画像処理を自動化できるから、時間と手間を大幅に削減できるはずだよ」

ケンイチ:
AWS Batchですか?すみません、初めて聞く名前です。それは一体何でしょうか?」

課長:
「AWS Batchは、ひとことで言うと、
大量のジョブを効率的に実行するためのサービスだ。
写真のリサイズのような処理を、自動で並行して実行できるんだよ」

ケンイチ:
「自動で並行して実行…?
つまり、複数の写真を同時にリサイズできるということでしょうか?」

課長:
「そういうこと。
AWS Batchは、必要なコンピューティングリソースを自動で調整してくれるから、
リソース不足を心配する必要もないんだ」

ケンイチ:
「なるほど…。 リソースの心配がいらないのは助かりますね。
でも、サーバとかの設定が難しそうですね…」

課長:
「そこがAWS Batchの良いところで、インフラの管理をほとんど意識せずに使えるんだ。
ジョブを定義して実行するだけで、あとはAWSが面倒を見てくれる」

ケンイチ:
「ジョブを定義する、ですか。
ジョブっていうのは、具体的に何を指すんでしょうか?」

課長:
「ジョブは、AWS Batchに実行させたい処理の単位のこと。
今回の例で言うと、
『この写真をリサイズして』っていう指示が、一つのジョブになるわけだ」

◆ AWS Batchのメリット
・大量のジョブを効率的に処理できる
・インフラ管理の負担が少ない
・リソースを柔軟に調整できる

ケンイチ:
「なるほど、ジョブというのは処理の単位のことなんですね。
似たようなサービスで、AWS Lambdaというのもありますよね?
AWS BatchとLambdaって、どう違うんでしょうか?」

課長:
Lambdaは、イベント駆動型の小さな処理に向いている。
Batchは、時間がかかるバッチ処理に向いているんだ。
例えば、LambdaはWebサイトのアクセスログの集計とか、
Batchは動画のエンコードとか、大量データの分析とかに使うことが多いかな」

ケンイチ:
「バッチ処理、ですか。
締切に間に合わせるには、Batchの方が良さそうですね!
他に注意点とかってありますか?」

課長:
「AWS Batchを使うには、ジョブを投入するキューを設定する必要がある。
キューの設定を間違えると、ジョブが実行されなかったり、
リソースが過剰に消費されたりする可能性があるから、注意が必要だ」

ケンイチ:
「キューの設定、難しそうですね…」

課長:
「大丈夫、AWSのドキュメントを参考にすれば、設定できるはずだよ。
それに、最初は簡単な設定から試してみるのがおすすめだ。
まずは、小さいサイズの写真をいくつかリサイズするジョブを試してみるといい」

ケンイチ:
「なるほど、まずは試してみるのが大切ですね!
今日中に、画像変換の自動化を試してみます!」

よく間違えられやすい用語との違い

用語得意な処理処理時間料金
AWS Batch大量のバッチ処理比較的長い実行時間に応じた従量課金
AWS Lambdaイベント駆動型の小さな処理短い実行回数と実行時間に応じた従量課金
Amazon EC2汎用的なコンピューティング自由インスタンスの利用時間に応じた課金

■ 用語の定義
AWS Batchとは、AWS上でバッチ処理を実行するためのフルマネージドサービスです。



AWSの基本・仕組み・重要用語が全部わかる教科書



② 実際の事例

大林組の事例

都市開発や高層ビル設計で必要な風環境・日射・眺望などの環境解析に、大量の計算リソースが必要になるという課題がありました。従来はPC中心の環境だったため、タイムリーな解析が難しく、3D都市モデルの変換や解析作業にも大きな負担がかかっていました。

そこで大林組は、AWSを使った解析基盤を構築しました。PLATEAUデータ(デジタルツインのデータ)のOBJ形式(Dモデルの頂点、面、テクスチャ情報を保持するオープン標準のファイル形式)への変換にはAWS LambdaAWS Batchを活用し、変換済みデータをAmazon S3に保存。さらに、解析処理はコンテナ化して、HPC解析(ハイパフォーマンスコンピューティング:高性能計算)にはAWS Batch、サーバーレスで分散処理するHTC解析にはAWS Lambdaを使い分け、全体の流れはAWS Step Functionsで自動化しています。

導入効果も非常に分かりやすく、データのダウンロードと形式変換にかかる時間は、従来の200時間から5時間へ短縮されました。また、都市の風環境を対象にしたHPC解析では、条件によってはトータルで240〜640倍の高速化を実現しています。

これは大林組が環境解析のような重い計算処理を効率化した事例です。

【中学生でもわかるIT用語】HPCクラスタとは 物語と実際の事例でわかりやすく解説
HPC(High Performance Computing)クラスタ ① 物語性を取り入れた説明 ある日、ミナと彼女の友達は、学校のプロジェクトで天体観測のデータを分析することになりました。データの量が膨大で、普通のコンピュータでは処...

③ クイズや小テスト

クイズ1

AWS Batchの主な用途として正しいのはどれ?

A:大量のバッチ処理の実行

B:リアルタイムWebアプリケーションのホスティング

C:サーバーレス関数の実行

クイズ2

AWS Batchでジョブを投入するために必要な設定はどれ?

A:ジョブキューの設定

B:VPCの設定

C:IAMロールの設定

クイズ3

AWS Lambdaと比較したAWS Batchの利点として正しいのはどれ?

A:処理時間の短いイベント駆動型タスクに適している

B:インフラ管理が不要である

C:長時間実行されるバッチ処理に適している

答え:

1-A:大量のバッチ処理の実行(効率的な処理が可能)

2-A:ジョブキューの設定(ジョブ投入に必須)

3-C:長時間実行されるバッチ処理に適している(バッチ処理向け)

解説:AWS Batchは、大量のバッチ処理を効率的に実行するためのサービスです。AWS Lambdaはイベント駆動型の処理に向いています。ジョブキューは、AWS Batchにジョブを投入するために必要な設定です。



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