Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWSのマネージドサービスをつかったバッチ処理の実装 / Develop Batch proc...
Search
Ryohei Sogo
May 14, 2022
Programming
390
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWSのマネージドサービスをつかったバッチ処理の実装 / Develop Batch processing by using AWS managed services
NCDC Dev Meetpup
AWSなんでもLT#5で発表した内容です。
AWSの各種マネージドサービス、サーバレスのサービスを組み合わせてバッチ処理を実装しました。
Ryohei Sogo
May 14, 2022
More Decks by Ryohei Sogo
See All by Ryohei Sogo
フルリモートワークでのエンジニアマネージャーの悩み
rsogo
0
93
振り返りで続ける勉強会
rsogo
0
1.9k
Other Decks in Programming
See All in Programming
Intent as Code
shoppingjaws
6
1.1k
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
200
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
140
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
180
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
470
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
130
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
120
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
320
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
360
Verilogで学ぶCPU自作入門.pdf
uyuki234
5
2.6k
Family mrubyの進捗
kishima
1
130
AHC070解法紹介
eijirou
0
130
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
KATA
mclloyd
PRO
35
16k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Google's AI Overviews - The New Search
badams
0
1.6k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
410
Automating Front-end Workflow
addyosmani
1369
210k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
280
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Embracing the Ebb and Flow
colly
88
5.2k
Transcript
マネージド・サービスと サーバレスでバッチ処理を実装した話 NCDC Dev Meetup AWSなんでもLT会#5 2022年5月13日 十川 亮平
自己紹介 NCDC株式会社 十川 亮平 (そごう りょうへい) IoTプラットフォーム製品の プロダクトマネージャー。 AWS関連のアーキテクチャの 設計や、バックエンドを 担当しています。
やりたかったこと 別システム FTPでファイル受 信 重たい データ変換処理 変換後のデータを WebアプリのDBに 入れる EC
サイトで別システムから 各種マスタファイルが来るので、変換 処理を行い、 Web アプリケーションから 使用する DB に投入する
極力インフラ運用やりたくない! サーバー障害とかAWSさんに任せたい スケール勝手にして欲しい
こういう構成で実現しました 別システム AWS Transfer family for SFTP S3 受信ファイル 置き場
EventBridge ファイルが 置かれたことを 契機に起動 StepFunctions 処理フロー 制御 1. 前処理 2.データ変換 変換用Aurora Serverless DynamoDB Webアプリケーショ ンから利用 3.データ登録
他システムからのファイルの受信 ファイルはS3に送って欲しいけ ど他システムはSFTP、 FTPS、FTPしか対応できな いって言ってる・・・
そんなときはAWS Transfer Family 別システム AWS Transfer family for SFTP S3
受信ファイル 置き場 FTPサーバー 管理しなくて良 くて楽〜 SFTP, FTPS, FTPでファイルを受け付け、 AWS S3、EFSにファイルを配置してくれるサービス
処理フロー制御と実行基盤:StepFunctions + Lambda バッチ処理の実行基盤の候補は沢山ありますが、 StepFunctions + Lambdaで行いました。 S3 受信ファイル 置き場
EventBridge ファイルが 置かれたことを 契機に起動 StepFunctions 処理フロー 制御 1. 前処理 2. データ変換 3. データ登録
StepFunctions + Lambdaを選択した理由① • このバッチ処理はファイルが来たら動くので、常にインス タンスが存在する必要はない S3 受信ファイル 置き場 EventBridge
ファイルが 置かれたことを 契機に起動 StepFunctions 処理フロー 制御 1. 前処理 2. データ変換 3. データ登録 • マネージド・サービスと サーバレスの組み合わ せでメンテナンスがかな り楽 • 変換処理に使用する データベースもAurora Serverlessにし、コスト を抑えることができた
StepFunctions + Lambdaを選択した理由② • 複数の処理を順番に実施したり、 一部は並列処理するのでフロー制御はやりたかった • StepFunctionsの実行結果とLambdaのログをCloudWatchにて監視 StepFunctions の
処理失敗を CloudWatch から監視 SNS topic 経由でメール通知 CloudWatch
StepFunctions + Lambdaを選択した理由③ 実行基盤はLambdaを利用しました • Lambdaの実行時間の制約である15分以内に1ステップ分の処理が 完了できる見込みがあったので、コンテナでやる必要がなかった • 変換処理のロジックはスクラッチで書きたかった (データ変換用のツール、フレームワークを使うほどでもなかった)
EventBridge まとめ AWSの各種マネージドサービス、サーバレスなサービスを組み合わせた バッチ処理は開発時も、運用時も非常に楽ができました。 アプリケーションの実行基盤はAWS Lambdaを使いましたが、 ここは用途に合わせていんな組み合わせがありそうだなと思います。 Transfer family S3
StepFunctions Lambda Aurora Serverless
ありがとうございました