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
最近アップデートされたLambdaの再帰ループ検出使ってみた
Search
そのだ
August 25, 2023
Technology
0
750
最近アップデートされたLambdaの再帰ループ検出使ってみた
https://connpass.com/event/285559/
そのだ
August 25, 2023
Tweet
Share
More Decks by そのだ
See All by そのだ
RAGの基礎から実践運用まで:AWS BedrockとLangfuseで実現する構築・監視・評価
sonoda_mj
0
780
Amazon Bedrock Knowledge Basesに Data Autometionを導入してみた
sonoda_mj
1
70
Amazon Bedrock Knowledge basesにLangfuse導入してみた
sonoda_mj
2
770
AIエージェントに脈アリかどうかを分析させてみた
sonoda_mj
2
230
Amazon Bedrock Knowledge Basesのアップデート紹介
sonoda_mj
2
460
Snowflake未経験の人がSnowflakeに挑戦してみた
sonoda_mj
1
130
生成AIアプリのアップデートと配布の課題をCDK Pipelinesで解決してみた
sonoda_mj
0
440
AWSでRAGを作る方法
sonoda_mj
1
550
緑一色アーキテクチャ
sonoda_mj
2
280
Other Decks in Technology
See All in Technology
関数型プログラミングで 「脳がバグる」を乗り越える
manabeai
2
200
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
2
8k
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
10
130k
How Do I Contact HP Printer Support? [Full 2025 Guide for U.S. Businesses]
harrry1211
0
120
Lufthansa ®️ USA Contact Numbers: Complete 2025 Support Guide
lufthanahelpsupport
0
220
AI エージェントと考え直すデータ基盤
na0
15
4.6k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
54
20k
DatabricksにOLTPデータベース『Lakebase』がやってきた!
inoutk
0
130
Glacierだからってコストあきらめてない? / JAWS Meet Glacier Cost
taishin
1
170
事業成長の裏側:エンジニア組織と開発生産性の進化 / 20250703 Rinto Ikenoue
shift_evolve
PRO
3
22k
AIの全社活用を推進するための安全なレールを敷いた話
shoheimitani
2
550
高速なプロダクト開発を実現、創業期から掲げるエンタープライズアーキテクチャ
kawauso
3
9.7k
Featured
See All Featured
Site-Speed That Sticks
csswizardry
10
690
Large-scale JavaScript Application Architecture
addyosmani
512
110k
KATA
mclloyd
30
14k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Navigating Team Friction
lara
187
15k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
The Cult of Friendly URLs
andyhume
79
6.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
We Have a Design System, Now What?
morganepeng
53
7.7k
How to Ace a Technical Interview
jacobian
278
23k
Transcript
最近アップデートされたLambdaの 再帰ループ検出機能使ってみた フレッシュメンLT #0 夏祭り 2023.8.25 苑⽥朝彰 1
⾃⼰紹介 苑⽥ 朝彰(28) Sonoda Tomotada - ID - Github︓tomomj -
Twitter︓@sonoda_mj - Work at - 株式会社 Fusic (フュージック) 技術開発第⼆部⾨所属 - ソフトウェアエンジニアリング - 新卒3年⽬ - Skill - AWS/React(Native)/Ruby on Rails 2
アジェンダ 3 l 背景 l Lambdaの再帰ループ検出機能使ってみた l まとめ
01 背景
非エンジニアの同期M君 S3にcsvをアップロードしたら、 いい感じに処理してS3に格納し てほしい!!!
我エンジニアぞ〜〜〜 余裕なり
Lambda S3 CSVを取りに行く CSVをアップロード CSVを処理 CSVを格納 S3にCSVがアップロードされたらLambdaで処理してS3に格納
Lambda S3 CSVをアップロード おっCSVきたな
Lambda S3 CSVを処理 CSV処理してな〜
Lambda S3 CSVを格納 処理したで〜
Lambda S3 おっなんかまたCSVきたな
Lambda S3 CSVを処理 CSV処理してな〜
Lambda S3 CSVを格納 処理したで〜
Lambda S3 めっちゃCSV来るやん
Lambda S3 CSVを処理 CSV処理してな〜
Lambda S3 CSVを格納 処理したで〜
Lambda S3 頑張るで〜〜〜 ❓
Lambda S3 CSVを取りに行く CSVをアップロード CSVを処理 CSVを格納 「S3に入った時」というトリガーにしていたので、Lambdaによって送 られてきたCSVも処理されていた
その結果
無限に通知が来る ※当時のイメージ
無限円請求します ちゃんと払ってな
ですが
参考:https://aws.amazon.com/jp/about-aws/whats-new/2023/07/aws-lambda-detects-recursive-loops-lambda-functions/
02 Lambdaの再帰ループ 検出機能使ってみた
AWS Lambdaとは 25 サーバーレスでイベント駆動型のコンピューティングサービスであり、サーバーのプ ロビジョニングや管理をすることなく、事実上あらゆるタイプのアプリケーションや バックエンドサービスのコードを実行することができる。 参考:https://aws.amazon.com/jp/lambda/
再帰ループ検出機能とは 26 Lambda Amazon SQS 同じリクエストチェーンで関数が 16 回を超えて呼び出された場合、Lambda はそのリ クエストチェーン内の次の関数呼び出しを自動的に停止する
16回呼び出されてる から、関数の呼び出し を停止 参考:https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/invocation-recursion.html
サポートされているAWSサービス 27 引用:https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/invocation-recursion.html 【注意】S3とDynamoDBはまだ対応していない
構成図 28 ユーザーがS3に画像をアップロードし、SQSとLambdaで無理やり再帰ルー プを発生
03 実際にやってみた
検証⽅法 30 Lambda Amazon SQS 関数が 16 回を超えて停止したかどうかをCloudWatchで確認する。 16回呼び出されてる から、関数の呼び出し
を停止
CloudWatch(Invocations) 31 関数コードが呼び出された回数 (成功した呼び出しや関数エラーが発生した呼び出しを 含む)。 これ
CloudWatch(Recursive invocations dropped) 32 関数が無限再帰ループの一部であることが検出されたために Lambda が関数の呼び出 しを停止した回数。
今までの⽐較(再帰ループした場合) 33 従来のLambda アップデートされたLambda 呼び出し回数 無限回 呼び出し回数 16回
今までの⽐較(再帰ループした場合) 34 従来のLambda アップデートされたLambda 呼び出し回数 無限回 呼び出し回数 16回 実 質
無 限 円 お 得 ! ! !
04 まとめ
まとめ Lambdaの再帰ループ検出はかなり便利 Point 2 S3とDynamoDBは対応されていないので、注意が必要 36 Point 1
ご清聴いただきありがとうございました Thank You We are Hiring ! https://recruit.fusic.co.jp/