0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Lambda】Lambda関数②

Posted at

同時実行数

同時実行数:ある時点で同時に実行されているLambda関数の数(デフォルトでは同一アカウントの同一リージョン内につき最大1,000)

  • 関数レベルの同時実行数を設定することも可能
  • アカウントレベルの同時実行数 - 関数レベルの同時実行数 = 他のLambda関数で共有される同時実行数

スロットリング

スロットリング:各アカウントごとに設定されているリソースの利用上限を超えた場合に、利用が制限されること

スロットリングされたリクエストの処理方法

イベントソースのタイプ 処理方法
同期呼び出し
(プッシュ型)
・429エラーを返却する
・リトライするためには、呼び出し元でリトライ作業を行う
非同期呼び出し
(プッシュ型)
・最大6時間自動的に間を空けてリトライする
・デッドレターキューを設定することで、スロットリングされた原因を調査可能
ストリームベース
(プル型)
・データの有効期限が切れるまでスロットリングされたデータの処理を試みる
・処理の順序を保つため、データの有効期限が切れるか処理が成功するまで同一のシャードから新しいレコードは読み込まない
キューベース
(プル型)
・正常に呼び出されるか、キューの期限に達するまでスロットリングされたレコードの処理を試みる

リトライ動作

Lambda関数の実行に失敗した場合の処理方法

イベントソースのタイプ 処理方法
同期呼び出し
(プッシュ型)
・429エラーを返却する
・リトライするためには、呼び出し元でリトライ作業を行う
非同期呼び出し
(プッシュ型)
・2回まで自動的に間を空けてリトライする
・デッドレターキューを設定することで、関数がエラーになった原因を調査可能
ストリームベース
(プル型)
データの有効期限が切れるまでエラーが発生したデータの処理を試みる
・処理の順序を保つため、データの有効期限が切れるか処理が成功するまで同一のシャードから新しいレコードは読み込まない
キューベース
(プル型)
・メッセージの処理に失敗すると、それをキューに返却する
・メッセージは可視性タイムアウト期間を過ぎると再度処理が可能になる

デバッグ

  • ログはCloudWatch Logsに出力される

    → エラー発生時にはログを確認することで原因を特定可能
  • マネージメントコンソール上でテスト実行することが出来、コンソール上に実行結果とログの出力も可能
  • **AWS SAM(Serverless Application Model)**というフレームワークを利用することで、Lambda関数をローカル環境で実行・テスト・デバッグすることが可能
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?