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
定期処理の実行時間を監視してますか?
Search
Nealle
October 22, 2026
Technology
8
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
定期処理の実行時間を監視してますか?
【JAWS-UG 神戸 #15】残暑!LT会
登壇資料です
https://jawsug-kobe.connpass.com/event/407581/
Nealle
October 22, 2026
More Decks by Nealle
See All by Nealle
Running Kotlin + Quarkus with Lambda
nealle
1
4.1k
ASTを使って影響範囲を特定する
nealle
0
230
AWSとGitHub Actionsの責任境界と 組織で安全に使用する取り組み
nealle
2
440
Claude Codeによるデータ分析の民主化とそれを支えるデータ基盤
nealle
1
200
Product Engineering Conference 2026の ご案内
nealle
0
430
【旧版】Nealle Company Deck
nealle
0
160
職種の境界を染み出しあう品質保証 - PdEがテストへ、QAが上流へ、AIとともに
nealle
0
290
どうして今サーバーサイドKotlinを選択したのか
nealle
0
710
電話を武器に変える Amazon Connect 活用の全貌
nealle
0
7.3k
Other Decks in Technology
See All in Technology
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
200
dbt Semantic Layerで進めるenechainのデータ民主化
akizhou
1
150
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
130
野蛮なアジャイル [サイボウズ発!]組織の常識を覆した反骨のスクラム実践記 / Barbaric Agile - Enterprise Agile Study Group
ama_ch
0
120
データエンジニアの次の戦場は "プロセスエンジニアリング"
sansantech
PRO
1
130
React改造してみた
tsukina_7mochi
0
140
「エーアイ」をバズワードにしないために RPA 導入経験と Kiro 上での Claude モデル利用経験から
kazzpapa3
0
110
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.4k
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.4k
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
320
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
370
How to Design Configuration for Rails Applications
willnet
1
900
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Building AI with AI
inesmontani
PRO
1
1.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
630
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
Music & Morning Musume
bryan
48
7.4k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
WENDY [Excerpt]
tessaabrams
14
40k
How to build a perfect <img>
jonoalderson
1
6.1k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
270
Transcript
Nealle NEALLE 定期処理の実行時間を 監視してますか? 2026.10.23 JAWS-UG 神戸 #15「残暑!LT会」 株式会社ニーリー 宇田川
涼平 1
自己紹介 Nealle Ryohei Udagawa 宇田川 涼平 [所属・役職] 株式会社ニーリー SRE [経歴]
HRテックにエンジニアとして入社し、エンジニア〜EMまで担当。 2026/03にSREとして、ニーリーに入社 [趣味] ・サウナ ・海釣り(最近はじめました) [SNS アカウント] X:@Ryoheiengineer 2
プロダクト紹介 Nealle 「Park Direct」は駐車場の募集から契約、決済、管理までをオンラインで完結させるモビリティ 領域のOperating System(Mobility OS)です。 [ここにプロダクト概要図を貼る(前のデッキの3枚目の図)] 3
目次 Nealle 1.なぜ実行時間を監視するのか? 2.どう検知するか? 3.まとめ 4
Nealle 1.なぜ実行時間を監視するのか? 5
1.なぜ監視するのか? - エラー通知の構成 - Nealle 定期処理は Step Functions 経由で実行し、失敗したら Slack
に通知していた EventBridge Step Functions ECS RunTask バッチごとの cron ルール 全バッチ共通の1本 Fargate でバッチを実行 失敗(FAILED)したら EventBridge Execution Status Change Lambda 通知文を作る AWS Chatbot SNS (現 Amazon Q Slack Developer) 6
Nealle ユーザーが増えてきたある日、ビジネスサイドから 「処理が終わっていないので、状況を 確認してほしい」 エラーではない → 失敗通知は鳴らない 想定時間の超過を検知できず、影響が出る前に打ち手を実行できない状態でした😢 7
1.なぜ監視するのか? - 遅れも検知したい - Nealle 定期処理の先には、クリティカルな業務がある 定期処理が遅れる 後続の業務が始められない これまで これから
失敗したら通知 失敗したら通知 クリティカルな業務に影響 +完了後に、遅れていた実行を通知 8
Nealle 2.どう検知するか? 9
2.どう検知するか? - 何で測るか- Nealle Step Functionsの完了イベントから開始時刻、終了時刻、想定時間を渡し、Lambdaで計算して通知する ようにした メトリクス: Step Functionsに実行時間(ExecutionTime)はあるが、全バッチが1本のグラフに混ざって区別できない
完了イベント: 実行時間の項目はないが、開始・終了時刻から計算でき、input でバッチも分かる 方式 バッチごとの閾値 バッチ実行経路への変更 判定 CloudWatch Alarm (ExecutionTime) 不可(1系列に混ざる) なし 不採用 Step Functions 内で判定 可 あり(全バッチに波及) 不採用 完了イベント+Lambda 可(input の閾値) なし 採用 採用理由: ・バッチごとに閾値を変えられる ・責任分離(定期処理の実行は Step Functions、監視は Lambda) 出典: docs.aws.amazon.com/step-functions/latest/dg/procedure-cw-metrics.html 10
2.どう検知するか? - 実行時間アラートの構成 - Nealle メトリクスではなく、完了イベントで判定する EventBridge Step Functions ECS
RunTask input にバッチ名・閾値 全バッチ共通の1本 Fargate でバッチを実行 成功(SUCCEEDED)したら EventBridge Execution Status Change Lambda 実行時間と閾値を比較 AWS Chatbot SNS (現 Amazon Q Slack Developer) Lambda は完了イベントを受け取り、実行時間(stopDate - startDate)を自分で計算して input の閾値と比較 完了後の通知 → 処理時間が伸びている傾向を早めにつかむ用途(実行中の検知は次の課題) 出典: docs.aws.amazon.com/step-functions/latest/dg/eventbridge-integration.html 11
2.どう検知するか? - Terraform で閾値を必須にする - Nealle 閾値はバッチ定義(Terraform)に持たせ、EventBridge の input で
Lambda まで渡す 定期処理の定義(共通モジュールの呼び出し) module "batch_xxx" { source = "../../modules/eventbridge/scheduled_task" batch_job_name = "xxx" ... # 必須(default なし・10分以上) duration_threshold_minutes = 30 Terraform の変数 duration_threshold_minutes = 30 EventBridge の input_template 実行 input に閾値を埋め込む } Step Functions の実行 input 完了イベントにそのまま入る 未指定だと terraform validate が失敗 → 今後追加される定期処理も、想定時間の入力が必須 Lambda input の閾値を読んで判定 12
2.どう検知するか? - 通知された様子- Nealle 通知内容にはランブックも添付して、すぐにアクションできるようにしています 12
Nealle 3. まとめ 9
まとめ Nealle エラーだけではなく、実行時間の監視も必要 ・想定より実行時間が伸びたときに、思わぬ形でユーザーへの影響が出る Step Functions 1本構成なら、メトリクスではなくイベントで見る ・ExecutionTime の次元は StateMachineArn
→ バッチを区別できない ・完了イベントの input に閾値を持たせて判定する 形骸化しないように、新たに定期処理を追加するときも想定時間を必須化 ・Terraform のバリデーションで想定時間を必須にする 13
Nealle Thank you 14