Slide 1

Slide 1 text

#aws #jawsug #AWSUserGroups #awscommunity #jaws_chibaraki 2025.01.25 JAWS-UGちばらき(茨城&千葉支部共同開催) #1 土浦からはじめます! 和田健一郎@Keni_W (全日本人)待望のS3トリガーの Lambda無限ループ対応について

Slide 2

Slide 2 text

自己紹介 氏名:和田 健一郎 JAWS-UG 千葉 運営メンバー SORACOM UG東京 運営メンバー Twitter: @Keni_W Facebook : kenichiro.wada.3 好きなAWSサービス : AWS Lambda Amazon Location Service AWS Community Builder(Serverless) SORACOM MVC 2022

Slide 3

Slide 3 text

今日話すこと • AWS Lambdaとは • 2023年の話 • 待望のS3トリガー検知 • まとめ JAWS-UGちばらき(茨城&千葉支部共同開催) #1

Slide 4

Slide 4 text

AWS Lambdaとは JAWS-UGちばらき(茨城&千葉支部共同開催) #1 • AWS Lambdaは現状、FaaS(Function as a Service) の代表格とも言える AWSのコンピューティングサービス です。 • マネージメントコンソールやAPIを利用して、コードの アップロードするだけで、実行することができます。 • つまり、開発者はサーバーの構築、管理は一切不要で、 コードの実装のみに集中することができます。 • また、リクエストに応じて、自動的にスケーリングを 行ってくれます。 • リクエスト毎の課金となるため、関数が実行されない時 には、一切料金が発生しません。そのため、Amazon EC2を利用した場合に比べて大幅に料金が下がるケース もあります。 (基礎から学ぶサーバーレス開発 SECTION-004より)

Slide 5

Slide 5 text

AWS Lambdaとは JAWS-UGちばらき(茨城&千葉支部共同開催) #1 サーバーのことを考えずに コードを実行する

Slide 6

Slide 6 text

JAWS-UGちばらき(茨城&千葉支部共同開催) #1 AWS Lambdaとは ちょっと目を閉じてください。 あなたはAWS Lambdaをデプロイしようとしていま す。 そのLambdaはS3にファイルが配置されるのを検知 して、起動し、別のバケットにファイルをコピーし ます。 でも・・・ あなたはコピー先のバケットがトリガー設定されて いるバケットであることに気づいていません。 ファイルがコピーされると、Lambdaが動き続きま す。 エラーというわけではないので、検知もされず、た だ、動き続けます。 そして翌月、請求が確定すると・・・

Slide 7

Slide 7 text

JAWS-UGちばらき(茨城&千葉支部共同開催) #1 AWS Lambdaとは 冷や汗かきましたよね・・・

Slide 8

Slide 8 text

JAWS-UGちばらき(茨城&千葉支部共同開催) #1 AWS Lambdaとは そんな人類に 神が降臨してきました。

Slide 9

Slide 9 text

JAWS-UGちばらき(茨城&千葉支部共同開催) #1 AWS Lambdaとは https://aws.amazon.com/jp/about-aws/whats-new/2023/07/aws-lambda-detects-recursive-loops-lambda-functions/

Slide 10

Slide 10 text

JAWS-UGちばらき(茨城&千葉支部共同開催) #1 2023年8月、JAWS-UG静岡にて、 以下のような発表を行いました。 2023年の話 https://speakerdeck.com/kwada/jaws-ug-shizuoka

Slide 11

Slide 11 text

JAWS-UGちばらき(茨城&千葉支部共同開催) #1 最後に、こんな希望を書いていたのですが・・・ 2023年の話

Slide 12

Slide 12 text

JAWS-UGちばらき(茨城&千葉支部共同開催) #1 待望のS3トリガー検知 https://aws.amazon.com/jp/about-aws/whats-new/2024/10/aws-lambda-detects-stops-recursive- loops-lambda-s3/ 2024年、ついにS3トリガーでの検知と停止が実装されました!

Slide 13

Slide 13 text

JAWS-UGちばらき(茨城&千葉支部共同開催) #1 待望のS3トリガー検知 すみません。 re:Invent前のアップデートだし、 だいぶ早めのアップデートの内容になります。 でも、個人的には重要なアップデートです!

Slide 14

Slide 14 text

待望のS3トリガー検知 JAWS-UGちばらき(茨城&千葉支部共同開催) #1 新たに検知されるようになった構成例 AWS Lambda Amazon CloudFront バケットA User ①ユーザーはCFn経由で、 ファイルをS3バケットA に アップロード ②S3トリガーでLambdaが起動。 Lambda関数内で、バケットBバケットA にファイルをコピーし、元のファイルを削除 ・ ・ ・ ③S3トリガーでLambdaが起動。 Lambda関数内で、バケットBバケットA にファイルをコピーし、元のファイルを削除 ④S3トリガーでLambdaが起動。 Lambda関数内で、バケットBバケットA にファイルをコピーし、元のファイルを削除 ⑤S3トリガーでLambdaが起動。 Lambda関数内で、バケットBバケットA にファイルをコピーし、元のファイルを削除

Slide 15

Slide 15 text

待望のS3トリガー検知 JAWS-UGちばらき(茨城&千葉支部共同開催) #1 せっかくなので、 実際試してみます。

Slide 16

Slide 16 text

待望のS3トリガー検知 JAWS-UGちばらき(茨城&千葉支部共同開催) #1 DEMO環境 AWS Lambda AWS Lambda バケットA ③S3トリガーでLambdaが起動。 Lambda関数内で、バケットA にファイルを配置 ・ ・ ・ ①ボタンクリックすると、 SORACOMプラットフォーム上のSORACOM Funk経由で、Lambda関数が実行される。 LTE-Mボタン SORACOM Funk ②Lambda関数内で バケットAにファイルを配置 ④S3トリガーでLambdaが起動。 Lambda関数内で、バケットA にファイルをコピーし、元のファイルを削除 ⑤S3トリガーでLambdaが起動。 Lambda関数内で、バケットA にファイルをコピーし、 元のファイルを削除 https://github.com/Kenichiro-Wada/aws-lambda-recursion-detection

Slide 17

Slide 17 text

待望のS3トリガー検知 JAWS-UGちばらき(茨城&千葉支部共同開催) #1 DEMO

Slide 18

Slide 18 text

待望のS3トリガー検知 JAWS-UGちばらき(茨城&千葉支部共同開催) #1 なお、意図的に無限ループを許可する方法があります。 設定 - 同時実行と再起の検出 – 再起ループ検出 こちらを変更します。

Slide 19

Slide 19 text

待望のS3トリガー検知 JAWS-UGちばらき(茨城&千葉支部共同開催) #1 「再起ループを許可する」を選ぶと、注意書きが表示されます。 ここは強い気持ちを持って選んで、保存してください。

Slide 20

Slide 20 text

待望のS3トリガー検知 JAWS-UGちばらき(茨城&千葉支部共同開催) #1 せっかくなので、 実際試してみます(ドキドキ)

Slide 21

Slide 21 text

待望のS3トリガー検知 JAWS-UGちばらき(茨城&千葉支部共同開催) #1 DEMO(その2)

Slide 22

Slide 22 text

まとめ JAWS-UGちばらき(茨城&千葉支部共同開催) #1 • AWS Lambdaの無限ループの検知& 停止にS3トリガーが追加。 • S3トリガーの無限ループの検知は きっと起こしたことがあるので、みん な助かるはず。

Slide 23

Slide 23 text

まとめ JAWS-UGちばらき(茨城&千葉支部共同開催) #1 ただ、 忘れちゃいけないことは

Slide 24

Slide 24 text

まとめ JAWS-UGちばらき(茨城&千葉支部共同開催) #1 ループになるような 構成・設定にしないこと!

Slide 25

Slide 25 text

まとめ JAWS-UGちばらき(茨城&千葉支部共同開催) #1 そもそもループになるような 構成・設定にしないこと!

Slide 26

Slide 26 text

まとめ JAWS-UGちばらき(茨城&千葉支部共同開催) #1 One More Thing...

Slide 27

Slide 27 text

JAWS-UGちばらき(茨城&千葉支部共同開催) #1 個人的 AWS re:Inventでの注目 新サービス・アップデート AWS re:Inventでの注目新サービス・アップデート

Slide 28

Slide 28 text

AWS re:Inventでの注目新サービス・アップデート JAWS-UGちばらき(茨城&千葉支部共同開催) #1 Amazon Nova

Slide 29

Slide 29 text

まとめ JAWS-UGちばらき(茨城&千葉支部共同開催) #1 モデルとしては、現状以下5つ。 • Pro : Text/Vision • Lite : Text/Vision • Micro : Text • Canvas : Image • Reel : Movie

Slide 30

Slide 30 text

JAWS-UGちばらき(茨城&千葉支部共同開催) #1 AWS re:Inventでの注目新サービス・アップデート 生成AI初心者なので、 Nova Canvasで遊んでます。

Slide 31

Slide 31 text

JAWS-UGちばらき(茨城&千葉支部共同開催) #1 • 個人的にはAmazonのモデルというこ とで、クレジット対象になっているの が嬉しいです。 AWS re:Inventでの注目新サービス・アップデート

Slide 32

Slide 32 text

JAWS-UGちばらき(茨城&千葉支部共同開催) #1 (去年もどこかで言ったんですが) 生成AI頑張っていきたいです。 (AIPの合格はギリギリなスコアでした) AWS re:Inventでの注目新サービス・アップデート

Slide 33

Slide 33 text

#jawsug ご静聴 ありがとう ございました JAWS-UGちばらき(茨城&千葉支部共同開催) #1