
170
Lambdaは処理の時間だけ関数を起動する AWSのサーバーレスコンピ
ューティングサービスです。OSなどのインフラストラクチャーの管理は
AWSが対応しているため、利用者は関数コードを登録するだけで実行で
きます。関数処理時間だけ課金されるため、インフラストラクチャーの運
用コストを削減できます(図9-13)。
Lambdaは Java、Ruby、Python、Node.js、.NET、Go などのランタイムを
サポートし、外部ライブラリを共有できる機能を備えているイベント駆動
型の関数実行サービスです。イベントを実行するためには、トリガーを設
定する必要があります。トリガーは同期と非同期呼び出しの2 種類があり
ます。APIゲートウェイや手動実行が同期呼び出しトリガーに該当しま
す。1 回実行の同期呼び出しとは違い、非同期呼び出しではLambda側か
ら定期的にポーリングして、イベントが発生するたびに処理が実行されま
す。S3をトリガーとした非同期呼び出しの例を図9-14に記載しています。
Lambda関数が他の AWSサービスを操作できるようにするために、適切
な権限(必要最小限の権限)のある IAMロールをLambda 関数に関連づけ
る必要があります。
Lambdaの利用には制限があります。1回の実行につき15 分までという
起動時間の制限があり、長時間の処理は実行を分割するなどの設計が必要
です。また、関数の呼び出し回数が同一アカウントの同一リージョン内で
1,000 までという同時実行数の制限 ...