会員登録すると
学習することができます。
会員登録する(無料)
登録済みの方はこちら
ログイン

Lambdaの開発 ― 呼び出し方・設定・同時実行・失敗したイベントの行き先

目安学習時間 25分

課題

全問正解でレクチャー完了です。

【問題1】

平均の実行時間が0.4秒の関数に、1秒あたり300回のリクエストが来ます。必要な同時実行の目安はどれですか。

[選択肢]

【問題2】

非同期で呼ばれた Lambda 関数が、再試行しても失敗したイベントを残しておきたいときの設定として、適切なものはどれですか。

[選択肢]
会員登録すると
学習することができます。
会員登録する(無料)

学ぶ目的

3つの呼び出し方

  • 同期 … 呼んだ側が結果を待つ。API Gateway からの呼び出しなど。エラーは呼んだ側に返り、再試行するかは呼んだ側が決める
  • 非同期 … Lambda がイベントをキューに入れ、すぐに受け付けたと返す。S3 や SNS からの呼び出しなど。失敗すると Lambda が既定で2回再試行する
  • イベントソースマッピング … Lambda が SQS や DynamoDB Streams などを読みに行き、まとめて(バッチで)関数を呼ぶ

設定の値

メモリは 128 MB から 10,240 MB で、CPU はメモリに比例して割り当てられます。タイムアウトは最大 900 秒(15分)、環境変数は全部で 4 KB までです。

同時実行

同時実行は、同じ瞬間に動いている実行環境の数です。目安は「1秒あたりのリクエスト数 × 平均の実行秒数」で、1秒に200回、平均0.5秒なら100です。リージョンのアカウント全体の既定の上限は 1,000 です。予約された同時実行は関数に枠を確保すると同時に上限にもなり、超えるとスロットリングされます。プロビジョニングされた同時実行は、実行環境を前もって準備して、コールドスタート(初回の準備の遅れ)を減らします。

非同期の失敗の行き先

再試行しても失敗したイベントや、古くなって捨てられるイベントは、失敗時の送信先(destination)やデッドレターキューに送って残せます。同じイベントが2回届くこともあるので、処理は何度実行しても結果が同じ(冪等)になるように書きます。

このレクチャーで学ぶこと

  • 同期・非同期・イベントソースマッピングの違い
  • メモリ・タイムアウト・環境変数などの設定値
  • 同時実行の計算と、予約・プロビジョニングの違い
  • 非同期の再試行と、失敗したイベントの送り先

質問

まだ質問は投稿されていません。

質問投稿

ログイン後に質問の投稿ができます。