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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
そのだ
August 25, 2023
Technology
0
860
最近アップデートされたLambdaの再帰ループ検出使ってみた
https://connpass.com/event/285559/
そのだ
August 25, 2023
Tweet
Share
More Decks by そのだ
See All by そのだ
Google_ADKのSub_AgentをAgentic_Workflowに移行し_遷移成功率を改善した話.pdf
sonoda_mj
1
44
仕事はAIに任せてラスベガスへ行きたいのでDSPyで自分のクローンを作った
sonoda_mj
1
120
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
6
2.3k
RAGの基礎から実践運用まで:AWS BedrockとLangfuseで実現する構築・監視・評価
sonoda_mj
1
1.5k
Amazon Bedrock Knowledge Basesに Data Autometionを導入してみた
sonoda_mj
1
180
Amazon Bedrock Knowledge basesにLangfuse導入してみた
sonoda_mj
2
1.1k
AIエージェントに脈アリかどうかを分析させてみた
sonoda_mj
2
390
Amazon Bedrock Knowledge Basesのアップデート紹介
sonoda_mj
2
780
Snowflake未経験の人がSnowflakeに挑戦してみた
sonoda_mj
1
250
Other Decks in Technology
See All in Technology
AI駆動開発を事業のコアに置く
tasukuonizawa
1
400
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
(技術的には)社内システムもOKなブラウザエージェントを作ってみた!
har1101
0
330
OpenShiftでllm-dを動かそう!
jpishikawa
0
140
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.7k
Cosmos World Foundation Model Platform for Physical AI
takmin
0
980
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
340
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
480
22nd ACRi Webinar - 1Finity Tamura-san's slide
nao_sumikawa
0
110
Greatest Disaster Hits in Web Performance
guaca
0
300
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
520
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
760
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
920
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
220
BBQ
matthewcrist
89
10k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
58
50k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
170
Speed Design
sergeychernyshev
33
1.5k
WCS-LA-2024
lcolladotor
0
450
Embracing the Ebb and Flow
colly
88
5k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
70
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/