概要

2023/7/13にLambdaのアップデートが発表されました。
https://aws.amazon.com/jp/about-aws/whats-new/2023/07/aws-lambda-detects-recursive-loops-lambda-functions/

よし!!AWS勉強するぞーーー

フムフム、Lambdaで処理をしてSNSへ通知してみるか!

関数の書き方よくわからんし、、、コピペで試してみるか。。

Lambdaの再帰ループにより、無限課金状態に入る

気がついたら高額請求。。。。。300万円

やべ。。。。どうしよ

ってパターンをよく記事でみることがあると思いますが
そのパターンとかある程度防げるようになったアップデートです。
(※ 全てのアーキテクチャに対応しているわけではなく、条件があるので後ほど説明します。)

アップデート内容

わかりやすくお伝えすると、Lambdaの関数が呼び出された回数が16回を超えると自動で、関数の呼び出しを停止し、AWS Health Dashboard 通知や登録のメールへアラートを送信することが可能になった内容です。

システム例

検知可能なAWSサービス

  • SQS
  • Lambda
  • SNS

サポート対応可能なケース

(引用:Lamdaのドキュメントーサポートされている AWS サービス ーより

注意:

・S3やDynamoDBなどLambdaを使用しても上記以外のリソースが処理の中に含まれる場合は、検知しないので注意!!

設定方法

上記以外のリソースを含む場合、デフォルトで検知してくれるようになってます。
意図的にループ処理をさせたい場合は、AWSサポートへ問い合わせが必要。
(仕組み的には X-Ray トレースヘッダーが使用されているとか)

設定の追加料金は発生しないようです。

上記以外の高額請求対策のおすすめの設定

  • 全てのアーキテクチャに対応しているわけではない。
  • AWS Health Dashboardhとメール通知まで最大3時間のラグ

などがあるので、アカウント作成時にAWSのBudgetsや、CloudWatchを利用して請求アラートと設定することや日々の料金確認をするようにはしておいた方がいいですね。

まとめ

まだまだサポートされているAWSリソースが少ないのでこれからのアップデートに期待する内容でした。