---
title: KEDAで実現するイベント駆動でスケーラブルなJob実行
tags: 
author: [TKD](https://image.docswell.com/user/7328957)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/VENYW6KMJ8.jpg?width=480
description: K8s Novice Tokyo #40 LT資料
published: April 09, 26
canonical: https://image.docswell.com/s/7328957/KWRWGP-2026-04-09-192701
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/VENYW6KMJ8.jpg)

KEDAで実現するイベント駆動で
スケーラブルなJob実行
K8s Novice Tokyo #40 竹田


# Page. 2

![Page Image](https://bcdn.docswell.com/page/Y79PXLVWE3.jpg)

自己紹介
氏名：竹田舜（X：https://x.com/TKDDDDDS ）
所属：株式会社ラクス
業務
インフラ〜プラットフォーム、時々アプリ・LLM関連
これ関連の
仕事してます


# Page. 3

![Page Image](https://bcdn.docswell.com/page/G78D2XPR7D.jpg)

今日はKEDAの話


# Page. 4

![Page Image](https://bcdn.docswell.com/page/L7LM2812JR.jpg)

KEDAとは？
Kubernetes Event-driven Autoscaling
名前の通り、イベント駆動でPodを増やしたり、Job実行・Jobの並列起動数のキューに
応じた変更が可能
※ https://keda.sh/


# Page. 5

![Page Image](https://bcdn.docswell.com/page/4EMY86W9EW.jpg)

主なカスタムリソース
MQ、DB、メトリクスなど様々な値でスケールが可能
-
ScaledObject
-
-
常駐ワーカーを伸縮
基本的に起動しっぱなしの Podなどを増やし、処理可能な量を増やす
0個にするのも可能
ScaledJob
-
イベントに応じて Job を増やす
キュー数に応じて起動する Jobを増やす
キューをポーリングして毎回起動するので、コールドスタート分の起動時間コストはかかる


# Page. 6

![Page Image](https://bcdn.docswell.com/page/PER95PY9J9.jpg)

主なカスタムリソース
MQ、DB、メトリクスなど様々な値でスケールが可能
-
ScaledObject
-
常駐ワーカーを伸縮
基本的に起動しっぱなしの Podなどを増やし、処理可能な量を増やす
0個にするのも可能
今日はこっちの話！
-
ScaledJob
-
イベントに応じて Job を増やす
キュー数に応じて起動する Jobを増やす
キューをポーリングして毎回起動するので、コールドスタート分の起動時間コストはかかる


# Page. 7

![Page Image](https://bcdn.docswell.com/page/P7XQK3G3EX.jpg)

具体的なユースケース
例：LLMアプリケーションで考える
ユーザーと同期的なやりとりをしない場合や処理時間が長い場合
→非同期にする選択肢（例えばcronjobにしたり、常駐Podにロジック記述する）


# Page. 8

![Page Image](https://bcdn.docswell.com/page/37K95Y4N7D.jpg)

KEDA導入のメリット
・非同期を実現するキュー関連のロジックをアプリケーション側に記述せず、プラット
フォーム側で吸収できる
・アプリケーションが周りのmanifestが書かれている場合、Operator導入&amp; ScaledJob
manifest作成で素早く導入できる
・Nodeのオートスケールの仕組みと組み合わせれば、スケーラブルなシステムを作れる
KEDAを利用すれば、イベント駆動を簡単に実現できる。


# Page. 9

![Page Image](https://bcdn.docswell.com/page/LJ3WK9LZJ5.jpg)

SQS(elastic-mq)とつなぐときの注意点
本物のSQSにつなぐ場合はIAMポリシーの設定に注意！
ScaledJobを起動するか判断するために使うポリシーはKEDA-Operator側のService
Accountに付与されてる必要があります
※ ただ、これはPod側の権限を使うようにもできるよう？
ScaledJobで起動するアプリが使うSA ≠ Scaleを判断するSA


# Page. 10

![Page Image](https://bcdn.docswell.com/page/8JDK3GN4EG.jpg)

sample-appで実際に動作を試してみる
サンプルアプリケーションを作ってみました
enqueueアプリがキューを詰め、ScaledJobで起動するdequeueでキューを読んで、内
容をDBに保存します。
今回はシンプルですが、dequeue側を作り込めばそのままイベント駆動のアプリケー
ションを作れます


# Page. 11

![Page Image](https://bcdn.docswell.com/page/VEPK435V78.jpg)

サンプルの構成


# Page. 12

![Page Image](https://bcdn.docswell.com/page/27VVX4PR7Q.jpg)

デモ
https://github.com/tkeshun/keda-kind


# Page. 13

![Page Image](https://bcdn.docswell.com/page/5JGLV1P67L.jpg)

まとめ
-
KEDA：イベント駆動をK8s上で実現するOperator
導入が簡単
LLMアプリケーション時代の非同期ユースケースにマッチするかも？？？
ぜひアプリケーションで作り込みする前に試してみて！


