Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
beelt-aws-job
Search
Yuto Uchima
October 08, 2025
Technology
8
0
Share
beelt-aws-job
環境依存LT会(BEELT #11)での登壇資料。
Yuto Uchima
October 08, 2025
More Decks by Yuto Uchima
See All by Yuto Uchima
Sidekiq+Valkey Serverlessでハマった話
sabinuki
1
110
Other Decks in Technology
See All in Technology
Hacobu Tech Deck
hacobu
PRO
0
110
AI時代における技術的負債への取り組み
codenote
1
1.5k
The Journey of Box Building
tagomoris
4
2.7k
最近の技術系の話題で気になったもの色々(IoT系以外も) / IoTLT 花見予定会(たぶんBBQ) @都立潮風公園バーベキュー広場
you
PRO
1
240
#jawsugyokohama 100 LT11, "My AWS Journey 2011-2026 - kwntravel"
shinichirokawano
0
350
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
16k
No Types Needed, Just Callable Method Check
dak2
1
1.2k
20260423_執筆の工夫と裏側 技術書の企画から刊行まで / From the planning to the publication of technical book
nash_efp
3
400
昔はシンプルだった_AmazonS3
kawaji_scratch
0
330
[OpsJAWS 40]リリースしたら終わり、じゃなかった。セキュリティ空白期間をAWS Security Agentで埋める
sh_fk2
3
240
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
210
Standards et agents IA : un tour d’horizon de MCP, A2A, ADK et plus encore
glaforge
0
170
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
140
Tell your own story through comics
letsgokoyo
1
900
Unsuck your backbone
ammeep
672
58k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
160
Why Our Code Smells
bkeepers
PRO
340
58k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
The Invisible Side of Design
smashingmag
303
52k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
110
Between Models and Reality
mayunak
3
270
The Cult of Friendly URLs
andyhume
79
6.8k
Navigating Weather and Climate Data
rabernat
0
170
Transcript
ローカルでは動作するのに AWSリソース上では動作しなかった ジョブのお話し 2025.08.25 個人開発/環境依存LT会【BEELT #11】 うっちー @beerfan_biber
confidential 自己紹介 株式会社きがるな 1 こんにちは、うっちーです! (@beerfan_biber) • 株式会社きがるな 代表取締役 •
ビールが好き • Casusult(カジュサル)というサービスを開発しています
confidential プロダクト紹介 Casusult(カジュサル) • SNSクラウドソーシングプラットフォーム • 「カジュアルに相談してから契約」がコンセプト • “スキル×人柄”からワーカーの選定が可能 株式会社きがるな
2
confidential 使用技術 バックエンド • Ruby on Rails フロントエンド • React
+ TypeScript クラウド • AWS • フロントエンド: Amazon S3 + Amazon CloudFront • バックエンド: Amazon ECS(Fargate) • 監視/ログ: Amazon CloudWatch • CI/CD: GitHub Actions + AWS CodeDeploy 株式会社きがるな 3
confidential インプレッション集計ジョブ 株式会社きがるな 4 投稿がタイムラインに表示される • 投稿が取得されるたびにインプレッションをカウント • 毎カウントでDB更新するのは負荷が高い •
カウントをキャッシュしてDB更新頻度を下げたい → インプレッション集計ジョブ作成
confidential インプレッション集計ジョブ 1. 取得投稿ID+ユーザーID をRedisにキャッシュ 2. Jobをキューイング (5分後に実行) 3. インプレッション数を
Bulk Update 投稿取得 ↓ Redisに投稿IDをキャッシュ ↓ Job実行を5分後に設定 株式会社きがるな 5
confidential インプレッション集計ジョブ 株式会社きがるな 6 1. 取得投稿ID+ユーザーID をRedisにキャッシュ 2. Jobをキューイング (5分後に実行)
3. インプレッション数を Bulk Update ジョブ実行 ↓ Redisの排他制御で リロードによる重複カウントを防ぐ ↓ インプレッション数を更新
confidential インプレッション集計ジョブ 株式会社きがるな 7 投稿がタイムラインに表示される 非同期でジョブを実行
confidential Sidekiqとは バックグラウンドジョブ処理ライブラリ 【開発・運用面のメリット】 • Redisをバックエンドに使用したシンプルな構成 • リトライ、スケジューリング、監視が可能 • ダッシュボード
【パフォーマンス】 • 高速で信頼性の高い処理 • ワーカー数を調整可能でスケーラブル • メモリ使用量が少ない 株式会社きがるな 8
confidential インフラ構成簡易図(APIサーバ) 株式会社きがるな 9 Fargate ElastiCache Serverless (Valkey) Amazon Aurora
Serverless v2 Amazon EventBridge Amazon S3
confidential インフラ構成簡易図(APIサーバ) 株式会社きがるな 10 Fargate ElastiCache Serverless (Valkey) Amazon Aurora
Serverless v2 Amazon EventBridge Amazon S3 既存のリソースを利用して FargateにSidekiq用のコンテナを追加 ElastiCacheをSidekiqで利用
confidential Sidekiq用のコンテナを作成 株式会社きがるな 11 Fargate ElastiCache Serverless (Valkey) コンテナ コンテナ
confidential Sidekiq用のコンテナを作成 株式会社きがるな 12 Fargate ElastiCache Serverless (Valkey) コンテナ コンテナ
接続エラー
confidential エラー原因 • 使用していたValkeyがクラスタ構成 • Sidekiqはクラスタ構成のValkey(Redis)に対応していませんでした 以下、SidekiqのGitHubより抜粋 (https://github.com/sidekiq/sidekiq/wiki/Using-Redis#architecture) 株式会社きがるな 13
confidential 構成変更 株式会社きがるな 14 Fargate ElastiCache Serverless (Valkey) コンテナ コンテナ
廃止
confidential 構成変更 株式会社きがるな 15 Fargate コンテナ Amazon SQS Active Job
confidential どうやって原因を見つけたのか 1. Claude Codeに原因調査をさせる → AWSの環境を理解していないため、嘘をつきまくる (プロンプトエンジニアリングをしっかりやれば結果は変わりそう) 2. エラー内容をGoogle検索する
→ 検索にヒットせず 3. 接続環境の設定とログを調査 → 各リソースのログをすべて確認 4. ローカル環境とAWS環境の差分を調査 → 今回は、RedisではなくValkeyを使用していることが環境差分 株式会社きがるな 16
confidential どうやって原因を見つけたのか 1. AIに原因調査をさせる → AWSの環境を理解していないため、嘘をつきまくる (プロンプトエンジニアリングをしっかりやれば結果は変わりそう) 2. エラー内容をGoogle検索する →
検索にヒットせず 3. 接続環境の設定とログを調査 → 各リソースのログをすべて確認 4. ローカル環境とAWS環境の差分を調査 → 今回は、RedisではなくValkeyを使用していることが環境差分 株式会社きがるな 17 結局ここが大切
confidential 今回のハマりポイント 【Sidekiq(ライブラリ)】 Valkeyは使用可能、クラスタ構成はNG(Redisも同様) 【ログ】 接続エラー系のログのみを出力→接続設定が原因だと思い込む 【サーバーレス環境】 リソースの裏側がブラックボックス 【AI活用】 プロンプトエンジニアリングが足りていない
株式会社きがるな 18
confidential おわり ご清聴ありがとうございました。 株式会社きがるな 19 <Casusult をよろしく