Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWSのマネージドサービスをつかったバッチ処理の実装 / Develop Batch proc...

AWSのマネージドサービスをつかったバッチ処理の実装 / Develop Batch processing by using AWS managed services

NCDC Dev Meetpup
AWSなんでもLT#5で発表した内容です。

AWSの各種マネージドサービス、サーバレスのサービスを組み合わせてバッチ処理を実装しました。

Ryohei Sogo

May 14, 2022
Tweet

More Decks by Ryohei Sogo

Other Decks in Programming

Transcript

  1. やりたかったこと 別システム FTPでファイル受 信 重たい データ変換処理 変換後のデータを WebアプリのDBに 入れる EC

    サイトで別システムから 各種マスタファイルが来るので、変換 処理を行い、 Web アプリケーションから 使用する DB に投入する
  2. こういう構成で実現しました 別システム AWS Transfer family for SFTP S3 受信ファイル 置き場

    EventBridge ファイルが 置かれたことを 契機に起動 StepFunctions 処理フロー 制御 1. 前処理 2.データ変換 変換用Aurora Serverless DynamoDB Webアプリケーショ ンから利用 3.データ登録
  3. そんなときはAWS Transfer Family 別システム AWS Transfer family for SFTP S3

    受信ファイル 置き場 FTPサーバー 管理しなくて良 くて楽〜 SFTP, FTPS, FTPでファイルを受け付け、 AWS S3、EFSにファイルを配置してくれるサービス
  4. 処理フロー制御と実行基盤:StepFunctions + Lambda バッチ処理の実行基盤の候補は沢山ありますが、 StepFunctions + Lambdaで行いました。 S3 受信ファイル 置き場

    EventBridge ファイルが 置かれたことを 契機に起動 StepFunctions 処理フロー 制御 1. 前処理 2. データ変換 3. データ登録
  5. StepFunctions + Lambdaを選択した理由① • このバッチ処理はファイルが来たら動くので、常にインス タンスが存在する必要はない S3 受信ファイル 置き場 EventBridge

    ファイルが 置かれたことを 契機に起動 StepFunctions 処理フロー 制御 1. 前処理 2. データ変換 3. データ登録 • マネージド・サービスと サーバレスの組み合わ せでメンテナンスがかな り楽 • 変換処理に使用する データベースもAurora Serverlessにし、コスト を抑えることができた