フリーランス 技術調査ブログ

フリーランス/エンジニア Ruby Python Nodejs Vuejs React Dockerなどの調査技術調査の備忘録

Lambdaについて

Lambdaのメリット

コストが削減できる

実行時間に対する課金形態である。

高負荷に耐えられる

必要に応じてスケーリングすることも可能である

保守・運用に手間がかからない

OSやフレームワークなどの保守を必要としない

Lambdaの制限

前回のデータは保存されない

Lambdaの実行がおわったときに環境が破棄される、ステートレスな実行環境のもとで実行される

最大5稼働時間は5分間

最大稼働時間の設定をする必要がある。その時間を超過すると自動的に終了する。 設定できる最大の稼働時間は5分である。

イベントドリブン型のプログラム

イベントの発生によって、実行が開始される。例えば「S3にファイルがアップロードされた」。 APIGatewayのサービスと組み合わせてHTMLフォームやAjax通信などによるリクエストを処理することが可能である。

小さな関数を組み合わせて全体を作る

小さな関数をたくさん組み合わせてシステムを開発することができる。 キューイングサービスであるSQSやSNSを使うと関数同士を疎結合できる拡張性に優れたシステムを構築できる

Lambda関数の構造と設計

  • 規定の書式に従った関数として記述しないといけない。
  • 関数を作るときは関数のコードだけでなく、割り当てるメモリや最大実行可能な時間などの実行環境も設定する
  • テストイベントを作成してLambda関数を手動で実行できる。Lambda関数が実行されるとClodWatchLogsに書き込まれる。

参考文献

docs.aws.amazon.com

docs.aws.amazon.com