Upgrade to Pro — share decks privately, control downloads, hide ads and more …

(全日本人)待望のS3トリガーの Lambda無限ループ対応について / chibaraki-1

(全日本人)待望のS3トリガーの Lambda無限ループ対応について / chibaraki-1

2025.01.25 JAWS-UGちばらき(茨城&千葉支部共同開催) #1 土浦からはじめます! の発表資料です。

Kenichiro Wada

January 26, 2025
Tweet

More Decks by Kenichiro Wada

Other Decks in Technology

Transcript

  1. 自己紹介 氏名:和田 健一郎 JAWS-UG 千葉 運営メンバー SORACOM UG東京 運営メンバー Twitter:

    @Keni_W Facebook : kenichiro.wada.3 好きなAWSサービス : AWS Lambda Amazon Location Service AWS Community Builder(Serverless) SORACOM MVC 2022
  2. AWS Lambdaとは JAWS-UGちばらき(茨城&千葉支部共同開催) #1 • AWS Lambdaは現状、FaaS(Function as a Service)

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

    ます。 でも・・・ あなたはコピー先のバケットがトリガー設定されて いるバケットであることに気づいていません。 ファイルがコピーされると、Lambdaが動き続きま す。 エラーというわけではないので、検知もされず、た だ、動き続けます。 そして翌月、請求が確定すると・・・
  4. 待望の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 にファイルをコピーし、元のファイルを削除
  5. 待望の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