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
490
最近アップデートされたLambdaの再帰ループ検出使ってみた
https://connpass.com/event/285559/
そのだ
August 25, 2023
Tweet
Share
More Decks by そのだ
See All by そのだ
AWSでRAGを作る法方
sonoda_mj
1
140
緑一色アーキテクチャ
sonoda_mj
1
85
RAG構築におけるKendraとPineconeの使い分け
sonoda_mj
2
340
検索拡張生成(RAG)をAWSで作る方法
sonoda_mj
1
100
BedrockのToo Many Request解決してみた
sonoda_mj
1
1.2k
AmazonBedrockを使用した自作RAGの作り方
sonoda_mj
1
600
会社の公開ページとKnowledge Base for Amazon Bedrockを使ってRAG作ってみた
sonoda_mj
0
190
knowledge base fot amazon bedrockを使って、格安でRAG作ってみた
sonoda_mj
1
630
Step Functionsを使ってノーコードでDynamoDBにPutItemしてみた
sonoda_mj
2
390
Other Decks in Technology
See All in Technology
頼られるのが大好きな 皆さんへ - 支援相手との期待の合わせ方、突き放し方 -/For_people_who_like_to_be_relied_on
naitosatoshi
1
290
開発生産性をむしろ向上させる セキュリティパートナーの作り方 / Dev Productivity Con 2024
flatt_security
0
360
AOAI Dev Day LLMシステム開発 Tips集
hirosatogamo
15
3.7k
MySQLのロックの種類とその競合
yoku0825
6
1.6k
目標設定は好きですか? アジャイルとともに目標と向き合い続ける方法 / Do you like target Management?
kakehashi
10
3k
サービスの持続的な成長と技術負債について
siva_official
PRO
10
4.4k
コミュニティサービスに「あなたへ」フィードを リリースするまでの試行錯誤
takapy
1
150
Luupの開発組織におけるインシデントマネジメントの変遷 ver.RoadtoSRENEXT2024
grimoh
1
270
セキュリティ研修 Day1【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
Git 研修 Basic【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
310
GoとアクターモデルでES+CQRSを実践! / proto_actor_es_cqrs
ytake
1
150
エンジニアリングマネージャーはどう学んでいくのか #devsumi / How Do Engineering Managers Continue to Learn and Grow?
expajp
4
1.3k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1362
200k
Become a Pro
speakerdeck
PRO
15
4.8k
What's new in Ruby 2.0
geeforr
338
31k
BBQ
matthewcrist
82
9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
[RailsConf 2023] Rails as a piece of cake
palkan
35
4.4k
Facilitating Awesome Meetings
lara
46
5.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
189
16k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.5k
Writing Fast Ruby
sferik
623
60k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
20
7.2k
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/