メインコンテンツに移動

バッチ処理をスケジュール化してジョブを管理したい

オンプレミスのジョブ管理ツールを使用してデータベースの値から集計ファイルを作成しているが、データベースをクラウド移行するにあたり、クラウド上で一元管理してジョブを自動実行する方法をご紹介します

構成概要

この構成例のクラウドレベル:

基礎編

入門編:該当するユースケースの知識が全くない方が対象
基礎編:該当するユースケースの入門知識がある方が対象
応用編:該当するユースケースにある程度精通している方が対象

この構成例で解決できる課題・困りごと:

  • 決済機能のデータベースから請求用の月間データ集計を行いたい

  • ウェブアプリのデータベースからユーザの利用状況の分析を行いたい

  • 認証機能のデータベースから新規ユーザの登録状況の集計を行いたい

  • 受注機能のデータベースから受注件数表を作成したい

この構成例の概算料金:

2.78 ドル(月額)

この構成例のメリット:

  • 業務バッチで求められる処理状況の監視・異常発生時のリカバリ設定、定期実行、処理方式の多重/並列化をマネージドサービスを利用して構築することにより、ジョブ管理の運用負荷の軽減とサーバーレスサービスの利用により、コストの最適化を実現します

Architecture diagram showing an AWS Step Functions workflow for job management. The diagram, labeled in Japanese, illustrates integration of Amazon EventBridge, AWS Lambda, Amazon DynamoDB, Amazon S3, and Amazon SNS within the AWS Cloud. It depicts the flow for starting batch jobs, data extraction, aggregation, storage, and notification handling, including normal and error processing paths.

月額合計料金:2.78 (USD)

この構成例で使用したサービスと概算料金内訳

サービス
項目
数量
単価
料金 (USD)
AWS Step Functions

状態遷移

4 (状態遷移/回) * 24 (回/日) * 30 (日/月) = 2,880 (状態遷移/月)

0.000025 USD/状態遷移

0.08

Amazon EventBridge

スケジューラー

4 (呼び出し/日) * 30 (日/月) = 720 (呼び出し)

1.25 USD/100 万呼び出し

0.01

AWS Lambda

実行回数

実行時間(コンピュート

実行時間(ストレージ)

72 (回/日) * 30 (日/月) = 2,160 (回/月)

1 (GB のメモリ量を設定) * 30.0 (秒) ※1 * 72 (回/日) * 30 (日/月) = 64,800 (GB-秒)

5 GB * 30.0 (秒) ※1 * 72 (回/日) * 30 (日/月) = 291,600 (GB-秒)

0.20 USD/100 万件

0.0000166667 USD/GB-秒

0.000000037 USD/GB -秒

0.01

1.08

0.02

Amazon DynamoDB (オンデマンドモード)

データストレージ

読み出し要求

5 GB

250 RRU のリクエストが 720 回 発生

0.285 USD/GB -月

0.285 USD/100 万回

1.43

0.05

Amazon S3

Post リクエスト

ストレージ

240 (リクエスト/日) * 30 (日/月) = 7,200 (リクエスト/月) ※2

1 GB ※2

0.0047 USD/1,000 リクエスト

0.025 USD/GB

0.04

0.03

Amazon SNS

API リクエスト

通知配信

24 (リクエスト/日) * 30 (日/月) = 720 (リクエスト/月)

24 (通知/日) * 30 (日/月) = 720 (通知/月)

0.50 USD/100 万リクエスト

0.200 USD/10 万通知

0.01

0.02

  • 東京リージョンでのご利用を想定しています。

  • 1 ヶ月を 30 日として計算しています。

  • 少数第二点未満を切り上げで試算します。

  • 本試算では下記の仮定のバッチ処理での料金計算を行います。
    ※1 各バッチの処理単体で平均 30 秒の処理時間がかかると仮定します。
    ※2 集計レポートは毎日 1 MBのファイルを 10 個生成して、100 日間データを保存します。

  • バッチ処理は 1 日に平均 24 回実行します。

  • 本試算ではバッチ処理がエラーとなった際のリトライに関する料金等は含めず計算しています。

  • Amazon S3 には Standard ストレージを利用し、1 MB のファイルを最大 1,000 件保持するようにします。

  • データベースには Amazon DynamoDB (オンデマンドモード) を用い、下記の前提で試算を行うものとします。

    • 常に 5 GB のデータを保持します(変動は考慮しないものとします)。

    • 読み出し要求は 250 RRU のリクエストが 720 回発生するとします。
      ※強力な整合性のある読み込みの利用を想定しています。

  • Amazon DynamoDB の詳しい情報は下記の料金ページをご参照ください。
      https://aws.amazon.com/jp/dynamodb/pricing/

  • 無料枠について (2024/08 現在)

  • 本アーキテクチャで利用するサービスは下記無料枠がありますが、本試算ではこの分を抜いて試算を行なっています。

    • AWS Lambda には下記の無料枠があります。

      • リクエスト回数: 1 か月ごとに 100 万件リクエストが無料

      • コンピューティング時間: 320 万 GB-秒 のコンピューティング時間が無料

      • ストレージ:512 MB のエフェメラルストレージが無料

    • Amazon DynamoDB には 25 GB / 月のデータストレージ無料枠があります。

    • AWS Step Functions には 4,000 回 / 月の状態遷移の無料枠があります。

    • Amazon SNS には 100 万回 / 月のリクエストまでの無料枠があります。

    • Amazon S3 には 5 GB の Standard ストレージの無料枠及び、2,000 件の PUT、COPY、POST、LIST リクエストの無料枠があります。

    • Amazon Event Bridge Scheduler には 1,400 万回の呼び出しの無料枠があります。
      ※無料利用枠の詳しい情報は下記のページをご参照ください。
      https://aws.amazon.com/free/

※ 2024 年 08 月 16 日時点での試算です